Fixed Model Content Validation for API
This fixes the validation of the content of the model to include
validating parent nodes that are required based on the yaml. Prior to
this we were only validating required child nodes and in some cases this
was causing failures to create a policy.
Change-Id: I2bbef4a671cfc7af8b55b3b3c6454b8cea3a88c9
Issue-ID: POLICY-799
Signed-off-by: Michael Mokry <mm117s@att.com>
diff --git a/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidation.java b/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidation.java
index 2e685d4..50985b1 100644
--- a/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidation.java
+++ b/ONAP-REST/src/main/java/org/onap/policy/rest/util/PolicyValidation.java
@@ -1085,9 +1085,11 @@
final JsonNode value = field.getValue();
if (value.isContainerNode() && !value.isArray()) {
+ jsonRequestMap.put(key, "containerNode");
pullModelJsonKeyPairs(value); // RECURSIVE CALL
} else if (value.isArray()) {
try {
+ jsonRequestMap.put(key, "array");
String stringValue = StringUtils.replaceEach(value.toString(), new String[]{"[", "]"}, new String[]{"",""});
ObjectMapper mapper = new ObjectMapper();
JsonNode newValue = mapper.readTree(stringValue);
@@ -1098,8 +1100,7 @@
} else {
jsonRequestMap.put(key, value.toString().trim());
}
- }
-
+ }
}
private JsonObject stringToJsonObject(String value) {