11package org .bugzkit .api .shared .error .handling ;
22
33import jakarta .annotation .Nonnull ;
4+ import lombok .extern .slf4j .Slf4j ;
45import org .bugzkit .api .shared .error .ErrorMessage ;
56import org .bugzkit .api .shared .error .exception .BadRequestException ;
67import org .bugzkit .api .shared .error .exception .ConflictException ;
78import org .bugzkit .api .shared .error .exception .ResourceNotFoundException ;
89import org .bugzkit .api .shared .error .exception .TooManyRequestsException ;
910import org .bugzkit .api .shared .error .exception .UnauthorizedException ;
10- import org .bugzkit .api .shared .logger .CustomLogger ;
1111import org .bugzkit .api .shared .message .service .MessageService ;
1212import org .springframework .http .HttpHeaders ;
1313import org .springframework .http .HttpStatus ;
2828import org .springframework .web .method .annotation .MethodArgumentTypeMismatchException ;
2929import org .springframework .web .servlet .mvc .method .annotation .ResponseEntityExceptionHandler ;
3030
31+ @ Slf4j
3132@ ControllerAdvice
3233public class CustomExceptionHandler extends ResponseEntityExceptionHandler {
3334 private final MessageService messageService ;
34- private final CustomLogger customLogger ;
3535
36- public CustomExceptionHandler (MessageService messageService , CustomLogger customLogger ) {
36+ public CustomExceptionHandler (MessageService messageService ) {
3737 this .messageService = messageService ;
38- this .customLogger = customLogger ;
3938 }
4039
4140 @ Override
@@ -44,7 +43,7 @@ protected ResponseEntity<Object> handleMethodArgumentNotValid(
4443 @ Nonnull HttpHeaders headers ,
4544 @ Nonnull HttpStatusCode statusCode ,
4645 @ Nonnull WebRequest request ) {
47- customLogger .error ("Invalid arguments" , e );
46+ log .error ("Invalid arguments" , e );
4847 final var status = (HttpStatus ) statusCode ;
4948 final var errorMessage = new ErrorMessage (status );
5049 final var result = e .getBindingResult ();
@@ -67,57 +66,57 @@ private HttpHeaders setHeaders() {
6766
6867 @ ExceptionHandler ({BadRequestException .class })
6968 public ResponseEntity <Object > handleBadRequestException (BadRequestException e ) {
70- customLogger .error ("Bad request" , e );
69+ log .error ("Bad request" , e );
7170 return createError (e .getStatus (), messageService .getMessage (e .getMessage ()));
7271 }
7372
7473 @ ExceptionHandler ({UnauthorizedException .class })
7574 public ResponseEntity <Object > handleUnauthorizedException (UnauthorizedException e ) {
76- customLogger .error ("Unauthorized" , e );
75+ log .error ("Unauthorized" , e );
7776 return createError (e .getStatus (), messageService .getMessage (e .getMessage ()));
7877 }
7978
8079 @ ExceptionHandler ({ResourceNotFoundException .class })
8180 public ResponseEntity <Object > handleResourceNotFoundException (ResourceNotFoundException e ) {
82- customLogger .error ("Resource not found" , e );
81+ log .error ("Resource not found" , e );
8382 return createError (e .getStatus (), messageService .getMessage (e .getMessage ()));
8483 }
8584
8685 @ ExceptionHandler ({ConflictException .class })
8786 public ResponseEntity <Object > handleConflictException (ConflictException e ) {
88- customLogger .error ("Conflict" , e );
87+ log .error ("Conflict" , e );
8988 return createError (e .getStatus (), messageService .getMessage (e .getMessage ()));
9089 }
9190
9291 @ ExceptionHandler ({TooManyRequestsException .class })
9392 public ResponseEntity <Object > handleTooManyRequestsException (TooManyRequestsException e ) {
94- customLogger .error ("Too many requests" , e );
93+ log .error ("Too many requests" , e );
9594 return createError (e .getStatus (), messageService .getMessage (e .getMessage ()));
9695 }
9796
9897 @ ExceptionHandler ({AuthenticationException .class })
9998 public ResponseEntity <Object > handleAuthenticationException (AuthenticationException e ) {
10099 if (e instanceof DisabledException ) {
101- customLogger .error ("User not active" , e );
100+ log .error ("User not active" , e );
102101 return createError (HttpStatus .FORBIDDEN , messageService .getMessage ("user.notActive" ));
103102 } else if (e instanceof LockedException ) {
104- customLogger .error ("User locked" , e );
103+ log .error ("User locked" , e );
105104 return createError (HttpStatus .FORBIDDEN , messageService .getMessage ("user.lock" ));
106105 } else {
107- customLogger .error ("Auth failed" , e );
106+ log .error ("Auth failed" , e );
108107 return createError (HttpStatus .UNAUTHORIZED , messageService .getMessage ("auth.unauthorized" ));
109108 }
110109 }
111110
112111 @ ExceptionHandler ({AuthorizationDeniedException .class })
113112 public ResponseEntity <Object > handleAuthorizationDeniedException (AuthorizationDeniedException e ) {
114- customLogger .error ("Forbidden" , e );
113+ log .error ("Forbidden" , e );
115114 return createError (HttpStatus .FORBIDDEN , messageService .getMessage ("auth.forbidden" ));
116115 }
117116
118117 @ ExceptionHandler ({Exception .class })
119118 public ResponseEntity <Object > handleGlobalException (Exception e ) {
120- customLogger .error ("Exception" , e );
119+ log .error ("Exception" , e );
121120 return createError (
122121 HttpStatus .INTERNAL_SERVER_ERROR , messageService .getMessage ("server.internalError" ));
123122 }
@@ -128,7 +127,7 @@ protected ResponseEntity<Object> handleMissingServletRequestParameter(
128127 @ Nonnull HttpHeaders headers ,
129128 @ Nonnull HttpStatusCode statusCode ,
130129 @ Nonnull WebRequest request ) {
131- customLogger .error ("Parameter missing" , e );
130+ log .error ("Parameter missing" , e );
132131 return createError (
133132 (HttpStatus ) statusCode , messageService .getMessage ("request.parameterMissing" ));
134133 }
@@ -139,7 +138,7 @@ protected ResponseEntity<Object> handleHttpRequestMethodNotSupported(
139138 @ Nonnull HttpHeaders headers ,
140139 @ Nonnull HttpStatusCode statusCode ,
141140 @ Nonnull WebRequest request ) {
142- customLogger .error ("Method not supported" , e );
141+ log .error ("Method not supported" , e );
143142 return createError (
144143 (HttpStatus ) statusCode , messageService .getMessage ("request.methodNotSupported" ));
145144 }
@@ -150,15 +149,15 @@ protected ResponseEntity<Object> handleHttpMessageNotReadable(
150149 @ Nonnull HttpHeaders headers ,
151150 @ Nonnull HttpStatusCode statusCode ,
152151 @ Nonnull WebRequest request ) {
153- customLogger .error ("Message not readable" , e );
152+ log .error ("Message not readable" , e );
154153 return createError (
155154 (HttpStatus ) statusCode , messageService .getMessage ("request.messageNotReadable" ));
156155 }
157156
158157 @ ExceptionHandler ({MethodArgumentTypeMismatchException .class })
159158 public ResponseEntity <Object > handleMethodArgumentTypeMismatch (
160159 MethodArgumentTypeMismatchException e ) {
161- customLogger .error ("Parameter type mismatch" , e );
160+ log .error ("Parameter type mismatch" , e );
162161 return createError (
163162 HttpStatus .BAD_REQUEST , messageService .getMessage ("request.parameterTypeMismatch" ));
164163 }
0 commit comments