X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dashboard%2Fwebapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fcontroller%2FCustomResponseEntityExceptionHandler.java;fp=dashboard%2Fwebapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fcontroller%2FCustomResponseEntityExceptionHandler.java;h=f4a873d8d5c1936c602d35341fe9b08877dd5a81;hb=329b53efb578dd41a6de31eafd5f228f3f10987c;hp=a328e477899dd9aa6083ce379e4feb981b0e0c11;hpb=c204fe007d1569ad0ad9fbdb1041571ccf32696e;p=portal%2Fric-dashboard.git diff --git a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java index a328e477..f4a873d8 100644 --- a/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java +++ b/dashboard/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/controller/CustomResponseEntityExceptionHandler.java @@ -21,6 +21,7 @@ package org.oransc.ric.portal.dashboard.controller; import java.lang.invoke.MethodHandles; +import org.oransc.ric.portal.dashboard.exception.InvalidArgumentException; import org.oransc.ric.portal.dashboard.exception.StatsManagerException; import org.oransc.ric.portal.dashboard.exception.UnknownInstanceException; import org.slf4j.Logger; @@ -81,10 +82,10 @@ public class CustomResponseEntityExceptionHandler extends ResponseEntityExceptio * @return A response entity with status code 502 and an unstructured message. */ @ExceptionHandler({ RestClientResponseException.class }) - public final ResponseEntity handleProxyMethodException(Exception ex, WebRequest request) { + public final ResponseEntity handleRestClientResponse(Exception ex, WebRequest request) { // Capture the full stack trace in the log. if (log.isErrorEnabled()) - log.error("handleProxyMethodException: request " + request.getDescription(false), ex); + log.error("handleRestClientResponse: request " + request.getDescription(false), ex); if (ex instanceof HttpStatusCodeException) { HttpStatusCodeException hsce = (HttpStatusCodeException) ex; return ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(hsce.getResponseBodyAsString()); @@ -104,9 +105,24 @@ public class CustomResponseEntityExceptionHandler extends ResponseEntityExceptio * @return A response entity with status code 400 and an unstructured message. */ @ExceptionHandler({ UnknownInstanceException.class }) - public final ResponseEntity handleUnknownInstanceException(Exception ex, WebRequest request) { - log.warn("handleUnknownInstanceException: request {}, exception {}", request.getDescription(false), - ex.toString()); + public final ResponseEntity handleUnknownInstance(Exception ex, WebRequest request) { + log.warn("handleUnknownInstance: request {}, exception {}", request.getDescription(false), ex.toString()); + return ResponseEntity.badRequest().body(getShortExceptionMessage(ex)); + } + + /** + * Logs the error and generates a response when a REST controller method takes + * an InvalidArgumentException, an invalid JSON was sent. + * + * @param ex + * The exception + * @param request + * The original request + * @return A response entity with status code 400 and an unstructured message. + */ + @ExceptionHandler({ InvalidArgumentException.class }) + public final ResponseEntity handleInvalidArgument(Exception ex, WebRequest request) { + log.warn("handleInvalidArgument: request {}, exception {}", request.getDescription(false), ex.toString()); return ResponseEntity.badRequest().body(getShortExceptionMessage(ex)); } @@ -121,8 +137,8 @@ public class CustomResponseEntityExceptionHandler extends ResponseEntityExceptio * @return A response entity with status code 400 and an unstructured message. */ @ExceptionHandler({ StatsManagerException.class }) - public final ResponseEntity handleStatsManagerException(Exception ex, WebRequest request) { - log.warn("handleStatsManagerException: request {}, exception {}", request.getDescription(false), ex.toString()); + public final ResponseEntity handleStatsManager(Exception ex, WebRequest request) { + log.warn("handleStatsManager: request {}, exception {}", request.getDescription(false), ex.toString()); return ResponseEntity.badRequest().body(getShortExceptionMessage(ex)); }