From 65b94613e11974119041f204ee1d44f03fc70c37 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 29 Feb 2024 15:30:00 +0100 Subject: [PATCH] OZG-4949 implemented PR annotations for validation --- .../errorhandling/ExceptionController.java | 21 ++++++++++--------- .../admin/settings/SettingsRepository.java | 6 ------ .../admin/settings/SettingsValidator.java | 4 ++-- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/src/main/java/de/ozgcloud/admin/common/errorhandling/ExceptionController.java b/src/main/java/de/ozgcloud/admin/common/errorhandling/ExceptionController.java index f4c64671..4944af6b 100644 --- a/src/main/java/de/ozgcloud/admin/common/errorhandling/ExceptionController.java +++ b/src/main/java/de/ozgcloud/admin/common/errorhandling/ExceptionController.java @@ -22,6 +22,7 @@ package de.ozgcloud.admin.common.errorhandling; import java.util.ArrayList; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -74,22 +75,22 @@ public class ExceptionController extends ResponseEntityExceptionHandler { private ProblemDetail buildProblemDetail(HttpStatus status, ConstraintViolationException ex) { var problemDetail = ProblemDetail.forStatusAndDetail(status, ex.getLocalizedMessage()); - problemDetail.setProperty("invalid-params", getDetailedviolationList(Optional.ofNullable(ex.getConstraintViolations()))); + problemDetail.setProperty("invalid-params", getDetailedviolationList(ex.getConstraintViolations())); return problemDetail; } - private List<Map<String, String>> getDetailedviolationList(Optional<Set<ConstraintViolation<?>>> violations) { + private List<Map<String, String>> getDetailedviolationList(Set<ConstraintViolation<?>> violations) { List<Map<String, String>> detailedViolations = new ArrayList<>(); - if (violations.isPresent()) { - for (var violation : violations.get()) { - var detailedViolation = new LinkedHashMap<String, String>(); - detailedViolation.put("name", violation.getPropertyPath().toString()); - detailedViolation.put("reason", violation.getMessage()); - detailedViolations.add(detailedViolation); - } - } + Optional.ofNullable(violations).orElse(Collections.emptySet()).forEach(v -> addViolation(v, detailedViolations)); return detailedViolations; } + private void addViolation(ConstraintViolation<?> violation, List<Map<String, String>> detailedViolations) { + var detailedViolation = new LinkedHashMap<String, String>(); + detailedViolation.put("name", violation.getPropertyPath().toString()); + detailedViolation.put("reason", violation.getMessage()); + detailedViolations.add(detailedViolation); + } + } diff --git a/src/main/java/de/ozgcloud/admin/settings/SettingsRepository.java b/src/main/java/de/ozgcloud/admin/settings/SettingsRepository.java index bd0260c1..e60ee4be 100644 --- a/src/main/java/de/ozgcloud/admin/settings/SettingsRepository.java +++ b/src/main/java/de/ozgcloud/admin/settings/SettingsRepository.java @@ -21,8 +21,6 @@ */ package de.ozgcloud.admin.settings; -import java.util.List; - import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.validation.annotation.Validated; @@ -31,8 +29,4 @@ import org.springframework.validation.annotation.Validated; @Validated interface SettingsRepository extends MongoRepository<Settings, String> { - @Override - Settings save(Settings entity); - - List<Settings> findByName(String name); } diff --git a/src/main/java/de/ozgcloud/admin/settings/SettingsValidator.java b/src/main/java/de/ozgcloud/admin/settings/SettingsValidator.java index 61676a05..e4b91f80 100644 --- a/src/main/java/de/ozgcloud/admin/settings/SettingsValidator.java +++ b/src/main/java/de/ozgcloud/admin/settings/SettingsValidator.java @@ -8,7 +8,7 @@ import org.springframework.validation.Errors; import org.springframework.validation.Validator; @Component -public class SettingsValidator implements Validator { +class SettingsValidator implements Validator { @Override public boolean supports(Class<?> clazz) { @@ -17,7 +17,7 @@ public class SettingsValidator implements Validator { @Override public void validate(Object target, Errors errors) { - jakarta.validation.Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); + var validator = Validation.buildDefaultValidatorFactory().getValidator(); var constraintViolations = validator.validate(target); if (!constraintViolations.isEmpty()) { throw new ConstraintViolationException(constraintViolations); -- GitLab