diff options
Diffstat (limited to 'config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java')
-rw-r--r-- | config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java | 32 |
1 files changed, 7 insertions, 25 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java b/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java index ab722dfb919..7b52d825473 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java @@ -19,7 +19,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.function.Consumer; import java.util.stream.Collectors; /** @@ -50,7 +49,10 @@ public class ValidationOverrides { /** Throws a ValidationException unless all given validation is overridden at this time */ public void invalid(Map<ValidationId, ? extends Collection<String>> messagesByValidationId, Instant now) { - invalidException(messagesByValidationId, now).ifPresent(e -> { throw e; }); + Map<ValidationId, Collection<String>> disallowed = new HashMap<>(messagesByValidationId); + disallowed.keySet().removeIf(id -> allows(id, now)); + if ( ! disallowed.isEmpty()) + throw new ValidationException(disallowed); } /** Throws a ValidationException unless this validation is overridden at this time */ @@ -59,21 +61,6 @@ public class ValidationOverrides { throw new ValidationException(validationId, message); } - public Optional<ValidationException> invalidException(Map<ValidationId, ? extends Collection<String>> messagesByValidationId, Instant now) { - Map<ValidationId, Collection<String>> disallowed = new HashMap<>(messagesByValidationId); - disallowed.keySet().removeIf(id -> allows(id, now)); - - if (disallowed.size() == 1 && disallowed.values().iterator().next().size() == 1) // Single-message form if possible. - return Optional.of(new ValidationException(disallowed.keySet().iterator().next(), - disallowed.values().iterator().next().iterator().next())); - - if ( ! disallowed.isEmpty()) - return Optional.of(new ValidationException(disallowed)); - - return Optional.empty(); - } - - // TODO: remove after 8.284 is gone public boolean allows(String validationIdString, Instant now) { Optional<ValidationId> validationId = ValidationId.from(validationIdString); if (validationId.isEmpty()) return false; // unknown id -> not allowed @@ -90,17 +77,12 @@ public class ValidationOverrides { } /** Validates overrides (checks 'until' date') */ - public void validate(Instant now, Consumer<String> reporter) { + public boolean validate(Instant now) { for (Allow override : overrides) { if (now.plus(Duration.ofDays(30)).isBefore(override.until)) - reporter.accept("validation-overrides is invalid: " + override + - " is too far in the future: Max 30 days is allowed"); + throw new IllegalArgumentException("validation-overrides is invalid: " + override + + " is too far in the future: Max 30 days is allowed"); } - } - - /** Validates overrides (checks 'until' date') */ - public boolean validate(Instant now) { - validate(now, message -> { throw new IllegalArgumentException(message); }); return false; } |