add default exception handling to VidRestrictedBaseController 28/92928/1
authorEylon Malin <eylon.malin@intl.att.com>
Wed, 7 Aug 2019 16:39:53 +0000 (19:39 +0300)
committerEylon Malin <eylon.malin@intl.att.com>
Wed, 7 Aug 2019 16:39:53 +0000 (19:39 +0300)
Issue-ID: VID-378
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Change-Id: Ie5bac35975257ad092c75e8e7e7dfd8fefa0363e

vid-app-common/src/main/java/org/onap/vid/controller/VidRestrictedBaseController.java

index f1e3a28..6238040 100644 (file)
@@ -24,6 +24,9 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.onap.portalsdk.core.controller.RestrictedBaseController;
 import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.vid.exceptions.AccessDeniedException;
+import org.onap.vid.exceptions.NotFoundException;
+import org.onap.vid.exceptions.OperationNotAllowedException;
 import org.onap.vid.model.ExceptionResponse;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -33,7 +36,10 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.method.annotation.MethodArgumentTypeMismatchException;
 
 import static org.onap.vid.utils.Logging.getMethodCallerName;
+import static org.springframework.http.HttpStatus.FORBIDDEN;
 import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
+import static org.springframework.http.HttpStatus.METHOD_NOT_ALLOWED;
+import static org.springframework.http.HttpStatus.NOT_FOUND;
 
 public abstract class VidRestrictedBaseController extends RestrictedBaseController {
 
@@ -59,4 +65,22 @@ public abstract class VidRestrictedBaseController extends RestrictedBaseControll
     public ExceptionResponse exceptionHandler(Exception e) {
         return ControllersUtils.handleException(e, LOGGER);
     }
+
+    @ExceptionHandler(NotFoundException.class)
+    @ResponseStatus(value=NOT_FOUND)
+    public ExceptionResponse notFoundExceptionHandler(Exception e) {
+        return ControllersUtils.handleException(e, LOGGER);
+    }
+
+    @ExceptionHandler(AccessDeniedException.class)
+    @ResponseStatus(value=FORBIDDEN)
+    public ExceptionResponse accessDeniedExceptionHandler(Exception e) {
+        return ControllersUtils.handleException(e, LOGGER);
+    }
+
+    @ExceptionHandler(OperationNotAllowedException.class)
+    @ResponseStatus(value=METHOD_NOT_ALLOWED)
+    public ExceptionResponse illegalStateExceptionHandler(Exception e) {
+        return ControllersUtils.handleException(e, LOGGER);
+    }
 }