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 | 9 |
1 files changed, 8 insertions, 1 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 1edddb63e52..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 @@ -15,6 +15,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -36,7 +37,7 @@ public class ValidationOverrides { private final String xmlForm; - /** Creates a validation overrides which does not have an xml form */ + /** Creates a validation overrides which does not have an XML form */ public ValidationOverrides(List<Allow> overrides) { this(overrides, null); } @@ -163,10 +164,13 @@ public class ValidationOverrides { */ public static class ValidationException extends IllegalArgumentException { + private final Map<ValidationId, Collection<String>> messagesById = new LinkedHashMap<>(); + static final long serialVersionUID = 789984668; private ValidationException(ValidationId validationId, String message) { super(validationId + ": " + message + ". " + toAllowMessage(validationId)); + messagesById.put(validationId, List.of(message)); } private ValidationException(Map<ValidationId, Collection<String>> messagesById) { @@ -175,8 +179,11 @@ public class ValidationOverrides { String.join("\n\t", messages.getValue()) + "\n" + toAllowMessage(messages.getKey())) .collect(Collectors.joining("\n"))); + messagesById.forEach((id, messages) -> this.messagesById.put(id, List.copyOf(messages))); } + public Map<ValidationId, Collection<String>> messagesById() { return Map.copyOf(messagesById); } + } } |