67 lines
2.7 KiB
Java
67 lines
2.7 KiB
Java
//package eu.eudat.controllers.controllerhandler;
|
|
//
|
|
//import eu.eudat.models.data.errormodels.ValidationErrorContext;
|
|
//import eu.eudat.models.data.helpers.responses.ResponseItem;
|
|
//import eu.eudat.types.ApiMessageCode;
|
|
//import org.springframework.beans.factory.annotation.Autowired;
|
|
//import org.springframework.context.MessageSource;
|
|
//import org.springframework.context.i18n.LocaleContextHolder;
|
|
//import org.springframework.core.annotation.Order;
|
|
//import org.springframework.http.HttpStatus;
|
|
//import org.springframework.validation.BindingResult;
|
|
//import org.springframework.validation.FieldError;
|
|
//import org.springframework.web.bind.MethodArgumentNotValidException;
|
|
//import org.springframework.web.bind.annotation.ControllerAdvice;
|
|
//import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
//import org.springframework.web.bind.annotation.ResponseBody;
|
|
//import org.springframework.web.bind.annotation.ResponseStatus;
|
|
//
|
|
//import java.util.List;
|
|
//import java.util.Locale;
|
|
//
|
|
//
|
|
//@ControllerAdvice
|
|
//@Order(3)
|
|
//public class ControllerValidatorErrorHandler {
|
|
//
|
|
// private MessageSource messageSource;
|
|
//
|
|
// @Autowired
|
|
// public ControllerValidatorErrorHandler(MessageSource messageSource) {
|
|
// this.messageSource = messageSource;
|
|
// }
|
|
//
|
|
// @ExceptionHandler(MethodArgumentNotValidException.class)
|
|
// @ResponseStatus(HttpStatus.BAD_REQUEST)
|
|
// @ResponseBody
|
|
// public ResponseItem<ValidationErrorContext> processValidationError(MethodArgumentNotValidException ex) {
|
|
// BindingResult result = ex.getBindingResult();
|
|
// List<FieldError> fieldErrors = result.getFieldErrors();
|
|
//
|
|
// return processFieldErrors(fieldErrors);
|
|
// }
|
|
//
|
|
// private ResponseItem<ValidationErrorContext> processFieldErrors(List<FieldError> fieldErrors) {
|
|
// ValidationErrorContext dto = new ValidationErrorContext();
|
|
//
|
|
// for (FieldError fieldError : fieldErrors) {
|
|
// String localizedErrorMessage = resolveLocalizedErrorMessage(fieldError);
|
|
// dto.addFieldError(fieldError.getField(), localizedErrorMessage);
|
|
// }
|
|
//
|
|
// return new ResponseItem<ValidationErrorContext>().status(ApiMessageCode.VALIDATION_MESSAGE).payload(dto);
|
|
// }
|
|
//
|
|
// private String resolveLocalizedErrorMessage(FieldError fieldError) {
|
|
// Locale currentLocale = LocaleContextHolder.getLocale();
|
|
// String localizedErrorMessage = messageSource.getMessage(fieldError, currentLocale);
|
|
//
|
|
// if (localizedErrorMessage.equals(fieldError.getDefaultMessage())) {
|
|
// String[] fieldErrorCodes = fieldError.getCodes();
|
|
// localizedErrorMessage = fieldErrorCodes[0];
|
|
// }
|
|
//
|
|
// return localizedErrorMessage;
|
|
// }
|
|
//}
|