summaryrefslogtreecommitdiffstats
path: root/cps-rest
diff options
context:
space:
mode:
authorniamhcore <niamh.core@est.tech>2021-03-09 14:23:52 +0000
committerniamhcore <niamh.core@est.tech>2021-03-26 11:14:20 +0000
commit386658dbc8d2bf156a29537c5edb80ba574abb17 (patch)
tree5bbc4c88ca95d6220085682ae715e4e24fb65da3 /cps-rest
parentbe5cd5b36e092d1fb0a34d2a7007da9a5c7a2378 (diff)
Improve error reporting for invalid cps path query
Issue-ID: CPS-276 Signed-off-by: niamhcore <niamh.core@est.tech> Change-Id: I0e0abbaff32c936c67fc1092dc8385a0bc5ae49e
Diffstat (limited to 'cps-rest')
-rw-r--r--cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java8
-rw-r--r--cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy4
2 files changed, 9 insertions, 3 deletions
diff --git a/cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java b/cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java
index 2599dc4f01..6e851519a7 100644
--- a/cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java
+++ b/cps-rest/src/main/java/org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java
@@ -23,9 +23,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.onap.cps.rest.controller.AdminRestController;
import org.onap.cps.rest.controller.DataRestController;
+import org.onap.cps.rest.controller.QueryRestController;
import org.onap.cps.rest.model.ErrorMessage;
import org.onap.cps.spi.exceptions.CpsAdminException;
import org.onap.cps.spi.exceptions.CpsException;
+import org.onap.cps.spi.exceptions.CpsPathException;
import org.onap.cps.spi.exceptions.DataInUseException;
import org.onap.cps.spi.exceptions.DataNodeNotFoundException;
import org.onap.cps.spi.exceptions.DataValidationException;
@@ -37,7 +39,8 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@Slf4j
-@RestControllerAdvice(assignableTypes = {AdminRestController.class, DataRestController.class})
+@RestControllerAdvice(assignableTypes = {AdminRestController.class, DataRestController.class,
+ QueryRestController.class})
public class CpsRestExceptionHandler {
private CpsRestExceptionHandler() {
@@ -54,7 +57,8 @@ public class CpsRestExceptionHandler {
return buildErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR, exception);
}
- @ExceptionHandler({ModelValidationException.class, DataValidationException.class, CpsAdminException.class})
+ @ExceptionHandler({ModelValidationException.class, DataValidationException.class, CpsAdminException.class,
+ CpsPathException.class})
public static ResponseEntity<Object> handleBadRequestExceptions(final CpsException exception) {
return buildErrorResponse(HttpStatus.BAD_REQUEST, exception.getMessage(), extractDetails(exception));
}
diff --git a/cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy b/cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy
index bb9199e6a6..f9ada9a213 100644
--- a/cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy
+++ b/cps-rest/src/test/groovy/org/onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy
@@ -35,6 +35,7 @@ import org.onap.cps.api.CpsModuleService
import org.onap.cps.api.CpsQueryService
import org.onap.cps.spi.exceptions.AnchorAlreadyDefinedException
import org.onap.cps.spi.exceptions.CpsException
+import org.onap.cps.spi.exceptions.CpsPathException
import org.onap.cps.spi.exceptions.DataInUseException
import org.onap.cps.spi.exceptions.DataValidationException
import org.onap.cps.spi.exceptions.ModelValidationException
@@ -147,7 +148,8 @@ class CpsRestExceptionHandlerSpec extends Specification {
where: 'the following exceptions are thrown'
exceptionThrown << [new ModelValidationException(errorMessage, errorDetails, null),
- new DataValidationException(errorMessage, errorDetails, null)]
+ new DataValidationException(errorMessage, errorDetails, null),
+ new CpsPathException(errorMessage,errorDetails)]
}
@Unroll