From 63be201ed60ca0d0b16ebe5a1a9d3a8e3f7b8482 Mon Sep 17 00:00:00 2001 From: niamhcore Date: Mon, 15 Mar 2021 15:54:12 +0000 Subject: Internal Server Error when creating the same data node twice This change adds a generic exception handler class for a already defined object and handles a JsonSyntaxException. Issue-ID: CPS-290 Signed-off-by: niamhcore Change-Id: Ie645237b5dd5b8e2b1d074c5613e7da560f57484 --- .../org/onap/cps/rest/exceptions/CpsRestExceptionHandler.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cps-rest/src/main/java') 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 7719417c1..0437e70fe 100755 --- 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 @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2020 Pantheon.tech + * Copyright (C) 2021 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,6 +25,7 @@ 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.AlreadyDefinedException; import org.onap.cps.spi.exceptions.CpsAdminException; import org.onap.cps.spi.exceptions.CpsException; import org.onap.cps.spi.exceptions.CpsPathException; @@ -42,8 +44,6 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; QueryRestController.class}) public class CpsRestExceptionHandler { - private static final String CHECK_LOGS_FOR_DETAILS = "Check logs for details."; - private CpsRestExceptionHandler() { } @@ -54,8 +54,7 @@ public class CpsRestExceptionHandler { * @return response with response code 500. */ @ExceptionHandler - public static ResponseEntity handleInternalServerErrorExceptions( - final Exception exception) { + public static ResponseEntity handleInternalServerErrorExceptions(final Exception exception) { return buildErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR, exception); } @@ -70,7 +69,7 @@ public class CpsRestExceptionHandler { return buildErrorResponse(HttpStatus.NOT_FOUND, exception); } - @ExceptionHandler({DataInUseException.class}) + @ExceptionHandler({DataInUseException.class, AlreadyDefinedException.class}) public static ResponseEntity handleDataInUseException(final CpsException exception) { return buildErrorResponse(HttpStatus.CONFLICT, exception); } @@ -88,7 +87,7 @@ public class CpsRestExceptionHandler { errorMessage.setStatus(status.toString()); errorMessage.setMessage(exception.getMessage()); errorMessage.setDetails(exception instanceof CpsException ? ((CpsException) exception).getDetails() : - CHECK_LOGS_FOR_DETAILS); + "Check logs for details."); return new ResponseEntity<>(errorMessage, status); } } -- cgit 1.2.3-korg