1 package org.openkilda.security.mapper;
3 import static java.util.stream.Collectors.joining;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
8 import org.springframework.http.HttpStatus;
9 import org.springframework.http.ResponseEntity;
10 import org.springframework.web.bind.annotation.ControllerAdvice;
11 import org.springframework.web.bind.annotation.ExceptionHandler;
12 import org.springframework.web.context.request.WebRequest;
14 import java.util.Collections;
16 import javax.validation.ConstraintViolation;
17 import javax.validation.ConstraintViolationException;
19 import org.json.simple.JSONObject;
20 import org.json.simple.parser.JSONParser;
21 import org.json.simple.parser.ParseException;
40 _log.info(
"[CustomExceptionMapper] Initializing {}...",
51 @ExceptionHandler(
value = {Exception.class})
53 final WebRequest request) {
54 _log.error(
"Exception: " + ex.getMessage(), ex);
60 @ExceptionHandler(
value = {ConstraintViolationException.class})
62 final ConstraintViolationException ex,
final WebRequest request) {
63 _log.error(
"Exception: " + ex.getMessage(), ex);
64 String message = ex.getConstraintViolations().stream().map(ConstraintViolation::getMessage)
65 .sorted(Collections.reverseOrder()).collect(joining(
", "));
73 _log.error(
"Exception: " + ex.getMessage(), ex);
82 _log.error(
"Exception: " + ex.getMessage(), ex);
84 JSONParser jsonParser =
new JSONParser();
86 JSONObject jsonObject = (JSONObject) jsonParser.parse(ex.
getResponse());
88 String error_type = ex.toString();
89 if (jsonObject.get(
"error-message") != null) {
90 error_message = jsonObject.get(
"error-message").toString();
92 if (jsonObject.get(
"error-type") != null) {
93 error_message = jsonObject.get(
"error-type").toString();
97 }
catch (ParseException e) {
109 _log.error(
"Exception: " + ex.getMessage(), ex);
ResponseEntity< Object > constraintViolationExceptionHandler(final ConstraintViolationException ex, final WebRequest request)
ResponseEntity< Object > defaultExceptionHandler(final Exception ex, final WebRequest request)
ResponseEntity< Object > contentNotFoundExceptionHandler(final ContentNotFoundException ex, final WebRequest request)
ResponseEntity< Object > response(final HttpStatus status, final Integer code, final String auxilaryMessage, final String message)
ResponseEntity< Object > integrationExceptionHandler(final IntegrationException ex, final WebRequest request)
ResponseEntity< Object > invalidResponseExceptionHandler(final InvalidResponseException ex, final WebRequest request)