From 2968b0e0037fa238c13290df43b2306524f5271b Mon Sep 17 00:00:00 2001 From: niamhcore Date: Tue, 9 Mar 2021 14:23:52 +0000 Subject: Improve error reporting for invalid cps path query Issue-ID: CPS-276 Signed-off-by: niamhcore Change-Id: I0e0abbaff32c936c67fc1092dc8385a0bc5ae49e --- .../org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java | 8 ++++++-- .../onap/cps/rest/exceptions/CpsRestExceptionHandlerSpec.groovy | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'cps-rest') 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 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 5ddc9d95b6..89b6b89364 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 @@ -30,6 +30,7 @@ import org.onap.cps.api.CpsQueryService import org.onap.cps.rest.controller.RestControllerSpecification 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 @@ -148,7 +149,8 @@ class CpsRestExceptionHandlerSpec extends RestControllerSpecification { 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 -- cgit 1.2.3-korg