summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-12-18 13:30:22 +0100
committerjonmv <venstad@gmail.com>2023-12-18 13:30:22 +0100
commit3de9d979247c190819070c86a6fcbb8ff6e2243a (patch)
treec4b771ddcbe5d7c13e49be1fd9234eb839dd5e8b /config-model-api
parent84984afaeed3e96a00867dd885505cd6d5ba9434 (diff)
Move dev-validation-override to validator, and keep all failures and changes
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/abi-spec.json4
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ValidationOverrides.java9
2 files changed, 11 insertions, 2 deletions
diff --git a/config-model-api/abi-spec.json b/config-model-api/abi-spec.json
index ae2753d47bc..a8aaf0f57ef 100644
--- a/config-model-api/abi-spec.json
+++ b/config-model-api/abi-spec.json
@@ -771,7 +771,9 @@
"attributes" : [
"public"
],
- "methods" : [ ],
+ "methods" : [
+ "public java.util.Map messagesById()"
+ ],
"fields" : [ ]
},
"com.yahoo.config.application.api.ValidationOverrides" : {
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); }
+
}
}