aboutsummaryrefslogtreecommitdiffstats
path: root/config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java
diff options
context:
space:
mode:
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.java32
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;
}