diff options
author | ToineSiebelink <toine.siebelink@est.tech> | 2024-04-09 18:39:51 +0100 |
---|---|---|
committer | ToineSiebelink <toine.siebelink@est.tech> | 2024-04-10 11:47:06 +0100 |
commit | 693cfdd2467d01bf9a90f588ba827454a7b20f33 (patch) | |
tree | 2d9a3e3e587d4b5e7909c4748e1c105b5f1a2483 /cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java | |
parent | 868ff64f0f1873518b1a2225e5c35fa89fdc6d33 (diff) |
Introduce and handle Operation Too Large Exception for batch operations
Issue-ID: CPS-2164
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Iec05d2013be4f971309f0e75d84dc5d0936eb8ef
Diffstat (limited to 'cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java')
-rwxr-xr-x | cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java index 7498c5f6ce..d323691916 100755 --- a/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java +++ b/cps-ncmp-rest/src/main/java/org/onap/cps/ncmp/rest/exceptions/NetworkCmProxyRestExceptionHandler.java @@ -1,7 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021 Pantheon.tech - * Modifications Copyright (C) 2021-2023 Nordix Foundation + * Modifications Copyright (C) 2021-2024 Nordix Foundation * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,8 +60,7 @@ public class NetworkCmProxyRestExceptionHandler { * @return response with response code 500. */ @ExceptionHandler - public static ResponseEntity<Object> handleInternalServerErrorExceptions( - final Exception exception) { + public static ResponseEntity<Object> handleInternalServerErrorExceptions(final Exception exception) { return buildErrorResponse(HttpStatus.INTERNAL_SERVER_ERROR, exception); } @@ -73,7 +72,7 @@ public class NetworkCmProxyRestExceptionHandler { @ExceptionHandler({HttpClientRequestException.class}) public static ResponseEntity<Object> handleClientRequestExceptions( final HttpClientRequestException httpClientRequestException) { - return wrapDmiErrorResponse(HttpStatus.BAD_GATEWAY, httpClientRequestException); + return wrapDmiErrorResponse(httpClientRequestException); } @ExceptionHandler({DmiRequestException.class, DataValidationException.class, OperationNotSupportedException.class, @@ -88,10 +87,15 @@ public class NetworkCmProxyRestExceptionHandler { } @ExceptionHandler({DataNodeNotFoundException.class}) - public static ResponseEntity<Object> handleNotFoundExceptions(final CpsException exception) { + public static ResponseEntity<Object> handleNotFoundExceptions(final Exception exception) { return buildErrorResponse(HttpStatus.NOT_FOUND, exception); } + @ExceptionHandler({PayloadTooLargeException.class}) + public static ResponseEntity<Object> handlePayloadTooLargeExceptions(final Exception exception) { + return buildErrorResponse(HttpStatus.PAYLOAD_TOO_LARGE, exception); + } + private static ResponseEntity<Object> buildErrorResponse(final HttpStatus status, final Exception exception) { if (exception.getCause() != null || !(exception instanceof CpsException)) { log.error("Exception occurred", exception); @@ -111,15 +115,14 @@ public class NetworkCmProxyRestExceptionHandler { return new ResponseEntity<>(errorMessage, status); } - private static ResponseEntity<Object> wrapDmiErrorResponse( - final HttpStatus httpStatus, - final HttpClientRequestException httpClientRequestException) { + private static ResponseEntity<Object> wrapDmiErrorResponse(final HttpClientRequestException + httpClientRequestException) { final var dmiErrorMessage = new DmiErrorMessage(); final var dmiErrorResponse = new DmiErrorMessageDmiResponse(); dmiErrorResponse.setHttpCode(httpClientRequestException.getHttpStatus()); dmiErrorResponse.setBody(httpClientRequestException.getDetails()); dmiErrorMessage.setMessage(httpClientRequestException.getMessage()); dmiErrorMessage.setDmiResponse(dmiErrorResponse); - return new ResponseEntity<>(dmiErrorMessage, httpStatus); + return new ResponseEntity<>(dmiErrorMessage, HttpStatus.BAD_GATEWAY); } } |