Refactor Spring Data examples
This commit is contained in:
parent
e5597d87ce
commit
506ac8301b
|
@ -22,9 +22,15 @@ public class ValidatorEventRegister implements InitializingBean {
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() throws Exception {
|
public void afterPropertiesSet() throws Exception {
|
||||||
List<String> events = Arrays.asList("beforeCreate", "afterCreate", "beforeSave", "afterSave", "beforeLinkSave", "afterLinkSave", "beforeDelete", "afterDelete");
|
List<String> events = Arrays.asList("beforeCreate", "afterCreate", "beforeSave", "afterSave", "beforeLinkSave", "afterLinkSave", "beforeDelete", "afterDelete");
|
||||||
|
|
||||||
for (Map.Entry<String, Validator> entry : validators.entrySet()) {
|
for (Map.Entry<String, Validator> entry : validators.entrySet()) {
|
||||||
events.stream().filter(p -> entry.getKey().startsWith(p)).findFirst().ifPresent(p -> validatingRepositoryEventListener.addValidator(p, entry.getValue()));
|
events
|
||||||
|
.stream()
|
||||||
|
.filter(p -> entry
|
||||||
|
.getKey()
|
||||||
|
.startsWith(p))
|
||||||
|
.findFirst()
|
||||||
|
.ifPresent(p -> validatingRepositoryEventListener.addValidator(p, entry.getValue()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
package com.baeldung.exception.handlers;
|
package com.baeldung.exception.handlers;
|
||||||
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import org.springframework.data.rest.core.RepositoryConstraintViolationException;
|
import org.springframework.data.rest.core.RepositoryConstraintViolationException;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.validation.ObjectError;
|
||||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||||
import org.springframework.web.context.request.WebRequest;
|
import org.springframework.web.context.request.WebRequest;
|
||||||
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
|
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
|
||||||
|
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ControllerAdvice
|
@ControllerAdvice
|
||||||
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
|
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
|
||||||
|
|
||||||
|
@ -18,8 +19,13 @@ public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionH
|
||||||
public ResponseEntity<Object> handleAccessDeniedException(Exception ex, WebRequest request) {
|
public ResponseEntity<Object> handleAccessDeniedException(Exception ex, WebRequest request) {
|
||||||
RepositoryConstraintViolationException nevEx = (RepositoryConstraintViolationException) ex;
|
RepositoryConstraintViolationException nevEx = (RepositoryConstraintViolationException) ex;
|
||||||
|
|
||||||
String errors = nevEx.getErrors().getAllErrors().stream().map(p -> p.toString()).collect(Collectors.joining("\n"));
|
String errors = nevEx
|
||||||
return new ResponseEntity<Object>(errors, new HttpHeaders(), HttpStatus.NOT_ACCEPTABLE);
|
.getErrors()
|
||||||
|
.getAllErrors()
|
||||||
|
.stream()
|
||||||
|
.map(ObjectError::toString)
|
||||||
|
.collect(Collectors.joining("\n"));
|
||||||
|
return new ResponseEntity<>(errors, new HttpHeaders(), HttpStatus.NOT_ACCEPTABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue