aboutsummaryrefslogtreecommitdiffstats
path: root/aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java')
-rw-r--r--aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java119
1 files changed, 60 insertions, 59 deletions
diff --git a/aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java b/aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java
index 38dcbb7e..4eedaa07 100644
--- a/aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java
+++ b/aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java
@@ -21,37 +21,37 @@
package org.onap.aai.validation.edges;
import com.jayway.jsonpath.DocumentContext;
+
+import java.util.*;
+
import org.onap.aai.edges.JsonIngestor;
import org.onap.aai.edges.TypeAlphabetizer;
import org.onap.aai.edges.enums.EdgeField;
-
import org.onap.aai.setup.ConfigTranslator;
import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.validation.SchemaErrorStrategy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.*;
-
/**
* Runs all validations against the ingested schema
*/
@Component
public class EdgeRuleValidator {
- private Map<SchemaVersion, List<DocumentContext>> versionJsonFilesMap;
- private final SchemaErrorStrategy strat;
- protected final EdgeFieldsValidationModule fieldValidator;
- protected final UniqueLabelValidationModule labelValidator;
- protected final SingleContainmentValidationModule containsValidator;
- protected final CousinDefaultingValidationModule defaultsValidator;
- protected final NodeTypesValidationModule typeValidator;
+ private Map<SchemaVersion, List<DocumentContext>> versionJsonFilesMap;
+ private final SchemaErrorStrategy strat;
+ protected final EdgeFieldsValidationModule fieldValidator;
+ protected final UniqueLabelValidationModule labelValidator;
+ protected final SingleContainmentValidationModule containsValidator;
+ protected final CousinDefaultingValidationModule defaultsValidator;
+ protected final NodeTypesValidationModule typeValidator;
@Autowired
public EdgeRuleValidator(ConfigTranslator config, SchemaErrorStrategy strat,
- EdgeFieldsValidationModule fieldValidator, UniqueLabelValidationModule labelValidator,
- SingleContainmentValidationModule containsValidator, CousinDefaultingValidationModule defaultsValidator,
- NodeTypesValidationModule typeValidator) {
- //TODO - Need to change this to use files/schemaservice
+ EdgeFieldsValidationModule fieldValidator, UniqueLabelValidationModule labelValidator,
+ SingleContainmentValidationModule containsValidator, CousinDefaultingValidationModule defaultsValidator,
+ NodeTypesValidationModule typeValidator) {
+ // TODO - Need to change this to use files/schemaservice
this.versionJsonFilesMap = new JsonIngestor().ingest(config.getEdgeFiles());
this.strat = strat;
this.fieldValidator = fieldValidator;
@@ -61,49 +61,50 @@ public class EdgeRuleValidator {
this.typeValidator = typeValidator;
}
- public boolean validate() {
-
- for (Map.Entry<SchemaVersion, List<DocumentContext>> verEntry : versionJsonFilesMap.entrySet()) {
- SchemaVersion v = verEntry.getKey();
- List<DocumentContext> ctxs = verEntry.getValue();
- List<Map<String, String>> rules = collectRules(ctxs);
- Set<String> nodeTypePairs = new HashSet<>();
- TypeAlphabetizer alpher = new TypeAlphabetizer();
-
- for (Map<String, String> rule : rules) {
- handleResult(fieldValidator.verifyFields(rule));
- nodeTypePairs.add(alpher.buildAlphabetizedKey(rule.get(EdgeField.FROM.toString()), rule.get(EdgeField.TO.toString())));
- }
-
- for (String nodeTypePair : nodeTypePairs) {
- handleResult(labelValidator.validate(nodeTypePair, ctxs));
- handleResult(containsValidator.validate(nodeTypePair, ctxs));
- handleResult(defaultsValidator.validate(nodeTypePair, ctxs));
- }
-
- handleResult(typeValidator.validate(nodeTypePairs, v));
- }
-
- return strat.isOK();
- }
-
- private List<Map<String, String>> collectRules(List<DocumentContext> ctxs) {
- List<Map<String, String>> rules = new ArrayList<>();
-
- for (DocumentContext ctx : ctxs) {
- rules.addAll(ctx.read("$.rules.*"));
- }
-
- return rules;
- }
-
- private void handleResult(String result) {
- if (!"".equals(result)) {
- strat.notifyOnError(result);
- }
- }
-
- public String getErrorMsg() {
- return strat.getErrorMsg();
- }
+ public boolean validate() {
+
+ for (Map.Entry<SchemaVersion, List<DocumentContext>> verEntry : versionJsonFilesMap.entrySet()) {
+ SchemaVersion v = verEntry.getKey();
+ List<DocumentContext> ctxs = verEntry.getValue();
+ List<Map<String, String>> rules = collectRules(ctxs);
+ Set<String> nodeTypePairs = new HashSet<>();
+ TypeAlphabetizer alpher = new TypeAlphabetizer();
+
+ for (Map<String, String> rule : rules) {
+ handleResult(fieldValidator.verifyFields(rule));
+ nodeTypePairs.add(alpher.buildAlphabetizedKey(rule.get(EdgeField.FROM.toString()),
+ rule.get(EdgeField.TO.toString())));
+ }
+
+ for (String nodeTypePair : nodeTypePairs) {
+ handleResult(labelValidator.validate(nodeTypePair, ctxs));
+ handleResult(containsValidator.validate(nodeTypePair, ctxs));
+ handleResult(defaultsValidator.validate(nodeTypePair, ctxs));
+ }
+
+ handleResult(typeValidator.validate(nodeTypePairs, v));
+ }
+
+ return strat.isOK();
+ }
+
+ private List<Map<String, String>> collectRules(List<DocumentContext> ctxs) {
+ List<Map<String, String>> rules = new ArrayList<>();
+
+ for (DocumentContext ctx : ctxs) {
+ rules.addAll(ctx.read("$.rules.*"));
+ }
+
+ return rules;
+ }
+
+ private void handleResult(String result) {
+ if (!"".equals(result)) {
+ strat.notifyOnError(result);
+ }
+ }
+
+ public String getErrorMsg() {
+ return strat.getErrorMsg();
+ }
}