diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/AccessDeniedExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/AccessDeniedExceptionMapper.java index a4f78d637..fc58efa97 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/AccessDeniedExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/AccessDeniedExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.springframework.context.annotation.Scope; import org.springframework.security.access.AccessDeniedException; @@ -37,6 +38,7 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class AccessDeniedExceptionMapper implements ExceptionMapper { @Override @@ -44,6 +46,7 @@ public class AccessDeniedExceptionMapper implements ExceptionMapper { @Override public Response toResponse(@SuppressWarnings("unused") final BadCredentialsException exception) { + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); return Response.status(Status.UNAUTHORIZED).entity(ApiGlobalErrorResponse.unAuthenticated()).type(MediaType.APPLICATION_JSON) .build(); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidJsonExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidJsonExceptionMapper.java index a1799ca25..022052167 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidJsonExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidJsonExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.apache.fineract.infrastructure.core.exception.InvalidJsonException; import org.springframework.context.annotation.Scope; @@ -34,13 +35,14 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class InvalidJsonExceptionMapper implements ExceptionMapper { @Override public Response toResponse(@SuppressWarnings("unused") final InvalidJsonException exception) { - final String globalisationMessageCode = "error.msg.invalid.request.body"; final String defaultUserMessage = "The JSON provided in the body of the request is invalid or missing."; + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), defaultUserMessage); final ApiParameterError error = ApiParameterError.generalError(globalisationMessageCode, defaultUserMessage); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidTenantIdentifierExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidTenantIdentifierExceptionMapper.java index e17fb365c..f36ef4605 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidTenantIdentifierExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/InvalidTenantIdentifierExceptionMapper.java @@ -23,25 +23,28 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; -import org.apache.fineract.infrastructure.security.exception.InvalidTenantIdentiferException; +import org.apache.fineract.infrastructure.security.exception.InvalidTenantIdentifierException; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; /** - * An {@link ExceptionMapper} to map {@link InvalidTenantIdentiferException} thrown by platform during authentication + * An {@link ExceptionMapper} to map {@link InvalidTenantIdentifierException} thrown by platform during authentication * into a HTTP API friendly format. * - * The {@link InvalidTenantIdentiferException} is thrown by spring security on platform when a request contains an + * The {@link InvalidTenantIdentifierException} is thrown by spring security on platform when a request contains an * invalid tenant identifier. */ @Provider @Component @Scope("singleton") -public class InvalidTenantIdentifierExceptionMapper implements ExceptionMapper { +@Slf4j +public class InvalidTenantIdentifierExceptionMapper implements ExceptionMapper { @Override - public Response toResponse(@SuppressWarnings("unused") final InvalidTenantIdentiferException e) { + public Response toResponse(@SuppressWarnings("unused") final InvalidTenantIdentifierException exception) { + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); return Response.status(Status.UNAUTHORIZED).entity(ApiGlobalErrorResponse.invalidTenantIdentifier()) .type(MediaType.APPLICATION_JSON).build(); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/JsonSyntaxExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/JsonSyntaxExceptionMapper.java index dd3664a12..3961dea60 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/JsonSyntaxExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/JsonSyntaxExceptionMapper.java @@ -24,6 +24,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -34,13 +35,14 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class JsonSyntaxExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final JsonSyntaxException exception) { - final String globalisationMessageCode = "error.msg.invalid.request.body"; final String defaultUserMessage = "The JSON syntax provided in the body of the request is invalid: " + exception.getMessage(); + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), defaultUserMessage); final ApiParameterError error = ApiParameterError.generalError(globalisationMessageCode, defaultUserMessage); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/MalformedJsonExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/MalformedJsonExceptionMapper.java index 92ac18f0d..eed1029fe 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/MalformedJsonExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/MalformedJsonExceptionMapper.java @@ -24,6 +24,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @@ -34,13 +35,14 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class MalformedJsonExceptionMapper implements ExceptionMapper { @Override public Response toResponse(@SuppressWarnings("unused") final MalformedJsonException exception) { - final String globalisationMessageCode = "error.msg.invalid.request.body"; final String defaultUserMessage = "The JSON provided in the body of the request is invalid or missing."; + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), defaultUserMessage); final ApiParameterError error = ApiParameterError.generalError(globalisationMessageCode, defaultUserMessage); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/NoAuthorizationExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/NoAuthorizationExceptionMapper.java index 7fc2b3424..9e7ce5231 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/NoAuthorizationExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/NoAuthorizationExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.security.exception.NoAuthorizationException; import org.springframework.context.annotation.Scope; @@ -38,6 +39,7 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class NoAuthorizationExceptionMapper implements ExceptionMapper { @Override @@ -45,6 +47,7 @@ public class NoAuthorizationExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final PlatformApiDataValidationException exception) { - + log.warn("Exception: {}, Message: {}, Errors: {}", exception.getClass().getName(), exception.getMessage(), exception.getErrors()); final ApiGlobalErrorResponse dataValidationErrorResponse = ApiGlobalErrorResponse .badClientRequest(exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getErrors()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDataIntegrityExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDataIntegrityExceptionMapper.java index 304ec2a5c..28feac730 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDataIntegrityExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDataIntegrityExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.exception.PlatformDataIntegrityException; import org.springframework.context.annotation.Scope; @@ -38,11 +39,12 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class PlatformDataIntegrityExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final PlatformDataIntegrityException exception) { - + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); final ApiGlobalErrorResponse dataIntegrityError = ApiGlobalErrorResponse.dataIntegrityError(exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getParameterName(), exception.getDefaultUserMessageArgs()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDomainRuleExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDomainRuleExceptionMapper.java index 6ca3fd06f..35e16e7d6 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDomainRuleExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformDomainRuleExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.exception.AbstractPlatformDomainRuleException; import org.springframework.context.annotation.Scope; @@ -38,11 +39,12 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class PlatformDomainRuleExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final AbstractPlatformDomainRuleException exception) { - + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); final ApiGlobalErrorResponse notFoundErrorResponse = ApiGlobalErrorResponse.domainRuleViolation( exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getDefaultUserMessageArgs()); // request understood but not carried out due to it violating some diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformInternalServerExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformInternalServerExceptionMapper.java index d10a0af43..b99b04917 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformInternalServerExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformInternalServerExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.exception.PlatformInternalServerException; import org.springframework.context.annotation.Scope; @@ -37,11 +38,12 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class PlatformInternalServerExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final PlatformInternalServerException exception) { - + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); final ApiGlobalErrorResponse notFoundErrorResponse = ApiGlobalErrorResponse.serverSideError(exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getDefaultUserMessageArgs()); return Response.status(Status.INTERNAL_SERVER_ERROR).entity(notFoundErrorResponse).type(MediaType.APPLICATION_JSON).build(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformResourceNotFoundExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformResourceNotFoundExceptionMapper.java index 6cd9835f2..90ee4462b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformResourceNotFoundExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformResourceNotFoundExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.exception.AbstractPlatformResourceNotFoundException; import org.springframework.context.annotation.Scope; @@ -38,11 +39,12 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class PlatformResourceNotFoundExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final AbstractPlatformResourceNotFoundException exception) { - + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); final ApiGlobalErrorResponse notFoundErrorResponse = ApiGlobalErrorResponse.notFound(exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getDefaultUserMessageArgs()); return Response.status(Status.NOT_FOUND).entity(notFoundErrorResponse).type(MediaType.APPLICATION_JSON).build(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformServiceUnavailableExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformServiceUnavailableExceptionMapper.java index b9c216c14..f5c30e656 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformServiceUnavailableExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/PlatformServiceUnavailableExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.exception.AbstractPlatformServiceUnavailableException; import org.springframework.context.annotation.Scope; @@ -39,10 +40,12 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class PlatformServiceUnavailableExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final AbstractPlatformServiceUnavailableException exception) { + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); final ApiGlobalErrorResponse serviceUnavailableExceptionResponse = ApiGlobalErrorResponse.serviceUnavailable( exception.getGlobalisationMessageCode(), exception.getDefaultUserMessage(), exception.getDefaultUserMessageArgs()); return Response.status(Status.SERVICE_UNAVAILABLE).entity(serviceUnavailableExceptionResponse).type(MediaType.APPLICATION_JSON) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java index aa8092de1..0d7a20177 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java @@ -23,6 +23,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.useradministration.exception.UnAuthenticatedUserException; import org.springframework.context.annotation.Scope; @@ -35,11 +36,13 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class UnAuthenticatedUserExceptionMapper implements ExceptionMapper { @Override public Response toResponse(@SuppressWarnings("unused") final UnAuthenticatedUserException exception) { // Status code 401 really reads as: "Unauthenticated": + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), exception.getMessage()); return Response.status(Status.UNAUTHORIZED).entity(ApiGlobalErrorResponse.unAuthenticated()).type(MediaType.APPLICATION_JSON) .build(); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnrecognizedQueryParamExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnrecognizedQueryParamExceptionMapper.java index b441a2c80..8479e01bf 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnrecognizedQueryParamExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnrecognizedQueryParamExceptionMapper.java @@ -25,6 +25,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.apache.fineract.infrastructure.core.exception.UnrecognizedQueryParamException; @@ -41,11 +42,11 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class UnrecognizedQueryParamExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final UnrecognizedQueryParamException exception) { - final String parameterName = exception.getQueryParamKey(); final String parameterValue = exception.getQueryParamValue(); @@ -54,6 +55,7 @@ public class UnrecognizedQueryParamExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final UnsupportedCommandException exception) { - final List errors = new ArrayList<>(); final StringBuilder validationErrorCode = new StringBuilder("error.msg.command.unsupported"); final StringBuilder defaultEnglishMessage = new StringBuilder("The command ").append(exception.getUnsupportedCommandName()) .append(" is not supported."); + log.warn("Exception: {}, Message: {}", exception.getClass().getName(), defaultEnglishMessage); final ApiParameterError error = ApiParameterError.parameterError(validationErrorCode.toString(), defaultEnglishMessage.toString(), exception.getUnsupportedCommandName(), exception.getUnsupportedCommandName()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnsupportedParameterExceptionMapper.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnsupportedParameterExceptionMapper.java index 9f3b40f40..879cc2d2a 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnsupportedParameterExceptionMapper.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/exceptionmapper/UnsupportedParameterExceptionMapper.java @@ -25,6 +25,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; +import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse; import org.apache.fineract.infrastructure.core.data.ApiParameterError; import org.apache.fineract.infrastructure.core.exception.UnsupportedParameterException; @@ -38,11 +39,11 @@ import org.springframework.stereotype.Component; @Provider @Component @Scope("singleton") +@Slf4j public class UnsupportedParameterExceptionMapper implements ExceptionMapper { @Override public Response toResponse(final UnsupportedParameterException exception) { - final List errors = new ArrayList<>(); for (final String parameterName : exception.getUnsupportedParameters()) { @@ -54,6 +55,7 @@ public class UnsupportedParameterExceptionMapper implements ExceptionMapper