AAI-1523 Batch reformat aai-schema-ingest 85/82885/2
authorKeong Lim <keong.lim@huawei.com>
Thu, 21 Mar 2019 04:32:25 +0000 (15:32 +1100)
committerKeong Lim <keong.lim@huawei.com>
Thu, 11 Apr 2019 03:43:41 +0000 (13:43 +1000)
Use maven plugins from AAI-2198 to do batch reformat of aai-schema-ingest
to consistent code style.

Change-Id: I9ad7aa66edcada25fbeba7658ff8f258dab9ca93
Issue-ID: AAI-1523
Signed-off-by: Keong Lim <keong.lim@huawei.com>
96 files changed:
aai-schema-ingest/src/main/java/org/onap/aai/config/ConfigConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/config/EdgesConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/config/NodesConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/config/RestConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/config/SchemaServiceConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/config/TranslatorConfiguration.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/EdgeIngestor.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/EdgeRule.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/EdgeRuleQuery.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/JsonIngestor.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/SchemaFilter.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/TypeAlphabetizer.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/AAIDirection.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/DirectionNotation.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/EdgeField.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/EdgeProperty.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/EdgeType.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/enums/MultiplicityRule.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/exceptions/AmbiguousRuleChoiceException.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/exceptions/EdgeIngestorException.java
aai-schema-ingest/src/main/java/org/onap/aai/edges/exceptions/EdgeRuleNotFoundException.java
aai-schema-ingest/src/main/java/org/onap/aai/nodes/CaseFormatStore.java
aai-schema-ingest/src/main/java/org/onap/aai/nodes/NodeIngestor.java
aai-schema-ingest/src/main/java/org/onap/aai/nodes/exceptions/NodeIngestorException.java
aai-schema-ingest/src/main/java/org/onap/aai/restclient/SchemaServiceNoAuthClient.java
aai-schema-ingest/src/main/java/org/onap/aai/restclient/SchemaServiceOneWayClient.java
aai-schema-ingest/src/main/java/org/onap/aai/restclient/SchemaServiceRestClient.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/AAIConfigTranslator.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/ConfigTranslator.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaConfigVersions.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaLocationsBean.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaServiceTranslator.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaServiceVersions.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaVersion.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaVersions.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/SchemaVersionsBean.java
aai-schema-ingest/src/main/java/org/onap/aai/setup/Translator.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/AAISchemaValidationException.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/CheckEverythingStrategy.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/DefaultVersionValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/FailFastStrategy.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/SchemaErrorStrategy.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/VersionValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/VersionValidator.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/CousinDefaultingValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/DefaultEdgeFieldsValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeFieldsValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/EdgeRuleValidator.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/NodeTypesValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/SingleContainmentValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/edges/UniqueLabelValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/nodes/DefaultDuplicateNodeDefinitionValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/nodes/DuplicateNodeDefinitionValidationModule.java
aai-schema-ingest/src/main/java/org/onap/aai/validation/nodes/NodeValidator.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/EdgeIngestorLocalTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/EdgeIngestorTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/EdgeIngestorWiringTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/EdgeRuleQueryTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/EdgeRuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/JsonIngestorTest.java
aai-schema-ingest/src/test/java/org/onap/aai/edges/TypeAlphabetizerTest.java
aai-schema-ingest/src/test/java/org/onap/aai/nodes/NodeIngestorLocalTest.java
aai-schema-ingest/src/test/java/org/onap/aai/nodes/NodeIngestorTest.java
aai-schema-ingest/src/test/java/org/onap/aai/nodes/NodeIngestorWiringTest.java
aai-schema-ingest/src/test/java/org/onap/aai/restclient/MockProvider.java
aai-schema-ingest/src/test/java/org/onap/aai/restclient/MockRestClient.java
aai-schema-ingest/src/test/java/org/onap/aai/restclient/RestClientTest.java
aai-schema-ingest/src/test/java/org/onap/aai/restclient/SchemaRestClientTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/ConfigTranslatorWiringTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaLocationsBeanDefaultInjectionTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaLocationsBeanEnvVarInjectionTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaLocationsBeanXMLSetterTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaLocationsBeanXMLSetterWithPropFileTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaVersionsBeanOverrideTest.java
aai-schema-ingest/src/test/java/org/onap/aai/setup/SchemaVersionsBeanTest.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/BadEdgeConfigForValidationTest.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/BadNodeConfigForValidationTest.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/ConfigTranslatorForWiringTest.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/GoodConfigForValidationTest.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/SchemaIncompleteTranslator.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslator.java
aai-schema-ingest/src/test/java/org/onap/aai/testutils/TestUtilConfigTranslatorforBusiness.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/CheckEverythingStrategyTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/FailFastStrategyTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/VersionValidatorRainyDayTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/VersionValidatorSunnyDayTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/CousinDefaultingValidationModuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/DefaultEdgeFieldsValidationModuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/EdgeRuleValidatorRainyDayTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/EdgeRuleValidatorSunnyDayTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/NodeTypesValidationModuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/SingleContainmentValidationModuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/edges/UniqueLabelValidationModuleTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/nodes/NodeValidatorRainyDayTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/nodes/NodeValidatorSchemaIncompleteTest.java
aai-schema-ingest/src/test/java/org/onap/aai/validation/nodes/NodeValidatorSunnyDayTest.java

index 11f0da6..e4d1865 100644 (file)
@@ -19,6 +19,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
 import org.onap.aai.setup.SchemaConfigVersions;
index 605dc0c..af4d8e8 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
 import org.onap.aai.edges.EdgeIngestor;
 import org.onap.aai.setup.Translator;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,11 +37,6 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
 @Import({SchemaServiceConfiguration.class, ConfigConfiguration.class, TranslatorConfiguration.class})
 @PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
 @PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
index 8c520aa..a6675d4 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
 import org.onap.aai.nodes.NodeIngestor;
 import org.onap.aai.setup.Translator;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,12 +40,6 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-
 @Import({SchemaServiceConfiguration.class, ConfigConfiguration.class, TranslatorConfiguration.class})
 @PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
 @PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
index 0a3dbf5..9f52393 100644 (file)
@@ -19,6 +19,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
 import org.onap.aai.restclient.*;
@@ -59,21 +60,21 @@ public class RestConfiguration {
     }
 
     /*
-    In the below cases bean name and method names are different because all of them qualify as restClient
+     * In the below cases bean name and method names are different because all of them qualify as restClient
      */
-    @Bean(name="restClient")
+    @Bean(name = "restClient")
     @ConditionalOnProperty(name = "schema.service.client", havingValue = "two-way-ssl", matchIfMissing = true)
     public RestClient getSchemaServiceTwoWayClient() {
         return new SchemaServiceRestClient();
     }
 
-    @Bean(name="restClient")
+    @Bean(name = "restClient")
     @ConditionalOnProperty(name = "schema.service.client", havingValue = "no-auth")
     public RestClient getSchemaServiceNoAuthClient() {
         return new SchemaServiceNoAuthClient();
     }
 
-    @Bean(name="restClient")
+    @Bean(name = "restClient")
     @ConditionalOnProperty(name = "schema.service.client", havingValue = "one-way-ssl")
     public RestClient getSchemaServiceOneWayClient() {
         return new SchemaServiceOneWayClient();
index c6decb0..cdd8749 100644 (file)
@@ -19,6 +19,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
 import org.onap.aai.setup.*;
index 941e03d..d49e6ec 100644 (file)
@@ -19,6 +19,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.config;
 
 import org.onap.aai.setup.*;
@@ -29,7 +30,7 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 @ConditionalOnProperty(prefix = "schema.translator.list", value = "config", matchIfMissing = true)
 public class TranslatorConfiguration {
-    //TODO check if you can put dependsOn to reduce number of config files
+    // TODO check if you can put dependsOn to reduce number of config files
     @Autowired(required = false)
     ConfigTranslator configTranslator;
 
index 5d8c3d5..3cf6705 100644 (file)
@@ -20,6 +20,9 @@
 
 package org.onap.aai.edges;
 
+import static com.jayway.jsonpath.Criteria.where;
+import static com.jayway.jsonpath.Filter.filter;
+
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.google.common.cache.CacheBuilder;
@@ -30,6 +33,15 @@ import com.google.common.collect.Multimap;
 import com.jayway.jsonpath.Criteria;
 import com.jayway.jsonpath.DocumentContext;
 import com.jayway.jsonpath.Filter;
+
+import java.io.IOException;
+import java.util.*;
+import java.util.Map.Entry;
+import java.util.concurrent.ExecutionException;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.onap.aai.edges.enums.DirectionNotation;
 import org.onap.aai.edges.enums.EdgeField;
@@ -42,19 +54,9 @@ import org.onap.aai.setup.Translator;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import java.io.IOException;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.concurrent.ExecutionException;
-import java.util.stream.Collectors;
-
-import static com.jayway.jsonpath.Criteria.where;
-import static com.jayway.jsonpath.Filter.filter;
-
 /**
  * EdgeIngestor - ingests A&AI edge rule schema files per given config, serves that edge rule
- *     information, including allowing various filters to extract particular rules.
+ * information, including allowing various filters to extract particular rules.
  */
 @Component
 public class EdgeIngestor {
@@ -68,7 +70,7 @@ public class EdgeIngestor {
 
     private Set<String> multipleLabelKeys;
 
-    private LoadingCache<SchemaFilter,Multimap<String,EdgeRule>> cacheFilterStore;
+    private LoadingCache<SchemaFilter, Multimap<String, EdgeRule>> cacheFilterStore;
 
     private LoadingCache<String, String[]> cousinLabelStore;
 
@@ -82,7 +84,7 @@ public class EdgeIngestor {
     @PostConstruct
     public void initialize() {
 
-       for (Translator translator : translators) {
+        for (Translator translator : translators) {
             try {
                 LOGGER.debug("Processing the translator");
                 translateAll(translator);
@@ -92,27 +94,29 @@ public class EdgeIngestor {
                 throw new ExceptionInInitializerError("EdgeIngestor could not ingest schema");
             }
         }
-        if (versionJsonFilesMap.isEmpty() || schemaVersions==null ) {
+        if (versionJsonFilesMap.isEmpty() || schemaVersions == null) {
             throw new ExceptionInInitializerError("EdgeIngestor could not ingest edgerules");
         }
     }
 
-    public void translateAll(Translator translator) throws ExceptionInInitializerError{
+    public void translateAll(Translator translator) throws ExceptionInInitializerError {
         /*
-        Use SchemaVersions from the Translator
+         * Use SchemaVersions from the Translator
          */
         this.schemaVersions = translator.getSchemaVersions();
         List<SchemaVersion> schemaVersionList = this.schemaVersions.getVersions();
         List<String> jsonPayloads = null;
         JsonIngestor ji = new JsonIngestor();
-        Map<SchemaVersion, List<String>> edgeRulesToIngest = new HashMap<>();         // Obtain a map of schema versions to a list of strings. One List per key
+        Map<SchemaVersion, List<String>> edgeRulesToIngest = new HashMap<>(); // Obtain a map of schema versions to a
+                                                                              // list of strings. One List per key
 
         // Add to the map the JSON file per version.
         for (SchemaVersion version : schemaVersionList) {
             LOGGER.debug("Version being processed" + version);
             // If the flag is set to not use the local files, obtain the Json from the service.
             try {
-                jsonPayloads = translator.getJsonPayload(version);     // need to change this - need to receive the json files.
+                jsonPayloads = translator.getJsonPayload(version); // need to change this - need to receive the json
+                                                                   // files.
             } catch (IOException e) {
                 LOGGER.error("Error in retrieving the JSON Payload" + e.getMessage());
                 throw new ExceptionInInitializerError("EdgeIngestor could not ingest schema");
@@ -125,43 +129,36 @@ public class EdgeIngestor {
         }
         versionJsonFilesMap = ji.ingestContent(edgeRulesToIngest);
 
-        this.cacheFilterStore = CacheBuilder.newBuilder()
-            .maximumSize(2000)
-            .build(
-                new CacheLoader<SchemaFilter, Multimap<String, EdgeRule>>() {
+        this.cacheFilterStore = CacheBuilder.newBuilder().maximumSize(2000)
+                .build(new CacheLoader<SchemaFilter, Multimap<String, EdgeRule>>() {
                     @Override
                     public Multimap<String, EdgeRule> load(SchemaFilter key) {
                         return extractRules(key);
                     }
-                }
-            );
+                });
 
-        this.cousinLabelStore = CacheBuilder.newBuilder()
-            .maximumSize(50)
-            .build(
-                new CacheLoader<String, String[]>() {
-                    @Override
-                    public String[] load(String key) throws Exception {
-                        return retrieveCousinLabels(key);
-                    }
-                }
-            );
+        this.cousinLabelStore = CacheBuilder.newBuilder().maximumSize(50).build(new CacheLoader<String, String[]>() {
+            @Override
+            public String[] load(String key) throws Exception {
+                return retrieveCousinLabels(key);
+            }
+        });
     }
 
-//     //-----methods for getting rule info-----//
-//
+    // //-----methods for getting rule info-----//
+    //
     /**
      * Gets list of all edge rules defined in the latest version's schema
      *
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules associated with those types
-     *                 where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                 no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
-     *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         where the key takes the form of
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      * @throws EdgeRuleNotFoundException if none found
      */
     public Multimap<String, EdgeRule> getAllCurrentRules() throws EdgeRuleNotFoundException {
@@ -173,22 +170,22 @@ public class EdgeIngestor {
      *
      * A lazy instantiation to retrieve all this info on first call
      *
-     * @return  a set containing a list of strings where each string is
-     *          concatenated by a pipe (|) character such as aNodeType|bNodeType
+     * @return a set containing a list of strings where each string is
+     *         concatenated by a pipe (|) character such as aNodeType|bNodeType
      */
-    public Set<String> getMultipleLabelKeys(){
+    public Set<String> getMultipleLabelKeys() {
 
-        if(multipleLabelKeys == null){
+        if (multipleLabelKeys == null) {
             multipleLabelKeys = new HashSet<>();
             try {
                 final Multimap<String, EdgeRule> edges = this.getAllCurrentRules();
-                if(edges == null || edges.isEmpty()){
+                if (edges == null || edges.isEmpty()) {
                     LOGGER.warn("Unable to find any edge rules for the latest version");
                     return multipleLabelKeys;
                 }
                 edges.keySet().forEach(key -> {
                     Collection<EdgeRule> rules = edges.get(key);
-                    if(rules.size() > 1){
+                    if (rules.size() > 1) {
                         multipleLabelKeys.add(key);
                     }
                 });
@@ -199,18 +196,19 @@ public class EdgeIngestor {
 
         return multipleLabelKeys;
     }
+
     /**
      * Gets list of all edge rules defined in the given version's schema
      *
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules associated with those types
-     *                 where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                 no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
-     *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         where the key takes the form of
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      * @throws EdgeRuleNotFoundException if none found
      */
     public Multimap<String, EdgeRule> getAllRules(SchemaVersion v) throws EdgeRuleNotFoundException {
@@ -229,19 +227,19 @@ public class EdgeIngestor {
      * @param q - EdgeRuleQuery with filter criteria set
      *
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      * @throws EdgeRuleNotFoundException if none found
      */
 
     public Multimap<String, EdgeRule> getRules(EdgeRuleQuery q) throws EdgeRuleNotFoundException {
         Multimap<String, EdgeRule> found = null;
-        if(q.getVersion().isPresent()){
+        if (q.getVersion().isPresent()) {
             found = extractRules(q.getFilter(), q.getVersion().get());
         } else {
             found = extractRules(q.getFilter(), schemaVersions.getDefaultVersion());
@@ -253,7 +251,8 @@ public class EdgeIngestor {
             found.entries().stream().forEach((entry) -> {
                 EdgeRule rule = new EdgeRule(entry.getValue());
                 if (!q.getFromType().equals(rule.getFrom())) {
-                    /* To maintain backwards compatibility with old EdgeRules API,
+                    /*
+                     * To maintain backwards compatibility with old EdgeRules API,
                      * where the direction of the returned EdgeRule would be
                      * flipped (if necessary) to match the directionality of
                      * the input params.
@@ -270,8 +269,6 @@ public class EdgeIngestor {
         }
     }
 
-
-
     /**
      * Gets the rule satisfying the given filter criteria. If there are more than one
      * that match, return the default rule. If there is no clear default to return, or
@@ -281,16 +278,16 @@ public class EdgeIngestor {
      * @return EdgeRule satisfying given criteria
      * @throws EdgeRuleNotFoundException if none found that match
      * @throws AmbiguousRuleChoiceException if multiple match but no way to choice one from them
-     *                         Specifically, if multiple node type pairs come back (ie bar|foo and asdf|foo,
-     *                                         no way to know which is appropriate over the others),
-     *                         or if there is a mix of Tree and Cousin edges because again there is no way to
-     *                                         know which is "defaulter" than the other.
-     *                         The default property only clarifies among multiple cousin edges of the same node pair,
-     *                                 ex: which l-interface|logical-link rule to default to.
+     *         Specifically, if multiple node type pairs come back (ie bar|foo and asdf|foo,
+     *         no way to know which is appropriate over the others),
+     *         or if there is a mix of Tree and Cousin edges because again there is no way to
+     *         know which is "defaulter" than the other.
+     *         The default property only clarifies among multiple cousin edges of the same node pair,
+     *         ex: which l-interface|logical-link rule to default to.
      */
     public EdgeRule getRule(EdgeRuleQuery q) throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
         Multimap<String, EdgeRule> found = null;
-        if(q.getVersion().isPresent()){
+        if (q.getVersion().isPresent()) {
             found = extractRules(q.getFilter(), q.getVersion().get());
         } else {
             found = extractRules(q.getFilter(), schemaVersions.getDefaultVersion());
@@ -301,7 +298,7 @@ public class EdgeIngestor {
         }
 
         EdgeRule rule = null;
-        if (found.keys().size() == 1) { //only one found, cool we're done
+        if (found.keys().size() == 1) { // only one found, cool we're done
             for (Entry<String, EdgeRule> e : found.entries()) {
                 rule = e.getValue();
             }
@@ -309,12 +306,13 @@ public class EdgeIngestor {
             rule = getDefaultRule(found);
         }
 
-        if (rule == null) { //should never get here though
+        if (rule == null) { // should never get here though
             throw new EdgeRuleNotFoundException("No rule found for " + q.toString() + ".");
         } else {
             rule = new EdgeRule(rule);
             if (!q.getFromType().equals(rule.getFrom())) {
-                /* To maintain backwards compatibility with old EdgeRules API,
+                /*
+                 * To maintain backwards compatibility with old EdgeRules API,
                  * where the direction of the returned EdgeRule would be
                  * flipped (if necessary) to match the directionality of
                  * the input params.
@@ -329,12 +327,13 @@ public class EdgeIngestor {
     }
 
     private EdgeRule getDefaultRule(Multimap<String, EdgeRule> found) throws AmbiguousRuleChoiceException {
-        if (found.keySet().size() > 1) { //ie multiple node pairs (a|c and b|c not just all a|c) case
+        if (found.keySet().size() > 1) { // ie multiple node pairs (a|c and b|c not just all a|c) case
             StringBuilder sb = new StringBuilder();
             for (String k : found.keySet()) {
                 sb.append(k).append(" ");
             }
-            throw new AmbiguousRuleChoiceException("No way to select single rule from these pairs: " + sb.toString() + ".");
+            throw new AmbiguousRuleChoiceException(
+                    "No way to select single rule from these pairs: " + sb.toString() + ".");
         }
 
         int defaultCount = 0;
@@ -354,6 +353,7 @@ public class EdgeIngestor {
 
         return defRule;
     }
+
     /**
      * Checks if there exists any rule that satisfies the given filter criteria.
      *
@@ -361,7 +361,7 @@ public class EdgeIngestor {
      * @return boolean
      */
     public boolean hasRule(EdgeRuleQuery q) {
-        if(q.getVersion().isPresent()){
+        if (q.getVersion().isPresent()) {
             return !extractRules(q.getFilter(), q.getVersion().get()).isEmpty();
         } else {
             return !extractRules(q.getFilter(), schemaVersions.getDefaultVersion()).isEmpty();
@@ -373,28 +373,25 @@ public class EdgeIngestor {
      *
      * @param nodeType
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getCousinRules(String nodeType) {
-        return getCousinRules(nodeType, schemaVersions.getDefaultVersion()); //default to latest
+        return getCousinRules(nodeType, schemaVersions.getDefaultVersion()); // default to latest
     }
 
-    public String[] retrieveCousinLabels(String nodeType){
+    public String[] retrieveCousinLabels(String nodeType) {
 
         Multimap<String, EdgeRule> cousinRules = getCousinRules(nodeType);
         String[] cousinLabels = new String[cousinRules.size()];
 
-        return cousinRules.entries()
-            .stream()
-            .map(entry -> entry.getValue().getLabel())
-            .collect(Collectors.toList())
-            .toArray(cousinLabels);
+        return cousinRules.entries().stream().map(entry -> entry.getValue().getLabel()).collect(Collectors.toList())
+                .toArray(cousinLabels);
     }
 
     public String[] retrieveCachedCousinLabels(String nodeType) throws ExecutionException {
@@ -407,13 +404,13 @@ public class EdgeIngestor {
      * @param nodeType
      * @param v - the version of the edge rules to query
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getCousinRules(String nodeType, SchemaVersion v) {
         return extractRules(new EdgeRuleQuery.Builder(nodeType).edgeType(EdgeType.COUSIN).build().getFilter(), v);
@@ -421,6 +418,7 @@ public class EdgeIngestor {
 
     /**
      * Returns if the given node type has any cousin relationships in the current version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -430,6 +428,7 @@ public class EdgeIngestor {
 
     /**
      * Returns if the given node type has any cousin relationships in the given version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -442,13 +441,13 @@ public class EdgeIngestor {
      *
      * @param nodeType - node type that is the container in the returned relationships
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getChildRules(String nodeType) {
         return getChildRules(nodeType, schemaVersions.getDefaultVersion());
@@ -459,24 +458,28 @@ public class EdgeIngestor {
      *
      * @param nodeType - node type that is the container in the returned relationships
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getChildRules(String nodeType, SchemaVersion v) {
-        Filter from = assembleFilterSegments(where(EdgeField.FROM.toString()).is(nodeType), getSameDirectionContainmentCriteria());
-        Filter to = assembleFilterSegments(where(EdgeField.TO.toString()).is(nodeType), getOppositeDirectionContainmentCriteria());
+        Filter from = assembleFilterSegments(where(EdgeField.FROM.toString()).is(nodeType),
+                getSameDirectionContainmentCriteria());
+        Filter to = assembleFilterSegments(where(EdgeField.TO.toString()).is(nodeType),
+                getOppositeDirectionContainmentCriteria());
         Filter total = from.or(to);
 
         return extractRules(total, v);
     }
 
     /**
-     * Returns if the given node type has any child relationships (ie it contains another node type) in the current version.
+     * Returns if the given node type has any child relationships (ie it contains another node type) in the current
+     * version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -485,7 +488,9 @@ public class EdgeIngestor {
     }
 
     /**
-     * Returns if the given node type has any child relationships (ie it contains another node type) in the given version.
+     * Returns if the given node type has any child relationships (ie it contains another node type) in the given
+     * version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -498,13 +503,13 @@ public class EdgeIngestor {
      *
      * @param nodeType - node type that is the containee in the returned relationships
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getParentRules(String nodeType) {
         return getParentRules(nodeType, schemaVersions.getDefaultVersion());
@@ -515,24 +520,28 @@ public class EdgeIngestor {
      *
      * @param nodeType - node type that is the containee in the returned relationships
      * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-     *                         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-     *                         no rules are found.
-     *                 ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-     *                         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
      *
-     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
-     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
      */
     public Multimap<String, EdgeRule> getParentRules(String nodeType, SchemaVersion v) {
-        Filter from = assembleFilterSegments(where(EdgeField.FROM.toString()).is(nodeType), getOppositeDirectionContainmentCriteria());
-        Filter to = assembleFilterSegments(where(EdgeField.TO.toString()).is(nodeType), getSameDirectionContainmentCriteria());
+        Filter from = assembleFilterSegments(where(EdgeField.FROM.toString()).is(nodeType),
+                getOppositeDirectionContainmentCriteria());
+        Filter to = assembleFilterSegments(where(EdgeField.TO.toString()).is(nodeType),
+                getSameDirectionContainmentCriteria());
         Filter total = from.or(to);
 
         return extractRules(total, v);
     }
 
     /**
-     * Returns if the given node type has any parent relationships (ie it is contained by another node type) in the current version.
+     * Returns if the given node type has any parent relationships (ie it is contained by another node type) in the
+     * current version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -541,7 +550,9 @@ public class EdgeIngestor {
     }
 
     /**
-     * Returns if the given node type has any parent relationships (ie it is contained by another node type) in the given version.
+     * Returns if the given node type has any parent relationships (ie it is contained by another node type) in the
+     * given version.
+     * 
      * @param nodeType
      * @return boolean
      */
@@ -549,22 +560,22 @@ public class EdgeIngestor {
         return !getParentRules(nodeType, v).isEmpty();
     }
 
-       /**
-        * Applies the given filter to the DocumentContext(s) for the given version to extract
-        * edge rules, and converts this extracted information into the Multimap form
-        *
-        * @param filter - JsonPath filter to read the DocumentContexts with. May be null
-        *                                      to denote no filter, ie get all.
-        * @param v - The schema version to extract from
-        * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-        *                      {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
-        *                      no rules are found.
-        *              ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-        *                      buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
-        *
-        *      This is alphabetical order to normalize the keys, as sometimes there will be multiple
-        *      rules for a pair of node types but the from/to value in the json is flipped for some of them.
-        */
+    /**
+     * Applies the given filter to the DocumentContext(s) for the given version to extract
+     * edge rules, and converts this extracted information into the Multimap form
+     *
+     * @param filter - JsonPath filter to read the DocumentContexts with. May be null
+     *        to denote no filter, ie get all.
+     * @param v - The schema version to extract from
+     * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Map will be empty if
+     *         no rules are found.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     */
     private Multimap<String, EdgeRule> extractRules(Filter filter, SchemaVersion v) {
         SchemaFilter schemaFilter = new SchemaFilter(filter, v);
         try {
@@ -575,7 +586,7 @@ public class EdgeIngestor {
         }
     }
 
-    public Multimap<String, EdgeRule> extractRules(SchemaFilter schemaFilter){
+    public Multimap<String, EdgeRule> extractRules(SchemaFilter schemaFilter) {
         List<Map<String, String>> foundRules = new ArrayList<>();
         List<DocumentContext> docs = versionJsonFilesMap.get(schemaFilter.getSchemaVersion());
         if (docs != null) {
@@ -591,115 +602,118 @@ public class EdgeIngestor {
         return convertToEdgeRules(foundRules);
     }
 
-       //-----filter building helpers-----//
-       /**
-        * ANDs together the given start criteria with each criteria in the pieces list, and
-        * then ORs together these segments into one filter.
-        *
-        * JsonPath doesn't have an OR method on Criteria, only on Filters, so assembling
-        * a complete filter requires this sort of roundabout construction.
-        *
-        * @param start - Criteria of the form where(from/to).is(nodeType)
-        *                                      (ie the start of any A&AI edge rule query)
-        * @param pieces - Other Criteria to be applied
-        * @return Filter constructed from the given Criteria
-        */
-       private Filter assembleFilterSegments(Criteria start, List<Criteria> pieces) {
-               List<Filter> segments = new ArrayList<>();
-               for (Criteria c : pieces) {
-                       segments.add(filter(start).and(c));
-               }
-               Filter assembled = segments.remove(0);
-               for (Filter f : segments) {
-                       assembled = assembled.or(f);
-               }
-               return assembled;
-       }
-
-       /**
-        * Builds the sub-Criteria for a containment edge rule query where the direction
-        * and containment fields must match.
-        *
-        * Used for getChildRules() where the container node type is in the "from" position and
-        * for getParentRules() where the containee type is in the "to" position.
-        *
-        * @return List<Criteria> covering property permutations defined with either notation or explicit direction
-        */
-       private List<Criteria> getSameDirectionContainmentCriteria() {
-               List<Criteria> crits = new ArrayList<>();
-
-               crits.add(where(EdgeField.CONTAINS.toString()).is(DirectionNotation.DIRECTION.toString()));
-
-               crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.OUT.toString())
-                               .and(EdgeField.CONTAINS.toString()).is(Direction.OUT.toString()));
-
-               crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.IN.toString())
-                               .and(EdgeField.CONTAINS.toString()).is(Direction.IN.toString()));
-
-               return crits;
-       }
-
-       /**
-        * Builds the sub-Criteria for a containment edge rule query where the direction
-        * and containment fields must not match.
-        *
-        * Used for getChildRules() where the container node type is in the "to" position and
-        * for getParentRules() where the containee type is in the "from" position.
-        *
-        * @return List<Criteria> covering property permutations defined with either notation or explicit direction
-        */
-       private List<Criteria> getOppositeDirectionContainmentCriteria() {
-               List<Criteria> crits = new ArrayList<>();
-
-               crits.add(where(EdgeField.CONTAINS.toString()).is(DirectionNotation.OPPOSITE.toString()));
-
-               crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.OUT.toString())
-                               .and(EdgeField.CONTAINS.toString()).is(Direction.IN.toString()));
-
-               crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.IN.toString())
-                               .and(EdgeField.CONTAINS.toString()).is(Direction.OUT.toString()));
-
-               return crits;
-       }
-
-       //-----rule packaging helpers-----//
-       /**
-        * Converts the raw output from reading the json file to the Multimap<String key, EdgeRule> format
-        *
-        * @param allFound - raw edge rule output read from json file(s)
-        *                      (could be empty if none found)
-        * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
-        *                      {alphabetically first nodetype}|{alphabetically second nodetype}. Will be empty if input
-        *                      was empty.
-        *              ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-        *                      buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
-        *
-        *      This is alphabetical order to normalize the keys, as sometimes there will be multiple
-        *      rules for a pair of node types but the from/to value in the json is flipped for some of them.
-        */
-       private Multimap<String, EdgeRule> convertToEdgeRules(List<Map<String, String>> allFound) {
-               Multimap<String, EdgeRule> rules = ArrayListMultimap.create();
-
-               TypeAlphabetizer alpher = new TypeAlphabetizer();
-
-               for (Map<String, String> raw : allFound) {
-                       EdgeRule converted = new EdgeRule(raw);
-                       if (converted.getFrom().equals(converted.getTo())) {
-                               /* the way the code worked in the past was with outs and
-                                * when we switched it to in the same-node-type to
-                                * same-node-type parent child edges were failing because all
-                                * of the calling code would pass the parent as the left argument,
-                                * so it was either in that method swap the parent/child,
-                                * flip the edge rule or make all callers swap. the last seemed
-                                * like a bad idea. and felt like the edge flip was the better
-                                * of the remaining 2 */
-                               converted.flipDirection();
-                       }
-                       String alphabetizedKey = alpher.buildAlphabetizedKey(raw.get(EdgeField.FROM.toString()), raw.get(EdgeField.TO.toString()));
-                       rules.put(alphabetizedKey, converted);
-               }
-
-               return rules;
-       }
+    // -----filter building helpers-----//
+    /**
+     * ANDs together the given start criteria with each criteria in the pieces list, and
+     * then ORs together these segments into one filter.
+     *
+     * JsonPath doesn't have an OR method on Criteria, only on Filters, so assembling
+     * a complete filter requires this sort of roundabout construction.
+     *
+     * @param start - Criteria of the form where(from/to).is(nodeType)
+     *        (ie the start of any A&AI edge rule query)
+     * @param pieces - Other Criteria to be applied
+     * @return Filter constructed from the given Criteria
+     */
+    private Filter assembleFilterSegments(Criteria start, List<Criteria> pieces) {
+        List<Filter> segments = new ArrayList<>();
+        for (Criteria c : pieces) {
+            segments.add(filter(start).and(c));
+        }
+        Filter assembled = segments.remove(0);
+        for (Filter f : segments) {
+            assembled = assembled.or(f);
+        }
+        return assembled;
+    }
+
+    /**
+     * Builds the sub-Criteria for a containment edge rule query where the direction
+     * and containment fields must match.
+     *
+     * Used for getChildRules() where the container node type is in the "from" position and
+     * for getParentRules() where the containee type is in the "to" position.
+     *
+     * @return List<Criteria> covering property permutations defined with either notation or explicit direction
+     */
+    private List<Criteria> getSameDirectionContainmentCriteria() {
+        List<Criteria> crits = new ArrayList<>();
+
+        crits.add(where(EdgeField.CONTAINS.toString()).is(DirectionNotation.DIRECTION.toString()));
+
+        crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.OUT.toString()).and(EdgeField.CONTAINS.toString())
+                .is(Direction.OUT.toString()));
+
+        crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.IN.toString()).and(EdgeField.CONTAINS.toString())
+                .is(Direction.IN.toString()));
+
+        return crits;
+    }
+
+    /**
+     * Builds the sub-Criteria for a containment edge rule query where the direction
+     * and containment fields must not match.
+     *
+     * Used for getChildRules() where the container node type is in the "to" position and
+     * for getParentRules() where the containee type is in the "from" position.
+     *
+     * @return List<Criteria> covering property permutations defined with either notation or explicit direction
+     */
+    private List<Criteria> getOppositeDirectionContainmentCriteria() {
+        List<Criteria> crits = new ArrayList<>();
+
+        crits.add(where(EdgeField.CONTAINS.toString()).is(DirectionNotation.OPPOSITE.toString()));
+
+        crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.OUT.toString()).and(EdgeField.CONTAINS.toString())
+                .is(Direction.IN.toString()));
+
+        crits.add(where(EdgeField.DIRECTION.toString()).is(Direction.IN.toString()).and(EdgeField.CONTAINS.toString())
+                .is(Direction.OUT.toString()));
+
+        return crits;
+    }
+
+    // -----rule packaging helpers-----//
+    /**
+     * Converts the raw output from reading the json file to the Multimap<String key, EdgeRule> format
+     *
+     * @param allFound - raw edge rule output read from json file(s)
+     *        (could be empty if none found)
+     * @return Multimap<String, EdgeRule> of node names keys to the EdgeRules where the key takes the form of
+     *         {alphabetically first nodetype}|{alphabetically second nodetype}. Will be empty if input
+     *         was empty.
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     *
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     */
+    private Multimap<String, EdgeRule> convertToEdgeRules(List<Map<String, String>> allFound) {
+        Multimap<String, EdgeRule> rules = ArrayListMultimap.create();
+
+        TypeAlphabetizer alpher = new TypeAlphabetizer();
+
+        for (Map<String, String> raw : allFound) {
+            EdgeRule converted = new EdgeRule(raw);
+            if (converted.getFrom().equals(converted.getTo())) {
+                /*
+                 * the way the code worked in the past was with outs and
+                 * when we switched it to in the same-node-type to
+                 * same-node-type parent child edges were failing because all
+                 * of the calling code would pass the parent as the left argument,
+                 * so it was either in that method swap the parent/child,
+                 * flip the edge rule or make all callers swap. the last seemed
+                 * like a bad idea. and felt like the edge flip was the better
+                 * of the remaining 2
+                 */
+                converted.flipDirection();
+            }
+            String alphabetizedKey =
+                    alpher.buildAlphabetizedKey(raw.get(EdgeField.FROM.toString()), raw.get(EdgeField.TO.toString()));
+            rules.put(alphabetizedKey, converted);
+        }
+
+        return rules;
+    }
 
 }
index f8f8cac..d3c9a59 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-package org.onap.aai.edges;
 
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.onap.aai.edges.enums.*;
+package org.onap.aai.edges;
 
 import java.util.EnumMap;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.onap.aai.edges.enums.*;
+
 /**
  * Container for A&AI edge rule information
  */
 public class EdgeRule {
-       private String from;
-       private String to;
-       private String label;
-       private Direction direction;
-       private MultiplicityRule multiplicityRule;
-       private Map<EdgeProperty, AAIDirection> edgeFields;
-       private boolean isDefaultEdge;
-       private String description;
-       private boolean isPrivateEdge = false;
-
-       /**
-        * Instantiates a new edge rule.
-        
-        * @param fieldVals - Map<String, String> where first string is
-        *                                      an EdgeField value and second string is the 
-        *                                      value of that field
-        */
-       public EdgeRule(Map<String, String> fieldVals) {
-               edgeFields = new EnumMap<>(EdgeProperty.class);
-               
-               from = fieldVals.get(EdgeField.FROM.toString());
-               to = fieldVals.get(EdgeField.TO.toString());
-               label = fieldVals.get(EdgeField.LABEL.toString());
-               direction = Direction.valueOf(fieldVals.get(EdgeField.DIRECTION.toString()));
-               multiplicityRule = MultiplicityRule.getValue(fieldVals.get(EdgeField.MULTIPLICITY.toString()));
-               isPrivateEdge = Boolean.valueOf(fieldVals.getOrDefault(EdgeField.PRIVATE.toString(), "false"));
+    private String from;
+    private String to;
+    private String label;
+    private Direction direction;
+    private MultiplicityRule multiplicityRule;
+    private Map<EdgeProperty, AAIDirection> edgeFields;
+    private boolean isDefaultEdge;
+    private String description;
+    private boolean isPrivateEdge = false;
+
+    /**
+     * Instantiates a new edge rule.
+     * 
+     * @param fieldVals - Map<String, String> where first string is
+     *        an EdgeField value and second string is the
+     *        value of that field
+     */
+    public EdgeRule(Map<String, String> fieldVals) {
+        edgeFields = new EnumMap<>(EdgeProperty.class);
+
+        from = fieldVals.get(EdgeField.FROM.toString());
+        to = fieldVals.get(EdgeField.TO.toString());
+        label = fieldVals.get(EdgeField.LABEL.toString());
+        direction = Direction.valueOf(fieldVals.get(EdgeField.DIRECTION.toString()));
+        multiplicityRule = MultiplicityRule.getValue(fieldVals.get(EdgeField.MULTIPLICITY.toString()));
+        isPrivateEdge = Boolean.valueOf(fieldVals.getOrDefault(EdgeField.PRIVATE.toString(), "false"));
 
         for (EdgeProperty prop : EdgeProperty.values()) {
-                       String rawVal = fieldVals.get(prop.toString());
-                       edgeFields.put(prop, convertNotation(direction, rawVal));
-               }
-               
-               isDefaultEdge = Boolean.valueOf(fieldVals.get(EdgeField.DEFAULT.toString()));
+            String rawVal = fieldVals.get(prop.toString());
+            edgeFields.put(prop, convertNotation(direction, rawVal));
+        }
+
+        isDefaultEdge = Boolean.valueOf(fieldVals.get(EdgeField.DEFAULT.toString()));
         description = fieldVals.get(EdgeField.DESCRIPTION.toString());
-               if (description == null) { //bc description is optional and not in v12 and earlier
-                       description = "";
-               }
-       }
+        if (description == null) { // bc description is optional and not in v12 and earlier
+            description = "";
+        }
+    }
 
     // Copy Constructor
-    public EdgeRule(EdgeRule edgeRule){
+    public EdgeRule(EdgeRule edgeRule) {
         this.from = edgeRule.from;
-        this.to   = edgeRule.to;
+        this.to = edgeRule.to;
         this.label = edgeRule.label;
         this.direction = Direction.valueOf(edgeRule.direction.toString());
         this.multiplicityRule = MultiplicityRule.valueOf(edgeRule.multiplicityRule.toString());
         this.edgeFields = new HashMap<>(edgeRule.edgeFields);
-        this.isDefaultEdge    = edgeRule.isDefaultEdge;
+        this.isDefaultEdge = edgeRule.isDefaultEdge;
         this.description = edgeRule.description;
         this.isPrivateEdge = edgeRule.isPrivateEdge;
     }
 
-       /**
-        * Converts whatever string was in the json for an edge property value into
-        * the appropriate AAIDirection
-        * 
-        * @param Direction dir - the edge direction
-        * @param String rawVal - property value from the json, may be
-        *                      IN, OUT, BOTH, NONE, ${direction}, or !${direction}
-        * @return AAIDirection - IN/OUT/BOTH/NONE if that's the rawVal, or
-        *                      translates the direction notation into the correct IN/OUT
-        */
-       private AAIDirection convertNotation(Direction dir, String rawVal) {
-               if (AAIDirection.NONE.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.NONE;
-               } else if (AAIDirection.BOTH.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.BOTH;
-               } else if (AAIDirection.OUT.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.OUT;
-               } else if (AAIDirection.IN.toString().equalsIgnoreCase(rawVal)) {
-                       return AAIDirection.IN;
-               }
-               
-               DirectionNotation rawDN = DirectionNotation.getValue(rawVal);
-               if (DirectionNotation.DIRECTION.equals(rawDN)) {
-                       return AAIDirection.getValue(dir);
-               } else {
-                       return AAIDirection.getValue(dir.opposite());
-               }
-       }
-       
-       /**
-        * Gets the name of the node type in the "from" field
-        * @return String nodetype
-        */
-       public String getFrom() {
-               return from;
-       }
-
-       /**
-        * Gets the name of the node type in the "to" field
-        * @return String nodetype
-        */
-       public String getTo() {
-               return to;
-       }
-
-       /**
-        * Gets the edge label
-        *
-        * @return String label
-        */
-       public String getLabel() {
-               return label;
-       }
-       
-       /**
-        * Gets the multiplicity rule.
-        *
-        * @return MultiplicityRule
-        */
-       public MultiplicityRule getMultiplicityRule() {
-               return multiplicityRule;
-       }
-       
-       /**
-        * Gets the edge direction
-        *
-        * @return Direction
-        */
-       public Direction getDirection() {
-               return direction;
-       }
-       
-       /**
-        * Gets the value of contains-other-v
-        *
-        * @return the value of contains-other-v
-        */
-       public String getContains() {
-               return edgeFields.get(EdgeProperty.CONTAINS).toString();
-       }
-       
-       /**
-        * Gets the value of delete-other-v
-        *
-        * @return the value of delete-other-v
-        */
-       public String getDeleteOtherV() {
-               return edgeFields.get(EdgeProperty.DELETE_OTHER_V).toString();
-       }
-       
-       /**
-        * Gets the value of the prevent-delete property
-        * 
-        * @return String prevent-delete property value
-        */
-       public String getPreventDelete() {
-               return edgeFields.get(EdgeProperty.PREVENT_DELETE).toString();
-       }
-
-       /**
-        * Returns if this rule is a default or not
-        * 
-        * @return boolean
-        */
-       public boolean isDefault() {
-               return isDefaultEdge;
-       }
-       
-       /**
-        * Gets the description on the edge rule (if there is one)
-        * @return String description
-        */
-       public String getDescription() {
-               return this.description;
-       }
-       
-       /**
-        * Flips the direction value
-        * IN -> OUT
-        * OUT -> IN
-        * BOTH -> BOTH
-        */
-       public void flipDirection() {
-               if (Direction.OUT.equals(direction)) {
-                       direction = Direction.IN;
-               } else if (Direction.IN.equals(direction)) {
-                       direction = Direction.OUT;
-               }
-               //else BOTH just stays the same
-       }
-
-       public boolean isPrivateEdge() {
-               return isPrivateEdge;
-       }
-
-       public void setPrivateEdge(boolean privateEdge) {
-               isPrivateEdge = privateEdge;
-       }
-
-       public void setPrivateEdge(String isPrivateEdge){
-               this.isPrivateEdge = "true".equals(isPrivateEdge);
-       }
+    /**
+     * Converts whatever string was in the json for an edge property value into
+     * the appropriate AAIDirection
+     * 
+     * @param Direction dir - the edge direction
+     * @param String rawVal - property value from the json, may be
+     *        IN, OUT, BOTH, NONE, ${direction}, or !${direction}
+     * @return AAIDirection - IN/OUT/BOTH/NONE if that's the rawVal, or
+     *         translates the direction notation into the correct IN/OUT
+     */
+    private AAIDirection convertNotation(Direction dir, String rawVal) {
+        if (AAIDirection.NONE.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.NONE;
+        } else if (AAIDirection.BOTH.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.BOTH;
+        } else if (AAIDirection.OUT.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.OUT;
+        } else if (AAIDirection.IN.toString().equalsIgnoreCase(rawVal)) {
+            return AAIDirection.IN;
+        }
+
+        DirectionNotation rawDN = DirectionNotation.getValue(rawVal);
+        if (DirectionNotation.DIRECTION.equals(rawDN)) {
+            return AAIDirection.getValue(dir);
+        } else {
+            return AAIDirection.getValue(dir.opposite());
+        }
+    }
+
+    /**
+     * Gets the name of the node type in the "from" field
+     * 
+     * @return String nodetype
+     */
+    public String getFrom() {
+        return from;
+    }
+
+    /**
+     * Gets the name of the node type in the "to" field
+     * 
+     * @return String nodetype
+     */
+    public String getTo() {
+        return to;
+    }
+
+    /**
+     * Gets the edge label
+     *
+     * @return String label
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Gets the multiplicity rule.
+     *
+     * @return MultiplicityRule
+     */
+    public MultiplicityRule getMultiplicityRule() {
+        return multiplicityRule;
+    }
+
+    /**
+     * Gets the edge direction
+     *
+     * @return Direction
+     */
+    public Direction getDirection() {
+        return direction;
+    }
+
+    /**
+     * Gets the value of contains-other-v
+     *
+     * @return the value of contains-other-v
+     */
+    public String getContains() {
+        return edgeFields.get(EdgeProperty.CONTAINS).toString();
+    }
+
+    /**
+     * Gets the value of delete-other-v
+     *
+     * @return the value of delete-other-v
+     */
+    public String getDeleteOtherV() {
+        return edgeFields.get(EdgeProperty.DELETE_OTHER_V).toString();
+    }
+
+    /**
+     * Gets the value of the prevent-delete property
+     * 
+     * @return String prevent-delete property value
+     */
+    public String getPreventDelete() {
+        return edgeFields.get(EdgeProperty.PREVENT_DELETE).toString();
+    }
+
+    /**
+     * Returns if this rule is a default or not
+     * 
+     * @return boolean
+     */
+    public boolean isDefault() {
+        return isDefaultEdge;
+    }
+
+    /**
+     * Gets the description on the edge rule (if there is one)
+     * 
+     * @return String description
+     */
+    public String getDescription() {
+        return this.description;
+    }
+
+    /**
+     * Flips the direction value
+     * IN -> OUT
+     * OUT -> IN
+     * BOTH -> BOTH
+     */
+    public void flipDirection() {
+        if (Direction.OUT.equals(direction)) {
+            direction = Direction.IN;
+        } else if (Direction.IN.equals(direction)) {
+            direction = Direction.OUT;
+        }
+        // else BOTH just stays the same
+    }
+
+    public boolean isPrivateEdge() {
+        return isPrivateEdge;
+    }
+
+    public void setPrivateEdge(boolean privateEdge) {
+        isPrivateEdge = privateEdge;
+    }
+
+    public void setPrivateEdge(String isPrivateEdge) {
+        this.isPrivateEdge = "true".equals(isPrivateEdge);
+    }
 }
index c25fc78..fc58dbb 100644 (file)
 
 package org.onap.aai.edges;
 
-import org.apache.commons.lang.StringUtils;
-import org.onap.aai.edges.enums.AAIDirection;
-import org.onap.aai.edges.enums.EdgeField;
-import org.onap.aai.edges.enums.EdgeProperty;
-import org.onap.aai.edges.enums.EdgeType;
-import org.onap.aai.setup.SchemaVersion;
+import static com.jayway.jsonpath.Criteria.where;
+import static com.jayway.jsonpath.Filter.filter;
 
 import com.jayway.jsonpath.Filter;
 import com.jayway.jsonpath.Predicate;
 
-import static com.jayway.jsonpath.Filter.filter;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 
-import static com.jayway.jsonpath.Criteria.where;
+import org.apache.commons.lang.StringUtils;
+import org.onap.aai.edges.enums.AAIDirection;
+import org.onap.aai.edges.enums.EdgeField;
+import org.onap.aai.edges.enums.EdgeProperty;
+import org.onap.aai.edges.enums.EdgeType;
+import org.onap.aai.setup.SchemaVersion;
 
 /**
  * For querying the edge rules schema (not the database)
@@ -60,10 +59,10 @@ public class EdgeRuleQuery {
 
         private static final String FROM_ONLY = "FromOnly";
 
-        //required
+        // required
         private String nodeA;
 
-        //optional - null will translate to any value of the param
+        // optional - null will translate to any value of the param
         private String nodeB = null;
         private String label = null;
         private EdgeType type = null;
@@ -83,6 +82,7 @@ public class EdgeRuleQuery {
         private String getFirstNodeType() {
             return nodeA;
         }
+
         public Builder fromOnly() {
             this.nodeB = FROM_ONLY;
             return this;
@@ -92,15 +92,15 @@ public class EdgeRuleQuery {
             return nodeB;
         }
 
-        public Builder to(String nodeB){
+        public Builder to(String nodeB) {
             this.nodeB = nodeB;
             return this;
         }
 
         public Builder toOnly() {
-            //Allows this to be used with single parameter constructor Builder(String nodeA)
-            if(StringUtils.isEmpty(this.nodeB) && StringUtils.isNotEmpty(this.nodeA) ) {
-                this.nodeB=this.nodeA;
+            // Allows this to be used with single parameter constructor Builder(String nodeA)
+            if (StringUtils.isEmpty(this.nodeB) && StringUtils.isNotEmpty(this.nodeA)) {
+                this.nodeB = this.nodeA;
             }
             this.nodeA = TO_ONLY;
             return this;
@@ -124,7 +124,6 @@ public class EdgeRuleQuery {
             return type;
         }
 
-
         public Builder direction(AAIDirection direction) {
             this.direction = direction;
             return this;
@@ -139,12 +138,12 @@ public class EdgeRuleQuery {
             return this;
         }
 
-        public Builder setPrivate(boolean isPrivate){
+        public Builder setPrivate(boolean isPrivate) {
             this.isPrivate = isPrivate;
             return this;
         }
 
-        public boolean isPrivate(){
+        public boolean isPrivate() {
             return isPrivate;
         }
 
@@ -166,18 +165,18 @@ public class EdgeRuleQuery {
         this.direction = builder.getDirection();
         this.isPrivate = builder.isPrivate();
 
-        //will cover from A to B case
+        // will cover from A to B case
         List<Predicate> criteriaFromTo = new ArrayList<>();
-        //Special logic to allow for A to B case only
-        if(("FromOnly").equals(builder.getSecondNodeType())) {
+        // Special logic to allow for A to B case only
+        if (("FromOnly").equals(builder.getSecondNodeType())) {
             criteriaFromTo.add(buildToFromPart(builder.getFirstNodeType(), null));
         } else {
             criteriaFromTo.add(buildToFromPart(builder.getFirstNodeType(), builder.getSecondNodeType()));
         }
-        //will cover from B to A case - must be separate bc jsonpath won't let me OR predicates >:C
+        // will cover from B to A case - must be separate bc jsonpath won't let me OR predicates >:C
         List<Predicate> criteriaToFrom = new ArrayList<>();
-        //Special logic to allow for B to A case only
-        if(("ToOnly").equals(builder.getFirstNodeType())) {
+        // Special logic to allow for B to A case only
+        if (("ToOnly").equals(builder.getFirstNodeType())) {
             criteriaToFrom.add(buildToFromPart(null, builder.getSecondNodeType()));
         } else {
             criteriaToFrom.add(buildToFromPart(builder.getSecondNodeType(), builder.getFirstNodeType()));
@@ -195,7 +194,7 @@ public class EdgeRuleQuery {
         }
         Predicate privatePredicate = where("private").is(String.valueOf(isPrivate));
 
-        if(isPrivate){
+        if (isPrivate) {
             criteriaFromTo.add(privatePredicate);
             criteriaToFrom.add(privatePredicate);
         }
@@ -205,9 +204,9 @@ public class EdgeRuleQuery {
             criteriaFromTo.add(directionPred);
             criteriaToFrom.add(directionPred);
         }
-        if(("ToOnly").equals(builder.getFirstNodeType())) {
+        if (("ToOnly").equals(builder.getFirstNodeType())) {
             this.filter = filter(criteriaToFrom);
-        } else if(("FromOnly").equals(builder.getSecondNodeType())) {
+        } else if (("FromOnly").equals(builder.getSecondNodeType())) {
             this.filter = filter(criteriaFromTo);
         } else {
             this.filter = filter(criteriaFromTo).or(filter(criteriaToFrom));
@@ -215,7 +214,7 @@ public class EdgeRuleQuery {
     }
 
     private Predicate buildToFromPart(String from, String to) {
-        if (from == null && to == null) { //shouldn't ever happen though
+        if (from == null && to == null) { // shouldn't ever happen though
             throw new IllegalStateException("must have at least one node defined");
         }
 
@@ -239,7 +238,7 @@ public class EdgeRuleQuery {
     private Predicate addType(EdgeType type) {
         if (type == EdgeType.COUSIN) {
             return where(EdgeProperty.CONTAINS.toString()).is(AAIDirection.NONE.toString());
-        } else { //equals TREE
+        } else { // equals TREE
             return where(EdgeProperty.CONTAINS.toString()).ne(AAIDirection.NONE.toString());
         }
     }
@@ -259,6 +258,7 @@ public class EdgeRuleQuery {
 
     /**
      * Provides the JsonPath filter for actually querying the edge rule schema files
+     * 
      * @return Filter
      */
     public Filter getFilter() {
@@ -284,6 +284,7 @@ public class EdgeRuleQuery {
 
     /**
      * So the Ingestor knows which version of the rules to search
+     * 
      * @return the Version
      */
     public Optional<SchemaVersion> getVersion() {
@@ -314,7 +315,7 @@ public class EdgeRuleQuery {
         sb.append(", isPrivate: ");
         sb.append(isPrivate);
 
-        if(v.isPresent()){
+        if (v.isPresent()) {
             sb.append(", for version: ").append(v.get().toString()).append(".");
         }
         return sb.toString();
@@ -322,21 +323,19 @@ public class EdgeRuleQuery {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
         EdgeRuleQuery ruleQuery = (EdgeRuleQuery) o;
-        return isPrivate == ruleQuery.isPrivate &&
-            Objects.equals(v, ruleQuery.v) &&
-            Objects.equals(nodeA, ruleQuery.nodeA) &&
-            Objects.equals(nodeB, ruleQuery.nodeB) &&
-            Objects.equals(label, ruleQuery.label) &&
-            direction == ruleQuery.direction &&
-            type == ruleQuery.type;
+        return isPrivate == ruleQuery.isPrivate && Objects.equals(v, ruleQuery.v)
+                && Objects.equals(nodeA, ruleQuery.nodeA) && Objects.equals(nodeB, ruleQuery.nodeB)
+                && Objects.equals(label, ruleQuery.label) && direction == ruleQuery.direction && type == ruleQuery.type;
     }
 
     @Override
     public int hashCode() {
-        if(v.isPresent()){
+        if (v.isPresent()) {
             return Objects.hash(v.get(), nodeA, nodeB, label, direction, type, isPrivate);
         } else {
             return Objects.hash(nodeA, nodeB, label, direction, type, isPrivate);
@@ -344,4 +343,3 @@ public class EdgeRuleQuery {
     }
 
 }
-
index 713103a..b686b3a 100644 (file)
@@ -24,7 +24,6 @@ import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.jayway.jsonpath.DocumentContext;
 import com.jayway.jsonpath.JsonPath;
-import org.onap.aai.setup.SchemaVersion;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
@@ -35,17 +34,19 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.onap.aai.setup.SchemaVersion;
+
 /**
  * JsonIngestor produces DocumentContexts from json files
  */
 public class JsonIngestor {
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(JsonIngestor.class);
-    
+    private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(JsonIngestor.class);
+
     /**
      * Reads in given json files to queryable DocumentContexts.
      *
      * @param filesToIngest - map of filenames to ingest
-     *                         per Version
+     *        per Version
      * @return Map<SchemaVersion, List<DocumentContext>> - map of DocumentContexts per Version
      */
     public Map<SchemaVersion, List<DocumentContext>> ingest(Map<SchemaVersion, List<String>> filesToIngest) {
@@ -90,13 +91,13 @@ public class JsonIngestor {
      */
     public String readInJsonFile(String rulesFilename) {
         StringBuilder sb = new StringBuilder();
-        try(BufferedReader br = new BufferedReader(new FileReader(rulesFilename))) {
+        try (BufferedReader br = new BufferedReader(new FileReader(rulesFilename))) {
             String line;
             while ((line = br.readLine()) != null) {
                 sb.append(line);
             }
         } catch (IOException e) {
-            LOGGER.warn("Exception in file"+e.getMessage());
+            LOGGER.warn("Exception in file" + e.getMessage());
             throw new ExceptionInInitializerError(e);
         }
         return sb.toString();
index 792e3c5..4d2c845 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.edges;
 
 import com.jayway.jsonpath.Filter;
-import org.onap.aai.setup.SchemaVersion;
 
 import java.util.Objects;
 
+import org.onap.aai.setup.SchemaVersion;
+
 public class SchemaFilter {
 
     private String filter;
 
     private SchemaVersion schemaVersion;
 
-    public SchemaFilter(Filter filter, SchemaVersion schemaVersion){
-        if(filter != null){
+    public SchemaFilter(Filter filter, SchemaVersion schemaVersion) {
+        if (filter != null) {
             this.filter = filter.toString();
         }
         this.schemaVersion = schemaVersion;
@@ -47,11 +49,12 @@ public class SchemaFilter {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
         SchemaFilter that = (SchemaFilter) o;
-        return Objects.equals(filter, that.filter) &&
-            Objects.equals(schemaVersion, that.schemaVersion);
+        return Objects.equals(filter, that.filter) && Objects.equals(schemaVersion, that.schemaVersion);
     }
 
     @Override
@@ -61,9 +64,6 @@ public class SchemaFilter {
 
     @Override
     public String toString() {
-        return "SchemaFilter{" +
-            "filter='" + filter + '\'' +
-            ", schemaVersion=" + schemaVersion +
-            '}';
+        return "SchemaFilter{" + "filter='" + filter + '\'' + ", schemaVersion=" + schemaVersion + '}';
     }
 }
index fd1f511..4cae19e 100644 (file)
@@ -24,42 +24,42 @@ package org.onap.aai.edges;
  * Helper class to produce alphabetized keys for EdgeIngestor and EdgeValidator
  */
 public class TypeAlphabetizer {
-       /**
-        * Builds key for edge rules, where nodetypes are alphabetically sorted
-        * (ignoring dashes).
-        
-        * @param nodeA - first nodetype
-        * @param nodeB - second nodetype
-        * @return {alphabetically first nodetype}|{alphabetically second nodetype}
-        *              ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
-        *                      buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
-        
-        * This is alphabetical order to normalize the keys, as sometimes there will be multiple
-        * rules for a pair of node types but the from/to value in the json is flipped for some of them.
-        */
-       public String buildAlphabetizedKey(String nodeA, String nodeB) {
-               if (nodeA == null) {
-                       nodeA = "";
-               }
-               if (nodeB == null) {
-                       nodeB = "";
-               }
-               
-               //normalize
-               String normalizedNodeA = nodeA.replace("-", "");
-               String normalizedNodeB = nodeB.replace("-", "");
-               int cmp = normalizedNodeA.compareTo(normalizedNodeB);
-               
-               StringBuilder sb = new StringBuilder();
-               if (cmp <= 0) {
-                       sb.append(nodeA);
-                       sb.append("|");
-                       sb.append(nodeB);
-               } else {
-                       sb.append(nodeB);
-                       sb.append("|");
-                       sb.append(nodeA);
-               }
-               return sb.toString();
-       }
+    /**
+     * Builds key for edge rules, where nodetypes are alphabetically sorted
+     * (ignoring dashes).
+     * 
+     * @param nodeA - first nodetype
+     * @param nodeB - second nodetype
+     * @return {alphabetically first nodetype}|{alphabetically second nodetype}
+     *         ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
+     *         buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
+     * 
+     *         This is alphabetical order to normalize the keys, as sometimes there will be multiple
+     *         rules for a pair of node types but the from/to value in the json is flipped for some of them.
+     */
+    public String buildAlphabetizedKey(String nodeA, String nodeB) {
+        if (nodeA == null) {
+            nodeA = "";
+        }
+        if (nodeB == null) {
+            nodeB = "";
+        }
+
+        // normalize
+        String normalizedNodeA = nodeA.replace("-", "");
+        String normalizedNodeB = nodeB.replace("-", "");
+        int cmp = normalizedNodeA.compareTo(normalizedNodeB);
+
+        StringBuilder sb = new StringBuilder();
+        if (cmp <= 0) {
+            sb.append(nodeA);
+            sb.append("|");
+            sb.append(nodeB);
+        } else {
+            sb.append(nodeB);
+            sb.append("|");
+            sb.append(nodeA);
+        }
+        return sb.toString();
+    }
 }
index aeb5d77..04c97fc 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.edges.enums;
 
 import org.apache.tinkerpop.gremlin.structure.Direction;
 
 public enum AAIDirection {
-       IN, OUT, BOTH, NONE;
+    IN, OUT, BOTH, NONE;
+
+    public AAIDirection opposite() {
+        if (this.equals(OUT)) {
+            return IN;
+        } else if (this.equals(IN)) {
+            return OUT;
+        } else {
+            return BOTH;
+        }
+    }
+
+    public static AAIDirection getValue(String aaidir) {
+        if (OUT.toString().equals(aaidir)) {
+            return OUT;
+        } else if (IN.toString().equals(aaidir)) {
+            return IN;
+        } else if (NONE.toString().equals(aaidir)) {
+            return NONE;
+        } else { // should be BOTH
+            return BOTH;
+        }
+    }
 
-       public AAIDirection opposite() {
-               if (this.equals(OUT)) {
-                       return IN;
-               } else if (this.equals(IN)) {
-                       return OUT;
-               } else {
-                       return BOTH;
-               }
-       }
-       
-       public static AAIDirection getValue(String aaidir) {
-               if (OUT.toString().equals(aaidir)) {
-                       return OUT;
-               } else if (IN.toString().equals(aaidir)) {
-                       return IN;
-               } else if (NONE.toString().equals(aaidir)) {
-                       return NONE;
-               } else { //should be BOTH
-                       return BOTH;
-               }
-       }
-       
-       public static AAIDirection getValue(Direction dir) {
-               if (dir == Direction.OUT) {
-                       return OUT;
-               } else if (dir == Direction.IN) {
-                       return IN;
-               } else if (dir == Direction.BOTH) {
-                       return BOTH;
-               } else {
-                       return NONE;
-               }
-       }
+    public static AAIDirection getValue(Direction dir) {
+        if (dir == Direction.OUT) {
+            return OUT;
+        } else if (dir == Direction.IN) {
+            return IN;
+        } else if (dir == Direction.BOTH) {
+            return BOTH;
+        } else {
+            return NONE;
+        }
+    }
 }
index 5a69603..49a094b 100644 (file)
 
 package org.onap.aai.edges.enums;
 
-public enum DirectionNotation { 
-       DIRECTION("${direction}"), 
-       OPPOSITE("!${direction}");
+public enum DirectionNotation {
+    DIRECTION("${direction}"), OPPOSITE("!${direction}");
 
-       private final String val;
-       
-       DirectionNotation(String dir) {
-               this.val = dir;
-       }
-       
-       public static DirectionNotation getValue(String val) {
-               if (DIRECTION.toString().equals(val)) {
-                       return DIRECTION;
-               } else if (OPPOSITE.toString().equals(val)) {
-                       return OPPOSITE;
-               } else {
-                       throw new IllegalArgumentException();
-               }
-       }
-       
-       @Override
-       public String toString() {
-               return this.val;
-       }
-}
\ No newline at end of file
+    private final String val;
+
+    DirectionNotation(String dir) {
+        this.val = dir;
+    }
+
+    public static DirectionNotation getValue(String val) {
+        if (DIRECTION.toString().equals(val)) {
+            return DIRECTION;
+        } else if (OPPOSITE.toString().equals(val)) {
+            return OPPOSITE;
+        } else {
+            throw new IllegalArgumentException();
+        }
+    }
+
+    @Override
+    public String toString() {
+        return this.val;
+    }
+}
index ff6bc82..35ea113 100644 (file)
@@ -25,25 +25,17 @@ package org.onap.aai.edges.enums;
  *
  */
 public enum EdgeField {
-       FROM("from"),
-       TO("to"),
-       LABEL("label"),
-       DIRECTION("direction"),
-       MULTIPLICITY("multiplicity"),
-       CONTAINS("contains-other-v"),
-       DELETE_OTHER_V("delete-other-v"),
-       PREVENT_DELETE("prevent-delete"),
-       DEFAULT("default"),
-       PRIVATE("private"),
-       DESCRIPTION("description");
-       private final String name;
+    FROM("from"), TO("to"), LABEL("label"), DIRECTION("direction"), MULTIPLICITY("multiplicity"), CONTAINS(
+            "contains-other-v"), DELETE_OTHER_V("delete-other-v"), PREVENT_DELETE(
+                    "prevent-delete"), DEFAULT("default"), PRIVATE("private"), DESCRIPTION("description");
+    private final String name;
 
-       private EdgeField(String name) {
-               this.name = name;
-       }
+    private EdgeField(String name) {
+        this.name = name;
+    }
 
-       @Override
-       public String toString() {
-               return name;
-       }
+    @Override
+    public String toString() {
+        return name;
+    }
 }
index 18e82f5..c4e945b 100644 (file)
@@ -25,17 +25,15 @@ package org.onap.aai.edges.enums;
  * (ie which have a directional value)
  */
 public enum EdgeProperty {
-       CONTAINS("contains-other-v"),
-       DELETE_OTHER_V("delete-other-v"),
-       PREVENT_DELETE("prevent-delete");
-       private final String name;
+    CONTAINS("contains-other-v"), DELETE_OTHER_V("delete-other-v"), PREVENT_DELETE("prevent-delete");
+    private final String name;
 
-       private EdgeProperty(String name) {
-               this.name = name;
-       }
+    private EdgeProperty(String name) {
+        this.name = name;
+    }
 
-       @Override
-       public String toString() {
-               return name;
-       }
+    @Override
+    public String toString() {
+        return name;
+    }
 }
index 4662f86..0725c92 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.edges.enums;
 
 public enum EdgeType {
-       COUSIN,
-       TREE,
-       ALL;
+    COUSIN, TREE, ALL;
 }
index a29b4a6..ed00f15 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.edges.enums;
 
 public enum MultiplicityRule {
-       MANY2ONE,
-       ONE2MANY,
-       ONE2ONE,
-       MANY2MANY;
-       
-       public static MultiplicityRule getValue(String multiplicity) {
-               if ("Many2Many".equalsIgnoreCase(multiplicity)) {
-                       return MANY2MANY;
-               } else if ("One2Many".equalsIgnoreCase(multiplicity)) {
-                       return ONE2MANY;
-               } else if ("One2One".equalsIgnoreCase(multiplicity)) {
-                       return ONE2ONE;
-               } else { //should be "Many2One"
-                       return MANY2ONE;
-               }
-       }
+    MANY2ONE, ONE2MANY, ONE2ONE, MANY2MANY;
+
+    public static MultiplicityRule getValue(String multiplicity) {
+        if ("Many2Many".equalsIgnoreCase(multiplicity)) {
+            return MANY2MANY;
+        } else if ("One2Many".equalsIgnoreCase(multiplicity)) {
+            return ONE2MANY;
+        } else if ("One2One".equalsIgnoreCase(multiplicity)) {
+            return ONE2ONE;
+        } else { // should be "Many2One"
+            return MANY2ONE;
+        }
+    }
 }
index da79d9c..0f22673 100644 (file)
 package org.onap.aai.edges.exceptions;
 
 public class AmbiguousRuleChoiceException extends Exception {
-       public AmbiguousRuleChoiceException(String msg) {
-               super(msg);
-       }
+    public AmbiguousRuleChoiceException(String msg) {
+        super(msg);
+    }
 
-    public AmbiguousRuleChoiceException(Throwable throwable){
+    public AmbiguousRuleChoiceException(Throwable throwable) {
         super(throwable);
     }
 }
index 96fd65c..cbd7aac 100644 (file)
@@ -25,7 +25,7 @@ public class EdgeIngestorException extends Exception {
         super(msg);
     }
 
-    public EdgeIngestorException(Throwable throwable){
+    public EdgeIngestorException(Throwable throwable) {
         super(throwable);
     }
 }
index f9b9b64..f3ab00e 100644 (file)
 package org.onap.aai.edges.exceptions;
 
 public class EdgeRuleNotFoundException extends Exception {
-       public EdgeRuleNotFoundException(String msg) {
-               super(msg);
-       }
+    public EdgeRuleNotFoundException(String msg) {
+        super(msg);
+    }
 
-    public EdgeRuleNotFoundException(Throwable throwable){
+    public EdgeRuleNotFoundException(Throwable throwable) {
         super(throwable);
     }
 }
index 69a153d..03036ca 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.nodes;
 
 import com.google.common.base.CaseFormat;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
 
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+
 /**
  * CaseFormatStore stores the converted strings from
  * lower hyphen (example-object) to lower camel case (exampleObject)
@@ -40,15 +42,16 @@ public class CaseFormatStore {
     private final Map<String, String> lowerCamelToLowerHyphen = new HashMap<>();
     private final Map<String, String> upperCamelToLowerHyphen = new HashMap<>();
 
-    CaseFormatStore(){}
+    CaseFormatStore() {
+    }
 
     /**
      * Parses the document and creates a lower camel case string
      * upper camel string, lower hyphen and lower camel case
      *
-     * @param doc   Takes an xml document and adds it to the hash maps as appropriate
+     * @param doc Takes an xml document and adds it to the hash maps as appropriate
      */
-    void parse(Document doc){
+    void parse(Document doc) {
 
         // Get the xml-root-element and add those nodes
         // with the attribute name and it to the hashmaps
@@ -86,19 +89,19 @@ public class CaseFormatStore {
         }
     }
 
-    public Optional<String> fromLowerHyphenToLowerCamel(String value){
+    public Optional<String> fromLowerHyphenToLowerCamel(String value) {
         return Optional.ofNullable(lowerHyphenToLowerCamel.get(value));
     }
 
-    public Optional<String> fromLowerHyphenToUpperCamel(String value){
+    public Optional<String> fromLowerHyphenToUpperCamel(String value) {
         return Optional.ofNullable(lowerHyphenToUpperCamel.get(value));
     }
 
-    public Optional<String> fromUpperCamelToLowerHyphen(String value){
+    public Optional<String> fromUpperCamelToLowerHyphen(String value) {
         return Optional.ofNullable(upperCamelToLowerHyphen.get(value));
     }
 
-    public Optional<String> fromLowerCamelToLowerHyphen(String value){
+    public Optional<String> fromLowerCamelToLowerHyphen(String value) {
         return Optional.ofNullable(lowerCamelToLowerHyphen.get(value));
     }
 
index 2428a6d..6016fcc 100644 (file)
@@ -25,6 +25,20 @@ package org.onap.aai.nodes;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.google.common.base.CaseFormat;
+
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import javax.annotation.PostConstruct;
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBException;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
 import org.eclipse.persistence.jaxb.JAXBContextProperties;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory;
@@ -40,24 +54,12 @@ import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-import javax.annotation.PostConstruct;
-import javax.xml.XMLConstants;
-import javax.xml.bind.JAXBException;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 @Component
 /*
-  NodeIngestor - ingests A&AI OXM files per given config, serves DynamicJAXBContext per version
* NodeIngestor - ingests A&AI OXM files per given config, serves DynamicJAXBContext per version
  */
-@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound=true)
-@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound=true)
+@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 public class NodeIngestor {
 
     private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(NodeIngestor.class);
@@ -70,14 +72,15 @@ public class NodeIngestor {
     private Set<Translator> translators;
 
     private CaseFormatStore caseFormatStore;
-    //TODO : See if you can get rid of InputStream resets
+    // TODO : See if you can get rid of InputStream resets
 
     /**
      * Instantiates the NodeIngestor bean.
+     * 
      * @param translatorSet
      */
 
-     @Autowired
+    @Autowired
     public NodeIngestor(Set<Translator> translatorSet) {
         this.translators = translatorSet;
         this.caseFormatStore = new CaseFormatStore();
@@ -106,7 +109,7 @@ public class NodeIngestor {
             this.localSchema = "true";
         }
 
-           Boolean retrieveLocalSchema = Boolean.parseBoolean(this.localSchema);
+        Boolean retrieveLocalSchema = Boolean.parseBoolean(this.localSchema);
         /*
          * Set this to default schemaVersion
          */
@@ -119,8 +122,8 @@ public class NodeIngestor {
                 List<InputStream> inputStreams = retrieveOXM(version, translator);
                 LOGGER.debug("Retrieved OXMs from SchemaService");
                 /*
-                IOUtils.copy and copy the inputstream
-                */
+                 * IOUtils.copy and copy the inputstream
+                 */
                 if (inputStreams.isEmpty()) {
                     continue;
                 }
@@ -151,14 +154,15 @@ public class NodeIngestor {
         return DynamicJAXBContextFactory.createContextFromOXM(this.getClass().getClassLoader(), properties);
     }
 
-    private void setAllTypesAndProperties(SchemaVersion version, List<InputStream> inputStreams) throws ParserConfigurationException, IOException, SAXException {
+    private void setAllTypesAndProperties(SchemaVersion version, List<InputStream> inputStreams)
+            throws ParserConfigurationException, IOException, SAXException {
         Set<String> types = new HashSet<>();
         final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
         docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
         final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
 
         for (InputStream inputStream : inputStreams) {
-            //TODO Change this
+            // TODO Change this
             inputStream.reset();
             final Document doc = docBuilder.parse(inputStream);
             final NodeList list = doc.getElementsByTagName("java-type");
@@ -170,7 +174,7 @@ public class NodeIngestor {
         typesPerVersion.put(version, types);
     }
 
-    private void getAllNodeTypes(NodeList list, Set<String> types){
+    private void getAllNodeTypes(NodeList list, Set<String> types) {
 
         for (int i = 0; i < list.getLength(); i++) {
             String type = list.item(i).getAttributes().getNamedItem("name").getNodeValue();
@@ -178,7 +182,8 @@ public class NodeIngestor {
         }
     }
 
-    private Document createCombinedSchema(List<InputStream> inputStreams, SchemaVersion version, boolean localSchema) throws ParserConfigurationException, SAXException, IOException {
+    private Document createCombinedSchema(List<InputStream> inputStreams, SchemaVersion version, boolean localSchema)
+            throws ParserConfigurationException, SAXException, IOException {
         if (localSchema) {
             return createCombinedSchema(inputStreams, version);
         }
@@ -191,7 +196,8 @@ public class NodeIngestor {
         return masterDocBuilder.parse(inputStream);
     }
 
-    private Document createCombinedSchema(List<InputStream> inputStreams, SchemaVersion version) throws ParserConfigurationException, SAXException, IOException {
+    private Document createCombinedSchema(List<InputStream> inputStreams, SchemaVersion version)
+            throws ParserConfigurationException, SAXException, IOException {
         final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
         docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
         final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
@@ -247,7 +253,6 @@ public class NodeIngestor {
         return schemaPerVersion.get(v);
     }
 
-
     public SchemaVersion getVersionFromClassName(String classname) {
         Matcher m = classNamePattern.matcher(classname);
         if (m.find()) {
@@ -259,26 +264,24 @@ public class NodeIngestor {
     }
 
     private List<InputStream> retrieveOXM(SchemaVersion version, Translator translator) throws IOException {
-           /*
-           Call Schema MS to get versions using RestTemplate or Local
-            */
+        /*
+         * Call Schema MS to get versions using RestTemplate or Local
+         */
         return translator.getVersionNodeStream(version);
 
     }
 
     private InputStream getShell(SchemaVersion v) {
-        String source = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
-            "<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org." + v.toString().toLowerCase() + "\" xml-mapping-metadata-complete=\"true\">\n" +
-            "  <xml-schema element-form-default=\"QUALIFIED\">\n" +
-            "          <xml-ns namespace-uri=\"http://org.onap.aai.inventory/" + v.toString().toLowerCase() + "\" />\n" +
-            "  </xml-schema>\n" +
-            "  <java-types>\n" +
-            "  </java-types>\n" +
-            "</xml-bindings>";
+        String source = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+                + "<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org."
+                + v.toString().toLowerCase() + "\" xml-mapping-metadata-complete=\"true\">\n"
+                + "    <xml-schema element-form-default=\"QUALIFIED\">\n"
+                + "            <xml-ns namespace-uri=\"http://org.onap.aai.inventory/" + v.toString().toLowerCase() + "\" />\n"
+                + "    </xml-schema>\n" + "    <java-types>\n" + "     </java-types>\n" + "</xml-bindings>";
         return new ByteArrayInputStream(source.getBytes(StandardCharsets.UTF_8));
     }
 
-    public CaseFormatStore getCaseFormatStore(){
+    public CaseFormatStore getCaseFormatStore() {
         return caseFormatStore;
     }
 }
index adaf538..ef1e0d2 100644 (file)
@@ -25,7 +25,7 @@ public class NodeIngestorException extends Exception {
         super(msg);
     }
 
-    public NodeIngestorException(Throwable throwable){
+    public NodeIngestorException(Throwable throwable) {
         super(throwable);
     }
 }
index 83687a7..cc88ede 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.annotation.PostConstruct;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 import org.springframework.util.MultiValueMap;
 
-import javax.annotation.PostConstruct;
-import java.util.Collections;
-import java.util.Map;
-import java.util.UUID;
+@Component(value = "no-auth-service-rest-client")
+public class SchemaServiceNoAuthClient extends NoAuthRestClient {
 
-@Component(value="no-auth-service-rest-client")
-public class SchemaServiceNoAuthClient extends NoAuthRestClient{
+    private static EELFLogger logger = EELFManager.getInstance().getLogger(SchemaServiceNoAuthClient.class);
 
-       private static EELFLogger logger = EELFManager.getInstance().getLogger(SchemaServiceNoAuthClient.class);
-
-       @Value("${schema.service.base.url}")
-       private String baseUrl;
+    @Value("${schema.service.base.url}")
+    private String baseUrl;
 
     @PostConstruct
-    public void init () throws Exception {
+    public void init() throws Exception {
         super.init();
     }
 
-       @Override
-       public String getBaseUrl() {
-       return baseUrl;
-       }
+    @Override
+    public String getBaseUrl() {
+        return baseUrl;
+    }
 
     @Override
-       public MultiValueMap<String, String> getHeaders(Map<String, String> headers) {
-               HttpHeaders httpHeaders = new HttpHeaders();
+    public MultiValueMap<String, String> getHeaders(Map<String, String> headers) {
+        HttpHeaders httpHeaders = new HttpHeaders();
 
         String defaultAccept = headers.getOrDefault(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON.toString());
-        String defaultContentType = headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
+        String defaultContentType =
+                headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
 
-        if(headers.isEmpty()){
+        if (headers.isEmpty()) {
             httpHeaders.setAccept(Collections.singletonList(MediaType.parseMediaType(defaultAccept)));
             httpHeaders.setContentType(MediaType.parseMediaType(defaultContentType));
         }
 
-               httpHeaders.add("X-FromAppId", appName);
-               httpHeaders.add("X-TransactionId", UUID.randomUUID().toString());
+        httpHeaders.add("X-FromAppId", appName);
+        httpHeaders.add("X-TransactionId", UUID.randomUUID().toString());
         headers.forEach(httpHeaders::add);
-               return httpHeaders;
-       }
+        return httpHeaders;
+    }
 
 }
index a3e4de5..6b10728 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.annotation.PostConstruct;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 import org.springframework.util.MultiValueMap;
 
-import javax.annotation.PostConstruct;
-import java.util.Collections;
-import java.util.Map;
-import java.util.UUID;
-
-@Component(value="schema-service-one-way-rest-client")
-public class SchemaServiceOneWayClient extends OneWaySSLRestClient{
+@Component(value = "schema-service-one-way-rest-client")
+public class SchemaServiceOneWayClient extends OneWaySSLRestClient {
 
-       private static EELFLogger logger = EELFManager.getInstance().getLogger(SchemaServiceOneWayClient.class);
+    private static EELFLogger logger = EELFManager.getInstance().getLogger(SchemaServiceOneWayClient.class);
 
     @Value("${schema.service.base.url}")
     private String baseUrl;
@@ -62,22 +65,23 @@ public class SchemaServiceOneWayClient extends OneWaySSLRestClient{
     }
 
     @Override
-       public MultiValueMap<String, String> getHeaders(Map<String, String> headers) {
-               HttpHeaders httpHeaders = new HttpHeaders();
+    public MultiValueMap<String, String> getHeaders(Map<String, String> headers) {
+        HttpHeaders httpHeaders = new HttpHeaders();
 
         String defaultAccept = headers.getOrDefault(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON.toString());
-        String defaultContentType = headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
+        String defaultContentType =
+                headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
 
-        if(headers.isEmpty()){
+        if (headers.isEmpty()) {
             httpHeaders.setAccept(Collections.singletonList(MediaType.parseMediaType(defaultAccept)));
             httpHeaders.setContentType(MediaType.parseMediaType(defaultContentType));
         }
 
-               httpHeaders.add("X-FromAppId", appName);
-               httpHeaders.add("X-TransactionId", UUID.randomUUID().toString());
+        httpHeaders.add("X-FromAppId", appName);
+        httpHeaders.add("X-TransactionId", UUID.randomUUID().toString());
         httpHeaders.add("X-TransactionId", appName);
-               headers.forEach(httpHeaders::add);
-               return httpHeaders;
-       }
+        headers.forEach(httpHeaders::add);
+        return httpHeaders;
+    }
 
 }
index 300c5d8..56ddd74 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.UUID;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Component;
 import org.springframework.util.MultiValueMap;
 
-import java.util.Collections;
-import java.util.Map;
-import java.util.UUID;
-
 @Component(value = "schema-service-rest-client")
 public class SchemaServiceRestClient extends TwoWaySSLRestClient {
     private static EELFLogger logger = EELFManager.getInstance().getLogger(SchemaServiceRestClient.class);
@@ -54,7 +56,7 @@ public class SchemaServiceRestClient extends TwoWaySSLRestClient {
 
     @Override
     public String getBaseUrl() {
-       return baseUrl;
+        return baseUrl;
     }
 
     @Override
@@ -82,7 +84,8 @@ public class SchemaServiceRestClient extends TwoWaySSLRestClient {
         HttpHeaders httpHeaders = new HttpHeaders();
 
         String defaultAccept = headers.getOrDefault(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON.toString());
-        String defaultContentType = headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
+        String defaultContentType =
+                headers.getOrDefault(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON.toString());
 
         if (headers.isEmpty()) {
             httpHeaders.setAccept(Collections.singletonList(MediaType.parseMediaType(defaultAccept)));
index 4454ad2..8949891 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
 import java.io.File;
@@ -35,79 +36,67 @@ import java.util.stream.Stream;
  */
 public class AAIConfigTranslator extends ConfigTranslator {
 
-    private static final String FILESEP = (System.getProperty("file.separator") == null) ? "/" : System.getProperty("file.separator");
+    private static final String FILESEP =
+            (System.getProperty("file.separator") == null) ? "/" : System.getProperty("file.separator");
 
     public AAIConfigTranslator(SchemaLocationsBean bean, SchemaConfigVersions schemaVersions) {
-               super(bean, schemaVersions);
-       }
-       
-       /* (non-Javadoc)
-        * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
-        */
-       @Override
-       public Map<SchemaVersion, List<String>> getNodeFiles() {
-
-               Map<SchemaVersion, List<String>> files = new TreeMap<>();
-               for (SchemaVersion v : schemaVersions.getVersions()) {
-                       List<String> container = getVersionNodeFiles(v);
-                       files.put(v, container);
-               }
-               
-               return files;
-       }
-       
-
-       private List<String> getVersionNodeFiles(SchemaVersion v) {
-           return getVersionFiles(
-               bean.getNodeDirectory(),
-                       v,
-                       () -> bean.getNodesInclusionPattern().stream(),
-                       () -> bean.getNodesExclusionPattern().stream()
-               );
-       }
-       
-
-       /* (non-Javadoc)
-        * @see org.onap.aai.setup.ConfigTranslator#getEdgeFiles()
-        */
-       @Override
-       public Map<SchemaVersion, List<String>> getEdgeFiles() {
-
-               Map<SchemaVersion, List<String>> files = new TreeMap<>();
-               for (SchemaVersion v : schemaVersions.getVersions()) {
-                       List<String> container = getVersionEdgeFiles(v);
-                       files.put(v, container);
-               }
-
-               return files;
-       }
-
-       private List<String> getVersionEdgeFiles(SchemaVersion v) {
-
-               return getVersionFiles(
-                               bean.getEdgeDirectory(),
-                               v,
-                               () -> bean.getEdgesInclusionPattern().stream(),
-                               () -> bean.getEdgesExclusionPattern().stream()
-               );
-       }
-
-       private List<String> getVersionFiles(
-                       String startDirectory,
-                       SchemaVersion schemaVersion,
-                       Supplier<Stream<String>> inclusionPattern,
-                       Supplier<Stream<String>> exclusionPattern
-       ){
-
-               List<String> container;
-               final String directoryName = startDirectory + FILESEP + schemaVersion.toString() + FILESEP;
-               container = Arrays.stream(new File(directoryName).listFiles())
-                               .map(File::getName)
-                               .filter(name -> inclusionPattern.get().anyMatch(name::matches))
-                               .map(name -> directoryName + name)
-                               .filter(name -> exclusionPattern.get().noneMatch(name::matches))
-                               .collect(Collectors.toList());
-
-               return container;
-       }
+        super(bean, schemaVersions);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
+     */
+    @Override
+    public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+        Map<SchemaVersion, List<String>> files = new TreeMap<>();
+        for (SchemaVersion v : schemaVersions.getVersions()) {
+            List<String> container = getVersionNodeFiles(v);
+            files.put(v, container);
+        }
+
+        return files;
+    }
+
+    private List<String> getVersionNodeFiles(SchemaVersion v) {
+        return getVersionFiles(bean.getNodeDirectory(), v, () -> bean.getNodesInclusionPattern().stream(),
+                () -> bean.getNodesExclusionPattern().stream());
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.setup.ConfigTranslator#getEdgeFiles()
+     */
+    @Override
+    public Map<SchemaVersion, List<String>> getEdgeFiles() {
+
+        Map<SchemaVersion, List<String>> files = new TreeMap<>();
+        for (SchemaVersion v : schemaVersions.getVersions()) {
+            List<String> container = getVersionEdgeFiles(v);
+            files.put(v, container);
+        }
+
+        return files;
+    }
+
+    private List<String> getVersionEdgeFiles(SchemaVersion v) {
+
+        return getVersionFiles(bean.getEdgeDirectory(), v, () -> bean.getEdgesInclusionPattern().stream(),
+                () -> bean.getEdgesExclusionPattern().stream());
+    }
+
+    private List<String> getVersionFiles(String startDirectory, SchemaVersion schemaVersion,
+            Supplier<Stream<String>> inclusionPattern, Supplier<Stream<String>> exclusionPattern) {
+
+        List<String> container;
+        final String directoryName = startDirectory + FILESEP + schemaVersion.toString() + FILESEP;
+        container = Arrays.stream(new File(directoryName).listFiles()).map(File::getName)
+                .filter(name -> inclusionPattern.get().anyMatch(name::matches)).map(name -> directoryName + name)
+                .filter(name -> exclusionPattern.get().noneMatch(name::matches)).collect(Collectors.toList());
+
+        return container;
+    }
 }
index 3ef76d7..1c49e1d 100644 (file)
@@ -22,49 +22,50 @@ package org.onap.aai.setup;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
-import org.apache.commons.io.IOUtils;
-import org.onap.aai.edges.JsonIngestor;
-import org.springframework.beans.factory.annotation.Autowired;
+
 import java.io.*;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.io.IOUtils;
+import org.onap.aai.edges.JsonIngestor;
+import org.springframework.beans.factory.annotation.Autowired;
+
 /**
  * Converts the contents of the schema config file
  * (which lists which schema files to be loaded) to
  * the format the Ingestors can work with.
  * 
  */
-public abstract class ConfigTranslator extends Translator{
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(ConfigTranslator.class);
-    
-       protected SchemaLocationsBean bean;
+public abstract class ConfigTranslator extends Translator {
+    private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(ConfigTranslator.class);
+
+    protected SchemaLocationsBean bean;
 
-       
-       @Autowired
+    @Autowired
     public ConfigTranslator(SchemaLocationsBean schemaLocationbean, SchemaConfigVersions schemaVersions) {
-           super(schemaVersions);
-               this.bean = schemaLocationbean;
-
-       }
-       
-       /**
-        * Translates the contents of the schema config file
-        * into the input for the NodeIngestor
-        
-        * @return Map of Version to the list of (string) filenames to be 
-        * ingested for that version
-        */
-       public abstract Map<SchemaVersion, List<String>> getNodeFiles();
+        super(schemaVersions);
+        this.bean = schemaLocationbean;
+
+    }
+
+    /**
+     * Translates the contents of the schema config file
+     * into the input for the NodeIngestor
+     * 
+     * @return Map of Version to the list of (string) filenames to be
+     *         ingested for that version
+     */
+    public abstract Map<SchemaVersion, List<String>> getNodeFiles();
 
     public List<InputStream> getVersionNodeStream(SchemaVersion version) {
 
         Map<SchemaVersion, List<String>> filesToIngest = getNodeFiles();
         List<InputStream> streams = new ArrayList<>();
 
-        if(!filesToIngest.containsKey(version)) {
+        if (!filesToIngest.containsKey(version)) {
             return streams;
         }
         List<String> versionFiles = filesToIngest.get(version);
@@ -73,13 +74,13 @@ public abstract class ConfigTranslator extends Translator{
             try {
                 InputStream stream = new FileInputStream(new File(name));
                 String value = IOUtils.toString(stream, Charset.defaultCharset());
-                InputStream bis =(IOUtils.toInputStream(value, Charset.defaultCharset()));
+                InputStream bis = (IOUtils.toInputStream(value, Charset.defaultCharset()));
                 streams.add(bis);
             } catch (FileNotFoundException e) {
-               //TODO This may have to be cascaded
-                LOGGER.warn("File Not Found"+e.getMessage());
+                // TODO This may have to be cascaded
+                LOGGER.warn("File Not Found" + e.getMessage());
             } catch (IOException e) {
-                LOGGER.warn("IOException while reading files"+e.getMessage());
+                LOGGER.warn("IOException while reading files" + e.getMessage());
             }
         }
         return streams;
@@ -89,7 +90,7 @@ public abstract class ConfigTranslator extends Translator{
     public List<String> getJsonPayload(SchemaVersion version) {
         Map<SchemaVersion, List<String>> filesToIngest = getEdgeFiles();
         List<String> jsonPayloads = new ArrayList<>();
-        if(!filesToIngest.containsKey(version)) {
+        if (!filesToIngest.containsKey(version)) {
             return jsonPayloads;
         }
         List<String> versionFiles = filesToIngest.get(version);
@@ -101,14 +102,14 @@ public abstract class ConfigTranslator extends Translator{
 
         return jsonPayloads;
     }
-       
-       /**
-        * Translates the contents of the schema config file
-        * into the input for the EdgeIngestor
-        
-        * @return Map of Version to the List of (String) filenames to be 
-        * ingested for that version
-        */
-       public abstract Map<SchemaVersion, List<String>> getEdgeFiles();
+
+    /**
+     * Translates the contents of the schema config file
+     * into the input for the EdgeIngestor
+     * 
+     * @return Map of Version to the List of (String) filenames to be
+     *         ingested for that version
+     */
+    public abstract Map<SchemaVersion, List<String>> getEdgeFiles();
 
 }
index e23fea2..2d9d557 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import java.util.List;
-import java.util.stream.Collectors;
-
 @Component("schemaConfigVersions")
 @ConditionalOnExpression("'${schema.translator.list:config}'.contains('config') || '${schema.service.versions.override:false}'.equals('true')")
 @PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
index 9e740a8..1359176 100644 (file)
 
 package org.onap.aai.setup;
 
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
 
-import java.util.List;
-
 @Configuration
-@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound=true)
-@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound=true)
+@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 public class SchemaLocationsBean {
-       /*
-        * Per Spring documentation, the last PropertySource that works will
-        * be applied. Here, schema.ingest.file will be an environment variable
-        * set on install that tells Spring where to look for the schema
-        * ingest properties file (and the actual filename), but the former
-        * PropertySource gives the default of looking on the classpath for
-        * schema-ingest.properties in case that second one doesn't work.
-        
-        * The schema-ingest.properties file (or its equivalent if you choose
-        * to name it otherwise) must contain the entries the below @Value
-        * annotations are looking for.
-        */
-       
-       @Value("${schema.configuration.location}")
-       private String schemaConfigLoc;
-       
-       @Value("${schema.nodes.location}")
-       private String nodeDirectory;
-       
-       @Value("${schema.edges.location}")
-       private String edgeDirectory;
-
-       @Value("${schema.nodes.inclusion.list:}#{T(java.util.Arrays).asList(\".*oxm(.*).xml\")}")
-       private List<String> nodesInclusionPattern;
-
-       @Value("${schema.nodes.exclusion.list:}#{T(java.util.Collections).emptyList()}")
-       private List<String> nodesExclusionPattern;
-
-       @Value("${schema.edges.inclusion.list:}#{T(java.util.Arrays).asList(\"DbEdgeRules_.*.json\")}")
-       private List<String> edgesInclusionPattern;
-
-       @Value("${schema.edges.exclusion.list:}#{T(java.util.Collections).emptyList()}")
-       private List<String> edgesExclusionPattern;
-
-       /**
-        * @return the file name/location with the list of schema files to be ingested
-        */
-       public String getSchemaConfigLocation() {
-               return schemaConfigLoc;
-       }
-       
-       /**
-        * Sets the name/location of the file with the list of schema files to ingest
-        
-        * @param schemaConfigLoc - the file name/location
-        */
-       public void setSchemaConfigLocation(String schemaConfigLoc) {
-               this.schemaConfigLoc = schemaConfigLoc;
-       }
-       
-       /**
-        * @return the location of the OXM files
-        */
-       public String getNodeDirectory() {
-               return nodeDirectory;
-       }
-       
-       /**
-        * Sets the location of the OXM files
-        
-        * @param nodeDirectory - the location of the OXM files
-        */
-       public void setNodeDirectory(String nodeDirectory) {
-               this.nodeDirectory = nodeDirectory;
-       }
-       
-       /**
-        * @return the location of the edge rule json files
-        */
-       public String getEdgeDirectory() {
-               return edgeDirectory;
-       }
-       
-       /**
-        * Sets the location of the edge rule json files
-        
-        * @param edgeDirectory - the location of the edge rule files
-        */
-       public void setEdgeDirectory(String edgeDirectory) {
-               this.edgeDirectory = edgeDirectory;
-       }
-
-       public List<String> getNodesExclusionPattern(){
-               return this.nodesExclusionPattern;
-       }
-
-       public List<String> getNodesInclusionPattern(){
-               return this.nodesInclusionPattern;
-       }
-
-       public List<String> getEdgesExclusionPattern(){
-               return this.edgesExclusionPattern;
-       }
-
-       public List<String> getEdgesInclusionPattern(){
-               return this.edgesInclusionPattern;
-       }
-
-       //this allows the code to actually read the value from the config file
-       //without this those strings get set to literally "${edgeDir}" etc
-       @Bean
-       public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
-               return new PropertySourcesPlaceholderConfigurer();
-       }
+    /*
+     * Per Spring documentation, the last PropertySource that works will
+     * be applied. Here, schema.ingest.file will be an environment variable
+     * set on install that tells Spring where to look for the schema
+     * ingest properties file (and the actual filename), but the former
+     * PropertySource gives the default of looking on the classpath for
+     * schema-ingest.properties in case that second one doesn't work.
+     * 
+     * The schema-ingest.properties file (or its equivalent if you choose
+     * to name it otherwise) must contain the entries the below @Value
+     * annotations are looking for.
+     */
+
+    @Value("${schema.configuration.location}")
+    private String schemaConfigLoc;
+
+    @Value("${schema.nodes.location}")
+    private String nodeDirectory;
+
+    @Value("${schema.edges.location}")
+    private String edgeDirectory;
+
+    @Value("${schema.nodes.inclusion.list:}#{T(java.util.Arrays).asList(\".*oxm(.*).xml\")}")
+    private List<String> nodesInclusionPattern;
+
+    @Value("${schema.nodes.exclusion.list:}#{T(java.util.Collections).emptyList()}")
+    private List<String> nodesExclusionPattern;
+
+    @Value("${schema.edges.inclusion.list:}#{T(java.util.Arrays).asList(\"DbEdgeRules_.*.json\")}")
+    private List<String> edgesInclusionPattern;
+
+    @Value("${schema.edges.exclusion.list:}#{T(java.util.Collections).emptyList()}")
+    private List<String> edgesExclusionPattern;
+
+    /**
+     * @return the file name/location with the list of schema files to be ingested
+     */
+    public String getSchemaConfigLocation() {
+        return schemaConfigLoc;
+    }
+
+    /**
+     * Sets the name/location of the file with the list of schema files to ingest
+     * 
+     * @param schemaConfigLoc - the file name/location
+     */
+    public void setSchemaConfigLocation(String schemaConfigLoc) {
+        this.schemaConfigLoc = schemaConfigLoc;
+    }
+
+    /**
+     * @return the location of the OXM files
+     */
+    public String getNodeDirectory() {
+        return nodeDirectory;
+    }
+
+    /**
+     * Sets the location of the OXM files
+     * 
+     * @param nodeDirectory - the location of the OXM files
+     */
+    public void setNodeDirectory(String nodeDirectory) {
+        this.nodeDirectory = nodeDirectory;
+    }
+
+    /**
+     * @return the location of the edge rule json files
+     */
+    public String getEdgeDirectory() {
+        return edgeDirectory;
+    }
+
+    /**
+     * Sets the location of the edge rule json files
+     * 
+     * @param edgeDirectory - the location of the edge rule files
+     */
+    public void setEdgeDirectory(String edgeDirectory) {
+        this.edgeDirectory = edgeDirectory;
+    }
+
+    public List<String> getNodesExclusionPattern() {
+        return this.nodesExclusionPattern;
+    }
+
+    public List<String> getNodesInclusionPattern() {
+        return this.nodesInclusionPattern;
+    }
+
+    public List<String> getEdgesExclusionPattern() {
+        return this.edgesExclusionPattern;
+    }
+
+    public List<String> getEdgesInclusionPattern() {
+        return this.edgesInclusionPattern;
+    }
+
+    // this allows the code to actually read the value from the config file
+    // without this those strings get set to literally "${edgeDir}" etc
+    @Bean
+    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
+        return new PropertySourcesPlaceholderConfigurer();
+    }
 }
index 2d2411f..8c29f96 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
+
+import java.io.*;
+import java.util.*;
+
+import javax.ws.rs.HttpMethod;
+
 import org.onap.aai.restclient.RestClient;
 import org.onap.aai.restclient.RestClientFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,10 +38,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 
-import javax.ws.rs.HttpMethod;
-import java.io.*;
-import java.util.*;
-
 /**
  * <b>AAIConfigTranslator</b> is responsible for looking at the schema files and
  * edge files based on the available versions Also has the ability to exclude
@@ -42,68 +45,66 @@ import java.util.*;
  */
 public class SchemaServiceTranslator extends Translator {
 
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(SchemaServiceTranslator.class);
+    private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(SchemaServiceTranslator.class);
 
-       private static final String SchemaServiceClientType = "schema.service";
+    private static final String SchemaServiceClientType = "schema.service";
 
-       @Value("${schema.service.nodes.endpoint}")
-       private String nodeSchemaUri;
+    @Value("${schema.service.nodes.endpoint}")
+    private String nodeSchemaUri;
 
-       @Value("${schema.service.edges.endpoint}")
-       private String edgeSchemaUri;
+    @Value("${schema.service.edges.endpoint}")
+    private String edgeSchemaUri;
 
-       @Autowired
-       private RestClientFactory restClientFactory;
+    @Autowired
+    private RestClientFactory restClientFactory;
 
-       public SchemaServiceTranslator(SchemaVersions schemaVersions) {
-               super(schemaVersions);
-       }
+    public SchemaServiceTranslator(SchemaVersions schemaVersions) {
+        super(schemaVersions);
+    }
 
-       /*
-        * (non-Javadoc)
-        
-        * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
-        */
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
+     */
 
-       @Override
-       public List<InputStream> getVersionNodeStream(SchemaVersion version) throws IOException {
+    @Override
+    public List<InputStream> getVersionNodeStream(SchemaVersion version) throws IOException {
 
-               List<InputStream> inputStreams = new ArrayList<>();
-               String content = "";
-               String uri = nodeSchemaUri + version.toString();
-               Map<String, String> headersMap = new HashMap<>();
+        List<InputStream> inputStreams = new ArrayList<>();
+        String content = "";
+        String uri = nodeSchemaUri + version.toString();
+        Map<String, String> headersMap = new HashMap<>();
 
-               headersMap.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML.toString());
+        headersMap.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML.toString());
         headersMap.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML.toString());
-               RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
-               ResponseEntity<Resource> schemaResponse = restClient.getGetResource(content, uri,
-                               headersMap);
+        RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
+        ResponseEntity<Resource> schemaResponse = restClient.getGetResource(content, uri, headersMap);
         verifySchemaServiceResponse(schemaResponse.getStatusCode());
         LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
-               inputStreams.add(schemaResponse.getBody().getInputStream());
-               return inputStreams;
-       }
+        inputStreams.add(schemaResponse.getBody().getInputStream());
+        return inputStreams;
+    }
 
     @Override
-       public List<String> getJsonPayload(SchemaVersion version) throws IOException {
-               /*
-                * Call Schema MS to get versions using RestTemplate
-                */
-               List<String> inputStreams = new ArrayList<>();
-               String content = "";
-               String uri = edgeSchemaUri + version.toString();
-               Map<String, String> headersMap = new HashMap<>();
-
-               RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
-
-        ResponseEntity<String> schemaResponse = restClient.getGetRequest(content, uri,
-                               headersMap);
+    public List<String> getJsonPayload(SchemaVersion version) throws IOException {
+        /*
+         * Call Schema MS to get versions using RestTemplate
+         */
+        List<String> inputStreams = new ArrayList<>();
+        String content = "";
+        String uri = edgeSchemaUri + version.toString();
+        Map<String, String> headersMap = new HashMap<>();
+
+        RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
+
+        ResponseEntity<String> schemaResponse = restClient.getGetRequest(content, uri, headersMap);
         verifySchemaServiceResponse(schemaResponse.getStatusCode());
         LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
-               inputStreams.add(schemaResponse.getBody());
-               return inputStreams;
+        inputStreams.add(schemaResponse.getBody());
+        return inputStreams;
 
-       }
+    }
 
     private void verifySchemaServiceResponse(HttpStatus statusCode) throws IOException {
         if (statusCode != HttpStatus.OK) {
index 5518ccb..f39042d 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
-import java.util.List;
-import java.util.stream.Collectors;
 
 @Component("schemaServiceVersions")
 @ConditionalOnExpression("'${schema.translator.list}'.contains('schema-service')")
@@ -48,7 +51,7 @@ public class SchemaServiceVersions extends SchemaVersions {
     }
 
     @PostConstruct
-    public void initializeFromSchemaService() throws ExceptionInInitializerError{
+    public void initializeFromSchemaService() throws ExceptionInInitializerError {
 
         versionsValue = versions.stream().map(SchemaVersion::new).collect(Collectors.toList());
         edgeLabelVersionValue = new SchemaVersion(edgeVersion);
@@ -64,7 +67,8 @@ public class SchemaServiceVersions extends SchemaVersions {
     /*
      * TODO Change Method names
      */
-    public void initializeFromSchemaConfig(SchemaConfigVersions schemaConfigVersion) throws ExceptionInInitializerError{
+    public void initializeFromSchemaConfig(SchemaConfigVersions schemaConfigVersion)
+            throws ExceptionInInitializerError {
 
         versions = schemaConfigVersion.getApiVersions();
         appRootVersion = schemaConfigVersion.getAppRootStartVersion();
index 8143b5e..6214a6f 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-package org.onap.aai.setup;
 
-import org.onap.aai.validation.AAISchemaValidationException;
+package org.onap.aai.setup;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.onap.aai.validation.AAISchemaValidationException;
+
 public class SchemaVersion implements Comparable<SchemaVersion> {
 
     public static final Pattern VERSION_PATTERN = Pattern.compile("v([1-9][0-9]*)");
 
     private final Integer value;
 
-    public SchemaVersion(String value){
+    public SchemaVersion(String value) {
         Matcher matcher = VERSION_PATTERN.matcher(value);
 
-        if(!matcher.find()){
-            throw new AAISchemaValidationException("Invalid Schema Version " + value + ", value doesn't match the expected regex: " + VERSION_PATTERN);
+        if (!matcher.find()) {
+            throw new AAISchemaValidationException(
+                    "Invalid Schema Version " + value + ", value doesn't match the expected regex: " + VERSION_PATTERN);
         } else {
             this.value = Integer.parseInt(matcher.group(1));
         }
     }
 
     @Override
-    public int hashCode(){
+    public int hashCode() {
         return value.hashCode();
     }
 
     @Override
-    public boolean equals(Object other){
+    public boolean equals(Object other) {
 
-        if(this == other){
+        if (this == other) {
             return true;
         }
 
-        if(other == null){
+        if (other == null) {
             return false;
         }
 
-        if(!(other instanceof SchemaVersion)){
+        if (!(other instanceof SchemaVersion)) {
             return false;
         }
 
-        SchemaVersion obj = (SchemaVersion)other;
+        SchemaVersion obj = (SchemaVersion) other;
         return this.value.equals(obj.value);
     }
 
     @Override
-    public String toString(){
+    public String toString() {
         return String.valueOf("v" + value);
     }
 
     @Override
     public int compareTo(SchemaVersion o) {
 
-        if(o == null){
+        if (o == null) {
             return -1;
         }
 
index e7f599c..0094a16 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
 import org.onap.aai.validation.AAISchemaValidationException;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import java.util.List;
-import java.util.stream.Collectors;
-
-
 @PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
 @PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 public class SchemaVersions {
@@ -42,9 +43,9 @@ public class SchemaVersions {
     protected SchemaVersion namespaceChangeVersionValue;
 
     protected void validate() {
-       String errorMessage = "Invalid, edge label version is not in the api versions list"
-                    + ", please check schema.version.list and ensure that the"
-                    + " schema.version.edge.label.start is in that list";
+        String errorMessage = "Invalid, edge label version is not in the api versions list"
+                + ", please check schema.version.list and ensure that the"
+                + " schema.version.edge.label.start is in that list";
         if (!versionsValue.contains(edgeLabelVersionValue)) {
             throw new AAISchemaValidationException(errorMessage);
         }
@@ -69,7 +70,7 @@ public class SchemaVersions {
             throw new AAISchemaValidationException(errorMessage);
         }
     }
-    
+
     public List<SchemaVersion> getVersions() {
         return versionsValue;
     }
index dde7cad..68678b8 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
 import com.google.gson.FieldNamingPolicy;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+
 import org.onap.aai.restclient.RestClient;
 import org.onap.aai.restclient.RestClientFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.ResponseEntity;
-import javax.annotation.PostConstruct;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
 
 public class SchemaVersionsBean {
 
@@ -51,43 +55,37 @@ public class SchemaVersionsBean {
 
     @PostConstruct
     public void initialize() {
-        //Call SchemaService to get versions
+        // Call SchemaService to get versions
         retrieveAllSchemaVersions();
     }
 
-    public void retrieveAllSchemaVersions() throws ExceptionInInitializerError{
-           /*
-           Call Schema MS to get versions using RestTemplate
-            */
+    public void retrieveAllSchemaVersions() throws ExceptionInInitializerError {
+        /*
+         * Call Schema MS to get versions using RestTemplate
+         */
         String content = "";
         Map<String, String> headersMap = new HashMap<>();
-        RestClient restClient = restClientFactory
-            .getRestClient(SCHEMA_SERVICE);
+        RestClient restClient = restClientFactory.getRestClient(SCHEMA_SERVICE);
 
-        ResponseEntity<String> schemaResponse = restClient.getGetRequest( content, versionsUri, headersMap);
-        Gson gson = new GsonBuilder()
-            .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES)
-            .create();
+        ResponseEntity<String> schemaResponse = restClient.getGetRequest(content, versionsUri, headersMap);
+        Gson gson = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_DASHES).create();
         schemaVersions = gson.fromJson(schemaResponse.getBody(), SchemaServiceVersions.class);
-       if(!validateOverrides(schemaVersions)){
-           throw new ExceptionInInitializerError("The versions requested is not supported by SchemaService");
-       }
-       if("true".equals(overrideSchemaService)){
-           schemaVersions.initializeFromSchemaConfig(schemaConfigVersions);
-       }
-       else{
-           schemaVersions.initializeFromSchemaService();
-       }
+        if (!validateOverrides(schemaVersions)) {
+            throw new ExceptionInInitializerError("The versions requested is not supported by SchemaService");
+        }
+        if ("true".equals(overrideSchemaService)) {
+            schemaVersions.initializeFromSchemaConfig(schemaConfigVersions);
+        } else {
+            schemaVersions.initializeFromSchemaService();
+        }
 
     }
 
-    public boolean validateOverrides(SchemaServiceVersions schemaVersions1){
+    public boolean validateOverrides(SchemaServiceVersions schemaVersions1) {
         boolean versionsAvailable = true;
-        if("true".equals(overrideSchemaService)){
-            versionsAvailable = schemaConfigVersions.getApiVersions().stream().
-                allMatch(
-                    (s) -> schemaVersions1.getVersionsAll().contains(s)
-                );
+        if ("true".equals(overrideSchemaService)) {
+            versionsAvailable = schemaConfigVersions.getApiVersions().stream()
+                    .allMatch((s) -> schemaVersions1.getVersionsAll().contains(s));
 
         }
         return versionsAvailable;
index 09062e1..39efde5 100644 (file)
 
 package org.onap.aai.setup;
 
-import org.springframework.beans.factory.annotation.Autowired;
-
 import java.io.*;
 import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
 /**
  * Converts the contents of the schema config file
  * (which lists which schema files to be loaded) to
@@ -32,36 +33,33 @@ import java.util.List;
  */
 public abstract class Translator {
 
-       protected SchemaVersions schemaVersions;
+    protected SchemaVersions schemaVersions;
 
-       public Translator(SchemaVersions schemaVersions) {
-               this.schemaVersions = schemaVersions;
-       }
-       
-       /**
-        * Translates the contents of the schema config file
-        * into the input for the NodeIngestor
-        * 
-        * @return Map of Version to the list of (string) filenames to be 
-        * ingested for that version
-        */
+    public Translator(SchemaVersions schemaVersions) {
+        this.schemaVersions = schemaVersions;
+    }
 
+    /**
+     * Translates the contents of the schema config file
+     * into the input for the NodeIngestor
+     * 
+     * @return Map of Version to the list of (string) filenames to be
+     *         ingested for that version
+     */
 
     public abstract List<InputStream> getVersionNodeStream(SchemaVersion version) throws IOException;
 
-    public abstract List<String>
-    getJsonPayload(SchemaVersion version) throws IOException;
-
-       /**
-        * Translates the contents of the schema config file
-        * into the input for the EdgeIngestor
-        * 
-        * @return Map of Version to the List of (String) filenames to be 
-        * ingested for that version
-        */
+    public abstract List<String> getJsonPayload(SchemaVersion version) throws IOException;
 
+    /**
+     * Translates the contents of the schema config file
+     * into the input for the EdgeIngestor
+     * 
+     * @return Map of Version to the List of (String) filenames to be
+     *         ingested for that version
+     */
 
-       public SchemaVersions getSchemaVersions(){
+    public SchemaVersions getSchemaVersions() {
         return this.schemaVersions;
-       }
+    }
 }
index 3fd536b..1506f13 100644 (file)
@@ -24,7 +24,7 @@ package org.onap.aai.validation;
  * Indicates that a fatal error in the A&AI schema has been found.
  */
 public class AAISchemaValidationException extends IllegalStateException {
-       public AAISchemaValidationException(String msg) {
-               super(msg);
-       }
+    public AAISchemaValidationException(String msg) {
+        super(msg);
+    }
 }
index 768c18b..3f0ee41 100644 (file)
@@ -21,6 +21,7 @@
 /**
  * 
  */
+
 package org.onap.aai.validation;
 
 import java.util.ArrayList;
@@ -29,42 +30,48 @@ import java.util.List;
 import org.apache.commons.lang.StringUtils;
 
 /**
- * When an error is found, mark that it is NOT ok to 
- * continue with installation/whatever other caller function, 
+ * When an error is found, mark that it is NOT ok to
+ * continue with installation/whatever other caller function,
  * and keep track of the message but
  * keep validating so all issues are found in one run.
  */
 public class CheckEverythingStrategy implements SchemaErrorStrategy {
-       private boolean isOK = true;
-       private List<String> errorMsgs = new ArrayList<>();
+    private boolean isOK = true;
+    private List<String> errorMsgs = new ArrayList<>();
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#isOK()
-        */
-       @Override
-       public boolean isOK() {
-               return isOK;
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#isOK()
+     */
+    @Override
+    public boolean isOK() {
+        return isOK;
+    }
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#getErrorMsg()
-        */
-       @Override
-       public String getErrorMsg() {
-               if (errorMsgs.isEmpty()) {
-                       return "No errors found.";
-               } else {
-                       return StringUtils.join(errorMsgs, "\n");
-               }
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#getErrorMsg()
+     */
+    @Override
+    public String getErrorMsg() {
+        if (errorMsgs.isEmpty()) {
+            return "No errors found.";
+        } else {
+            return StringUtils.join(errorMsgs, "\n");
+        }
+    }
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#notifyOnError(java.lang.String)
-        */
-       @Override
-       public void notifyOnError(String errorMsg) {
-               isOK = false;
-               errorMsgs.add(errorMsg);
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#notifyOnError(java.lang.String)
+     */
+    @Override
+    public void notifyOnError(String errorMsg) {
+        isOK = false;
+        errorMsgs.add(errorMsg);
+    }
 
 }
index 3617658..7308e37 100644 (file)
@@ -21,6 +21,7 @@
 /**
  * 
  */
+
 package org.onap.aai.validation;
 
 import java.util.List;
@@ -41,15 +42,17 @@ public class DefaultVersionValidationModule implements VersionValidationModule {
 
     private ConfigTranslator config;
 
-       @Autowired
-       public DefaultVersionValidationModule(ConfigTranslator config) {
+    @Autowired
+    public DefaultVersionValidationModule(ConfigTranslator config) {
 
-           this.config = config;
-       }
+        this.config = config;
+    }
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.validation.VersionValidationModule#validate(org.onap.aai.setup.ConfigTranslator)
-        */
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.validation.VersionValidationModule#validate(org.onap.aai.setup.ConfigTranslator)
+     */
     @Override
     public String validate() {
         Map<SchemaVersion, List<String>> nodeConfig = config.getNodeFiles();
index 2c21e68..1352e6b 100644 (file)
@@ -21,6 +21,7 @@
 /**
  * 
  */
+
 package org.onap.aai.validation;
 
 /**
@@ -29,33 +30,39 @@ package org.onap.aai.validation;
  * process to abort.
  */
 public class FailFastStrategy implements SchemaErrorStrategy {
-       private boolean isOK = true;
-       private String errorMsg = "No errors found.";
+    private boolean isOK = true;
+    private String errorMsg = "No errors found.";
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#isOK()
-        */
-       @Override
-       public boolean isOK() {
-               return isOK;
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#isOK()
+     */
+    @Override
+    public boolean isOK() {
+        return isOK;
+    }
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#getErrorMsg()
-        */
-       @Override
-       public String getErrorMsg() {
-               return errorMsg;
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#getErrorMsg()
+     */
+    @Override
+    public String getErrorMsg() {
+        return errorMsg;
+    }
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.validation.SchemaErrorStrategy#notifyOnError(java.lang.String)
-        */
-       @Override
-       public void notifyOnError(String errorMsg) {
-               isOK = false;
-               this.errorMsg = errorMsg;
-               throw new AAISchemaValidationException(errorMsg);
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.validation.SchemaErrorStrategy#notifyOnError(java.lang.String)
+     */
+    @Override
+    public void notifyOnError(String errorMsg) {
+        isOK = false;
+        this.errorMsg = errorMsg;
+        throw new AAISchemaValidationException(errorMsg);
+    }
 
 }
index cefc29c..f46416c 100644 (file)
@@ -24,36 +24,36 @@ package org.onap.aai.validation;
  * Controls response to finding problems in the schema files.
  */
 public interface SchemaErrorStrategy {
-       /**
-        * Gives if it is OK to proceed with whatever process
-        * invoked the validation (probably the installation of
-        * the A&AI instance).
-        
-        * @return boolean
-        */
-       public boolean isOK();
-       
-       /**
-        * Gets the error message(s) gathered in the course
-        * of validation. 
-        
-        * @return String error message or messages concatenated together
-        */
-       public String getErrorMsg();
-       
-       /**
-        * Invokes the ErrorStrategy to do whatever response to
-        * an issue in the schema having been found.
-        
-        * Options:
-        * -Throw an exception if the whole process should be 
-        *  immediately aborted
-        * -Set OK status to false, store the message and allow the
-        *  validation process to continue and find any other issues
-        * -Completely ignore that something is wrong
-        * etc.
-        
-        * @param String errorMsg - the error message from the validator module
-        */
-       public void notifyOnError(String errorMsg);
+    /**
+     * Gives if it is OK to proceed with whatever process
+     * invoked the validation (probably the installation of
+     * the A&AI instance).
+     * 
+     * @return boolean
+     */
+    public boolean isOK();
+
+    /**
+     * Gets the error message(s) gathered in the course
+     * of validation.
+     * 
+     * @return String error message or messages concatenated together
+     */
+    public String getErrorMsg();
+
+    /**
+     * Invokes the ErrorStrategy to do whatever response to
+     * an issue in the schema having been found.
+     * 
+     * Options:
+     * -Throw an exception if the whole process should be
+     * immediately aborted
+     * -Set OK status to false, store the message and allow the
+     * validation process to continue and find any other issues
+     * -Completely ignore that something is wrong
+     * etc.
+     * 
+     * @param String errorMsg - the error message from the validator module
+     */
+    public void notifyOnError(String errorMsg);
 }
index b87be79..ec3523b 100644 (file)
 
 package org.onap.aai.validation;
 
-
 /**
  * Defines the behavior for what versions are required/optional.
  * 
  * Constructor must take ConfigTranslator via autowiring.
  */
 public interface VersionValidationModule {
-       
-       /**
-        * Validates that all required versions have schema
-        * configured for them.
-        *   
-        * @return empty string if none missing or else an appropriate error
-        */
-       public String validate();
+
+    /**
+     * Validates that all required versions have schema
+     * configured for them.
+     * 
+     * @return empty string if none missing or else an appropriate error
+     */
+    public String validate();
 }
index 612da35..375bec0 100644 (file)
@@ -29,25 +29,25 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class VersionValidator {
-       private SchemaErrorStrategy strat;
-       private VersionValidationModule verMod;
-       
-       @Autowired
-       public VersionValidator(SchemaErrorStrategy strategy, VersionValidationModule verMod) {
-               this.strat = strategy;
-               this.verMod = verMod;
-       }
-       
-       public boolean validate() {
-               String result = verMod.validate();
-               if (!"".equals(result)) {
-                       strat.notifyOnError(result);
-               }
-               
-               return strat.isOK();
-       }
-       
-       public String getErrorMsg() {
-               return strat.getErrorMsg();
-       }
+    private SchemaErrorStrategy strat;
+    private VersionValidationModule verMod;
+
+    @Autowired
+    public VersionValidator(SchemaErrorStrategy strategy, VersionValidationModule verMod) {
+        this.strat = strategy;
+        this.verMod = verMod;
+    }
+
+    public boolean validate() {
+        String result = verMod.validate();
+        if (!"".equals(result)) {
+            strat.notifyOnError(result);
+        }
+
+        return strat.isOK();
+    }
+
+    public String getErrorMsg() {
+        return strat.getErrorMsg();
+    }
 }
index d4ab7ae..73337a4 100644 (file)
 package org.onap.aai.validation.edges;
 
 import com.jayway.jsonpath.DocumentContext;
+
+import java.util.*;
+
 import org.onap.aai.edges.EdgeRuleQuery;
 import org.onap.aai.edges.EdgeRuleQuery.Builder;
 import org.onap.aai.edges.enums.EdgeField;
 import org.onap.aai.edges.enums.EdgeType;
 
-import java.util.*;
-
 /**
  * Validates that in the collection of cousin rules between a given node type pair,
- * there is exactly 1 set default=true. 
+ * there is exactly 1 set default=true.
  */
 public class CousinDefaultingValidationModule {
 
-       /**
-        * Validates that in the collection of cousin rules between a given node type pair,
-        * there is exactly 1 set default=true. 
-        * 
-        * @param String nodeTypePair - pair of A&AI node types in the form "typeA|typeB"
-        * @param List<DocumentContext> ctxs - the ingested json schema to validate
-        * @return empty string if ok, appropriate error message otherwise
-        */
-       public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
-               String[] types = nodeTypePair.split("\\|");
-               EdgeRuleQuery lookup = new Builder(types[0], types[1]).edgeType(EdgeType.COUSIN).build();
-               List<Map<String, String>> rules = new ArrayList<>();
-               for (DocumentContext ctx : ctxs) {
-                       rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
-               }
-               
-               if (rules.isEmpty()) {
-                       return ""; //bc irrelevant check
-               }
-               
-               int defaultCount = 0;
-               Set<String> defLabels = new HashSet<>();
-               for (Map<String, String> rule : rules) {
-                       if ("true".equals(rule.get(EdgeField.DEFAULT.toString()))) {
-                               defaultCount++;
-                               defLabels.add(rule.get(EdgeField.LABEL.toString()));
-                       }
-               }
-               
-               StringBuilder errorBase = new StringBuilder().append("Pair ").append(nodeTypePair).append(" must have exactly one cousin rule set as default. ");
-               if (defaultCount == 1) {
-                       return "";
-               } else if (defaultCount == 0){
-                       errorBase.append("None set.");
-                       return errorBase.toString();
-               } else {
-                       errorBase.append("Multiple set, see labels: ");
-                       for (String label : defLabels) {
-                               errorBase.append(label).append(" ");
-                       }
-                       return errorBase.toString();
-               }
-       }
+    /**
+     * Validates that in the collection of cousin rules between a given node type pair,
+     * there is exactly 1 set default=true.
+     * 
+     * @param String nodeTypePair - pair of A&AI node types in the form "typeA|typeB"
+     * @param List<DocumentContext> ctxs - the ingested json schema to validate
+     * @return empty string if ok, appropriate error message otherwise
+     */
+    public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
+        String[] types = nodeTypePair.split("\\|");
+        EdgeRuleQuery lookup = new Builder(types[0], types[1]).edgeType(EdgeType.COUSIN).build();
+        List<Map<String, String>> rules = new ArrayList<>();
+        for (DocumentContext ctx : ctxs) {
+            rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
+        }
+
+        if (rules.isEmpty()) {
+            return ""; // bc irrelevant check
+        }
+
+        int defaultCount = 0;
+        Set<String> defLabels = new HashSet<>();
+        for (Map<String, String> rule : rules) {
+            if ("true".equals(rule.get(EdgeField.DEFAULT.toString()))) {
+                defaultCount++;
+                defLabels.add(rule.get(EdgeField.LABEL.toString()));
+            }
+        }
+
+        StringBuilder errorBase = new StringBuilder().append("Pair ").append(nodeTypePair)
+                .append(" must have exactly one cousin rule set as default. ");
+        if (defaultCount == 1) {
+            return "";
+        } else if (defaultCount == 0) {
+            errorBase.append("None set.");
+            return errorBase.toString();
+        } else {
+            errorBase.append("Multiple set, see labels: ");
+            for (String label : defLabels) {
+                errorBase.append(label).append(" ");
+            }
+            return errorBase.toString();
+        }
+    }
 }
index 9a7288b..1229cf4 100644 (file)
 /**
  * 
  */
-package org.onap.aai.validation.edges;
 
-import org.onap.aai.edges.enums.EdgeField;
+package org.onap.aai.validation.edges;
 
 import java.util.EnumSet;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.onap.aai.edges.enums.EdgeField;
+
 /**
  * Default core A&AI edge field validation
  * All fields in EdgeField enum are required EXCEPT description
@@ -36,37 +37,41 @@ import java.util.Map.Entry;
  */
 public class DefaultEdgeFieldsValidationModule implements EdgeFieldsValidationModule {
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.edges.EdgeFieldsValidator#verifyFields(java.util.Map)
-        */
-       @Override
-       public String verifyFields(Map<String, String> rule) {
-               EnumSet<EdgeField> missingFields = EnumSet.complementOf(EnumSet.allOf(EdgeField.class));
-               
-               for (EdgeField f : EdgeField.values()) {
-                       if (!rule.containsKey(f.toString()) && (f != EdgeField.DESCRIPTION) && (f != EdgeField.PRIVATE)) { //description is optional
-                               missingFields.add(f);
-                       }
-               }
-               
-               StringBuilder errorMsg = new StringBuilder();
-               if (!missingFields.isEmpty()) {
-                       errorMsg.append("Rule ").append(ruleToString(rule)).append(" missing required fields: ");
-                       for (EdgeField mf : missingFields) {
-                               errorMsg.append(mf.toString()).append(" ");
-                       }
-               }
-               
-               return errorMsg.toString();
-       }
-       
-       private String ruleToString(Map<String, String> rule) {
-               StringBuilder sb = new StringBuilder();
-               for (Entry<String, String> fields : rule.entrySet()) {
-                       sb.append(fields.getKey()).append(":").append(fields.getValue()).append(" ");
-               }
-               
-               return sb.toString();
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.edges.EdgeFieldsValidator#verifyFields(java.util.Map)
+     */
+    @Override
+    public String verifyFields(Map<String, String> rule) {
+        EnumSet<EdgeField> missingFields = EnumSet.complementOf(EnumSet.allOf(EdgeField.class));
+
+        for (EdgeField f : EdgeField.values()) {
+            if (!rule.containsKey(f.toString()) && (f != EdgeField.DESCRIPTION) && (f != EdgeField.PRIVATE)) { // description
+                                                                                                               // is
+                                                                                                               // optional
+                missingFields.add(f);
+            }
+        }
+
+        StringBuilder errorMsg = new StringBuilder();
+        if (!missingFields.isEmpty()) {
+            errorMsg.append("Rule ").append(ruleToString(rule)).append(" missing required fields: ");
+            for (EdgeField mf : missingFields) {
+                errorMsg.append(mf.toString()).append(" ");
+            }
+        }
+
+        return errorMsg.toString();
+    }
+
+    private String ruleToString(Map<String, String> rule) {
+        StringBuilder sb = new StringBuilder();
+        for (Entry<String, String> fields : rule.entrySet()) {
+            sb.append(fields.getKey()).append(":").append(fields.getValue()).append(" ");
+        }
+
+        return sb.toString();
+    }
 
 }
index 10ac189..3bfa8d8 100644 (file)
@@ -27,28 +27,28 @@ import java.util.Map;
  *
  */
 public interface EdgeFieldsValidationModule {
-       
-       /**
-        * Verifies the given rule has all required fields.
-        * Implement to check for what you determine to be required.
-        * You may also throw an error on unexpected fields if you wish,
-        * whatever makes sense for your system.
-        
-        * @param rule - Map<String, String> that will look something like this:
-        *              {
-        *                      "from": "foo",
-        *                      "to": "bar",
-        *                      "label": "tosca.relationships.network.BindsTo",
-        *                      "direction": "OUT",
-        *                      "multiplicity": "ONE2ONE",
-        *                      "contains-other-v": "NONE",
-        *                      "delete-other-v": "NONE",
-        *                      "prevent-delete": "NONE",
-        *                      "default": "true",
-        *                      "description":"An edge comment"
-        *              }
-        * @return empty String if no errors found, or String with
-        *      the appropriate error message
-        */
-       public String verifyFields(Map<String, String> rule);
+
+    /**
+     * Verifies the given rule has all required fields.
+     * Implement to check for what you determine to be required.
+     * You may also throw an error on unexpected fields if you wish,
+     * whatever makes sense for your system.
+     * 
+     * @param rule - Map<String, String> that will look something like this:
+     *        {
+     *        "from": "foo",
+     *        "to": "bar",
+     *        "label": "tosca.relationships.network.BindsTo",
+     *        "direction": "OUT",
+     *        "multiplicity": "ONE2ONE",
+     *        "contains-other-v": "NONE",
+     *        "delete-other-v": "NONE",
+     *        "prevent-delete": "NONE",
+     *        "default": "true",
+     *        "description":"An edge comment"
+     *        }
+     * @return empty String if no errors found, or String with
+     *         the appropriate error message
+     */
+    public String verifyFields(Map<String, String> rule);
 }
index 38dcbb7..4eedaa0 100644 (file)
 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();
+    }
 }
index e8c4506..0de6624 100644 (file)
 
 package org.onap.aai.validation.edges;
 
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.onap.aai.nodes.NodeIngestor;
 import org.onap.aai.setup.SchemaVersion;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-
 /**
  * Validates that the node types appearing in the edge rules are valid
  * against the ingested OXM.
@@ -38,52 +37,52 @@ import java.util.Set;
  */
 @Component
 public class NodeTypesValidationModule {
-       private NodeIngestor ni;
-       
-       @Autowired
-       public NodeTypesValidationModule(NodeIngestor ni) {
-               this.ni = ni;
-       }
-       
-       /**
-        * Validate that every node type in the given set is defined in 
-        * the OXM for the given version
-        
-        * @param nodeTypePairs - all the node types in
-        *                              the edge rules for the given version being validated
-        * @param v - the version being validated
-        * @return empty string if all types are present in the given version's ingested OXM, else
-        *      appropriate error message
-        */
-       public String validate(Collection<String> nodeTypePairs, SchemaVersion v) {
-               //setup
-               Set<String> nodeTypes = new HashSet<>();
-               for (String pair : nodeTypePairs) {
-                       String[] types = pair.split("\\|");
-                       
-                       for (String type : types) {
-                               if (!"".equals(type)) {
-                                       nodeTypes.add(type);
-                               }
-                       }
-               }
-               
-               //validation
-               Set<String> badTypes = new HashSet<>();
-               for (String type : nodeTypes) {
-                       if (!ni.hasNodeType(type, v)) {
-                               badTypes.add(type);
-                       }
-               }
-               
-               if (badTypes.isEmpty()) {
-                       return "";
-               } else {
-                       StringBuilder errorBase = new StringBuilder().append("Invalid node type(s) found: ");
-                       for (String bt : badTypes) {
-                               errorBase.append(bt).append(" ");
-                       }
-                       return errorBase.toString();
-               }
-       }
+    private NodeIngestor ni;
+
+    @Autowired
+    public NodeTypesValidationModule(NodeIngestor ni) {
+        this.ni = ni;
+    }
+
+    /**
+     * Validate that every node type in the given set is defined in
+     * the OXM for the given version
+     * 
+     * @param nodeTypePairs - all the node types in
+     *        the edge rules for the given version being validated
+     * @param v - the version being validated
+     * @return empty string if all types are present in the given version's ingested OXM, else
+     *         appropriate error message
+     */
+    public String validate(Collection<String> nodeTypePairs, SchemaVersion v) {
+        // setup
+        Set<String> nodeTypes = new HashSet<>();
+        for (String pair : nodeTypePairs) {
+            String[] types = pair.split("\\|");
+
+            for (String type : types) {
+                if (!"".equals(type)) {
+                    nodeTypes.add(type);
+                }
+            }
+        }
+
+        // validation
+        Set<String> badTypes = new HashSet<>();
+        for (String type : nodeTypes) {
+            if (!ni.hasNodeType(type, v)) {
+                badTypes.add(type);
+            }
+        }
+
+        if (badTypes.isEmpty()) {
+            return "";
+        } else {
+            StringBuilder errorBase = new StringBuilder().append("Invalid node type(s) found: ");
+            for (String bt : badTypes) {
+                errorBase.append(bt).append(" ");
+            }
+            return errorBase.toString();
+        }
+    }
 }
index ad2cffe..5f6a964 100644 (file)
 package org.onap.aai.validation.edges;
 
 import com.jayway.jsonpath.DocumentContext;
-import org.onap.aai.edges.EdgeRuleQuery;
-import org.onap.aai.edges.enums.EdgeType;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.onap.aai.edges.EdgeRuleQuery;
+import org.onap.aai.edges.enums.EdgeType;
+
 /**
  * Validates that the given node type pair has at most one containment relationship
  * in their edge rules.
  * 
  */
 public class SingleContainmentValidationModule {
-       
-       /**
-        * Validates that the given node type pair has at most one containment relationship
-        * in their edge rules.
-        
-        * @param String nodeTypePair - pair of A&AI node types in the form "typeA|typeB"
-        * @param List<DocumentContext> ctxs - the ingested json to validate
-        * @return empty string if passes, else appropriate error message
-        */
-       public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
-               String[] types = nodeTypePair.split("\\|");
-               EdgeRuleQuery lookup = new EdgeRuleQuery.Builder(types[0], types[1]).edgeType(EdgeType.TREE).build();
-               List<Map<String, String>> rules = new ArrayList<>();
-               for (DocumentContext ctx : ctxs) {
-                       rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
-               }
-               
-               if (rules.isEmpty() || rules.size() == 1) {
-                       return ""; 
-               } else { //had more than one containment relationship for the pair
-                       return "Pair " + nodeTypePair + " has multiple containment rules. Only one allowed.";
-               }
-       }
+
+    /**
+     * Validates that the given node type pair has at most one containment relationship
+     * in their edge rules.
+     * 
+     * @param String nodeTypePair - pair of A&AI node types in the form "typeA|typeB"
+     * @param List<DocumentContext> ctxs - the ingested json to validate
+     * @return empty string if passes, else appropriate error message
+     */
+    public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
+        String[] types = nodeTypePair.split("\\|");
+        EdgeRuleQuery lookup = new EdgeRuleQuery.Builder(types[0], types[1]).edgeType(EdgeType.TREE).build();
+        List<Map<String, String>> rules = new ArrayList<>();
+        for (DocumentContext ctx : ctxs) {
+            rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
+        }
+
+        if (rules.isEmpty() || rules.size() == 1) {
+            return "";
+        } else { // had more than one containment relationship for the pair
+            return "Pair " + nodeTypePair + " has multiple containment rules. Only one allowed.";
+        }
+    }
 }
index 35d7466..82dc169 100644 (file)
 package org.onap.aai.validation.edges;
 
 import com.jayway.jsonpath.DocumentContext;
+
+import java.util.*;
+
 import org.onap.aai.edges.EdgeRuleQuery;
 import org.onap.aai.edges.EdgeRuleQuery.Builder;
 import org.onap.aai.edges.enums.EdgeField;
 
-import java.util.*;
-
 /**
  * Applies label validation rules
  *
  */
 public class UniqueLabelValidationModule {
-       
-       /**
-        * Validates that the given pair of node types have no duplicate labels in
-        * their edge rules
-        
-        * @param String nodeTypePair - of the form "typeA|typeB"
-        * @param List<DocumentContext> ctxs - the edge rule json to pull rules from
-        *                      (ie all files for one version)
-        * @return empty string if no errors, else string error message
-        */
-       public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
-               String[] types = nodeTypePair.split("\\|");
-               EdgeRuleQuery lookup = new Builder(types[0], types[1]).build();
-               
-               List<Map<String, String>> rules = new ArrayList<>();
-               for (DocumentContext ctx : ctxs) {
-                       rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
-               }
-               
-               Set<String> labelsSeen = new HashSet<>();
-               for (Map<String, String> rule : rules) {
-                       String label = rule.get(EdgeField.LABEL.toString());
-                       if (labelsSeen.contains(label)) {
-                               return "Pair " + nodeTypePair + " has multiple rules using the same label: " + label + 
-                                               ". Every rule between the same node type pair must have a unique label.";
-                       } else {
-                               labelsSeen.add(label);
-                       }
-               }
-               return "";
-       }
+
+    /**
+     * Validates that the given pair of node types have no duplicate labels in
+     * their edge rules
+     * 
+     * @param String nodeTypePair - of the form "typeA|typeB"
+     * @param List<DocumentContext> ctxs - the edge rule json to pull rules from
+     *        (ie all files for one version)
+     * @return empty string if no errors, else string error message
+     */
+    public String validate(String nodeTypePair, List<DocumentContext> ctxs) {
+        String[] types = nodeTypePair.split("\\|");
+        EdgeRuleQuery lookup = new Builder(types[0], types[1]).build();
+
+        List<Map<String, String>> rules = new ArrayList<>();
+        for (DocumentContext ctx : ctxs) {
+            rules.addAll(ctx.read("$.rules.[?]", lookup.getFilter()));
+        }
+
+        Set<String> labelsSeen = new HashSet<>();
+        for (Map<String, String> rule : rules) {
+            String label = rule.get(EdgeField.LABEL.toString());
+            if (labelsSeen.contains(label)) {
+                return "Pair " + nodeTypePair + " has multiple rules using the same label: " + label
+                        + ". Every rule between the same node type pair must have a unique label.";
+            } else {
+                labelsSeen.add(label);
+            }
+        }
+        return "";
+    }
 }
index bbb3388..024525b 100644 (file)
@@ -20,6 +20,9 @@
 
 package org.onap.aai.validation.nodes;
 
+import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.Multimap;
+
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -36,9 +39,6 @@ import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.Multimap;
-
 /**
  * Default duplicate rules for A&AI -
  * node types may never have a duplicate definition
@@ -49,56 +49,59 @@ import com.google.common.collect.Multimap;
  */
 public class DefaultDuplicateNodeDefinitionValidationModule implements DuplicateNodeDefinitionValidationModule {
 
-       /* (non-Javadoc)
-        * @see org.onap.aai.nodes.validation.DuplicateNodeDefinitionValidationModule#findDuplicates(java.util.List)
-        */
-       @Override
-       public String findDuplicates(List<String> files, SchemaVersion v) {
-               try {
-                       final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
-                       docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-                       final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
-                               
-                       Multimap<String, String> types = ArrayListMultimap.create();
-                       boolean foundDups = false;
-                       for (String file : files) {
-                               InputStream inputStream = new FileInputStream(file);
-                               final Document doc = docBuilder.parse(inputStream);
-                               final NodeList list = doc.getElementsByTagName("java-type");
-       
-                               for (int i = 0; i < list.getLength(); i++) {
-                                       String type = list.item(i).getAttributes().getNamedItem("name").getNodeValue();
-                                       if (types.containsKey(type)) {
-                                               foundDups = true;
-                                       }
-                                       types.put(type, file);
-                               }
-                       }
-                       
-                       if (foundDups) {
-                               return buildErrorMsg(types, v);
-                       } else {
-                               return "";
-                       }
-               } catch (ParserConfigurationException | SAXException | IOException e) {
-                       // TODO something useful with this information
-                       return e.getMessage();
-               }
-       }
-       
-       private String buildErrorMsg(Multimap<String, String> types, SchemaVersion v) {
-               StringBuilder errorMsg = new StringBuilder().append("Duplicates found in version ").append(v.toString()).append(". ");
-               for (String nodeType : types.keySet()) {
-                       Collection<String> files = types.get(nodeType);
-                       if (files.size() == 1) {
-                               continue; //only record the duplicated ones
-                       }
-                       errorMsg.append(nodeType).append(" has definitions in ");
-                       for (String file : files) {
-                               errorMsg.append(file).append(" ");
-                       }
-               }
-               return errorMsg.toString();
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.onap.aai.nodes.validation.DuplicateNodeDefinitionValidationModule#findDuplicates(java.util.List)
+     */
+    @Override
+    public String findDuplicates(List<String> files, SchemaVersion v) {
+        try {
+            final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+            docFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+            final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+
+            Multimap<String, String> types = ArrayListMultimap.create();
+            boolean foundDups = false;
+            for (String file : files) {
+                InputStream inputStream = new FileInputStream(file);
+                final Document doc = docBuilder.parse(inputStream);
+                final NodeList list = doc.getElementsByTagName("java-type");
+
+                for (int i = 0; i < list.getLength(); i++) {
+                    String type = list.item(i).getAttributes().getNamedItem("name").getNodeValue();
+                    if (types.containsKey(type)) {
+                        foundDups = true;
+                    }
+                    types.put(type, file);
+                }
+            }
+
+            if (foundDups) {
+                return buildErrorMsg(types, v);
+            } else {
+                return "";
+            }
+        } catch (ParserConfigurationException | SAXException | IOException e) {
+            // TODO something useful with this information
+            return e.getMessage();
+        }
+    }
+
+    private String buildErrorMsg(Multimap<String, String> types, SchemaVersion v) {
+        StringBuilder errorMsg =
+                new StringBuilder().append("Duplicates found in version ").append(v.toString()).append(". ");
+        for (String nodeType : types.keySet()) {
+            Collection<String> files = types.get(nodeType);
+            if (files.size() == 1) {
+                continue; // only record the duplicated ones
+            }
+            errorMsg.append(nodeType).append(" has definitions in ");
+            for (String file : files) {
+                errorMsg.append(file).append(" ");
+            }
+        }
+        return errorMsg.toString();
+    }
 
 }
index 5484add..4fbf419 100644 (file)
@@ -35,13 +35,13 @@ import org.onap.aai.setup.SchemaVersion;
  * etc.
  */
 public interface DuplicateNodeDefinitionValidationModule {
-       /**
-        * Finds any duplicates according to the defined rules
-        
-        * @param files - the OXM files to use with full directory
-        * @return empty String if none found, else a String
-        *      with appropriate information about what node types
-        *  were found
-        */
-       String findDuplicates(List<String> files, SchemaVersion v);
+    /**
+     * Finds any duplicates according to the defined rules
+     * 
+     * @param files - the OXM files to use with full directory
+     * @return empty String if none found, else a String
+     *         with appropriate information about what node types
+     *         were found
+     */
+    String findDuplicates(List<String> files, SchemaVersion v);
 }
index 38b3a70..ac9ecbd 100644 (file)
@@ -33,28 +33,29 @@ import org.springframework.stereotype.Component;
 public class NodeValidator {
 
     private ConfigTranslator translator;
-       private SchemaErrorStrategy strat;
-       private DuplicateNodeDefinitionValidationModule dupChecker;
+    private SchemaErrorStrategy strat;
+    private DuplicateNodeDefinitionValidationModule dupChecker;
 
-       @Autowired
-       public NodeValidator( ConfigTranslator translator, SchemaErrorStrategy strategy, DuplicateNodeDefinitionValidationModule dupChecker) {
+    @Autowired
+    public NodeValidator(ConfigTranslator translator, SchemaErrorStrategy strategy,
+            DuplicateNodeDefinitionValidationModule dupChecker) {
         this.translator = translator;
-               this.strat = strategy;
-               this.dupChecker = dupChecker;
-       }
-       
-       public boolean validate() {
-               
-               for(Entry<SchemaVersion, List<String>> entry : translator.getNodeFiles().entrySet()) {
-                       String result = dupChecker.findDuplicates(entry.getValue(), entry.getKey());
-                       if (!"".equals(result)) {
-                               strat.notifyOnError(result);
-                       }
-               }
-               return strat.isOK();
-       }
-       
-       public String getErrorMsg() {
-               return strat.getErrorMsg();
-       }
+        this.strat = strategy;
+        this.dupChecker = dupChecker;
+    }
+
+    public boolean validate() {
+
+        for (Entry<SchemaVersion, List<String>> entry : translator.getNodeFiles().entrySet()) {
+            String result = dupChecker.findDuplicates(entry.getValue(), entry.getKey());
+            if (!"".equals(result)) {
+                strat.notifyOnError(result);
+            }
+        }
+        return strat.isOK();
+    }
+
+    public String getErrorMsg() {
+        return strat.getErrorMsg();
+    }
 }
index 3ed7bb7..e382657 100644 (file)
 
 package org.onap.aai.edges;
 
+import static org.junit.Assert.*;
+
 import com.google.common.collect.Multimap;
+
+import java.util.Collection;
+
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.config.EdgesConfiguration;
 import org.onap.aai.edges.enums.AAIDirection;
 import org.onap.aai.edges.enums.MultiplicityRule;
 import org.onap.aai.edges.exceptions.AmbiguousRuleChoiceException;
 import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.setup.SchemaLocationsBean;
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.testutils.TestUtilConfigTranslator;
@@ -42,16 +47,14 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import java.util.Collection;
-
-import static org.junit.Assert.*;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = { EdgesConfiguration.class, TestUtilConfigTranslator.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(classes = {EdgesConfiguration.class, TestUtilConfigTranslator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
-//@TestPropertySource(locations = "/schema-service-rest.properties" )
+// @TestPropertySource(locations = "/schema-service-rest.properties" )
 @SpringBootTest
 public class EdgeIngestorLocalTest {
     @Autowired
@@ -70,7 +73,7 @@ public class EdgeIngestorLocalTest {
         assertTrue(2 == results.get("bar|foo").size());
         boolean seenLabel1 = false;
         boolean seenLabel2 = false;
-        for(EdgeRule r : results.get("bar|foo")) {
+        for (EdgeRule r : results.get("bar|foo")) {
             if ("eats".equals(r.getLabel())) {
                 seenLabel1 = true;
             }
@@ -107,16 +110,17 @@ public class EdgeIngestorLocalTest {
 
     @Test
     public void getRulesFlippedTypesTest() throws EdgeRuleNotFoundException {
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q =
+                new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
         Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
         assertTrue(results.size() == 3);
         for (EdgeRule r : results.get("l-interface|logical-link")) {
-            if ("org.onap.relationships.inventory.Source".equals(r.getLabel()) ||
-                "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
-                //these are defined with from=logical-link, to=l-interface, so they must be flipped
+            if ("org.onap.relationships.inventory.Source".equals(r.getLabel())
+                    || "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
+                // these are defined with from=logical-link, to=l-interface, so they must be flipped
                 assertTrue(Direction.IN.equals(r.getDirection()));
             } else if ("tosca.relationships.network.LinksTo".equals(r.getLabel())) {
-                //this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
+                // this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
                 assertTrue(Direction.OUT.equals(r.getDirection()));
             } else {
                 fail("how did you get here");
@@ -126,19 +130,19 @@ public class EdgeIngestorLocalTest {
 
     @Test
     public void fromToSameFlipTests() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-        //getRules, setting from and to
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop","bloop").version(new SchemaVersion("v11")).build();
+        // getRules, setting from and to
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop", "bloop").version(new SchemaVersion("v11")).build();
         Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
         assertTrue(results.size() == 1);
         for (EdgeRule r : results.get("bloop|bloop")) {
             assertTrue(Direction.IN.equals(r.getDirection()));
         }
 
-        //getRule, setting just from
+        // getRule, setting just from
         EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("bloop").version(new SchemaVersion("v11")).build();
         assertTrue(Direction.IN.equals(edgeIngestor.getRule(q2).getDirection()));
 
-        //getChildRules
+        // getChildRules
         Multimap<String, EdgeRule> child = edgeIngestor.getChildRules("bloop", new SchemaVersion("v11"));
         assertTrue(child.size() == 1);
         for (EdgeRule r : child.get("bloop|bloop")) {
@@ -186,7 +190,7 @@ public class EdgeIngestorLocalTest {
         assertTrue("parent".equals(result.getFrom()));
         assertTrue("notation".equals(result.getTo()));
         assertTrue("has".equals(result.getLabel()));
-        //direction flipped to match input order per old EdgeRules.java API
+        // direction flipped to match input order per old EdgeRules.java API
         assertTrue(Direction.IN.equals(result.getDirection()));
         assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
         assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
@@ -195,44 +199,47 @@ public class EdgeIngestorLocalTest {
         assertTrue("parent contains notation".equals(result.getDescription()));
     }
 
-//    @Test
-//    public void getRuleWithDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-//
-//        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","logical-link").version(new SchemaVersion("v11")).build();
-//        EdgeRule res = edgeIngestor.getRule(q);
-//        assertTrue(res.isDefault());
-//        assertTrue("tosca.relationships.network.LinksTo".equals(res.getLabel()));
-//    }
-//
-//    @Test
-//    public void getRuleWithNonDefault() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-//        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","logical-link").label("org.onap.relationships.inventory.Source").version(new SchemaVersion("v11")).build();
-//        EdgeRule res = edgeIngestor.getRule(q);
-//        assertFalse(res.isDefault());
-//        assertTrue("org.onap.relationships.inventory.Source".equals(res.getLabel()));
-//    }
+    // @Test
+    // public void getRuleWithDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+    //
+    // EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","logical-link").version(new
+    // SchemaVersion("v11")).build();
+    // EdgeRule res = edgeIngestor.getRule(q);
+    // assertTrue(res.isDefault());
+    // assertTrue("tosca.relationships.network.LinksTo".equals(res.getLabel()));
+    // }
+    //
+    // @Test
+    // public void getRuleWithNonDefault() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+    // EdgeRuleQuery q = new
+    // EdgeRuleQuery.Builder("l-interface","logical-link").label("org.onap.relationships.inventory.Source").version(new
+    // SchemaVersion("v11")).build();
+    // EdgeRule res = edgeIngestor.getRule(q);
+    // assertFalse(res.isDefault());
+    // assertTrue("org.onap.relationships.inventory.Source".equals(res.getLabel()));
+    // }
 
     @Test
     public void getRuleNoneFoundTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
         thrown.expect(EdgeRuleNotFoundException.class);
         thrown.expectMessage("No rule found for");
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","nonexistent").build();
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "nonexistent").build();
         edgeIngestor.getRule(q);
     }
 
-//    @Test
-//    public void getRuleTooManyPairsTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-//        thrown.expect(AmbiguousRuleChoiceException.class);
-//        thrown.expectMessage("No way to select single rule from these pairs:");
-//        EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").build();
-//        edgeIngestor.getRule(q);
-//    }
+    // @Test
+    // public void getRuleTooManyPairsTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+    // thrown.expect(AmbiguousRuleChoiceException.class);
+    // thrown.expectMessage("No way to select single rule from these pairs:");
+    // EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").build();
+    // edgeIngestor.getRule(q);
+    // }
 
     @Test
     public void getRuleAmbiguousDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
         thrown.expect(AmbiguousRuleChoiceException.class);
         thrown.expectMessage("Multiple defaults found.");
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("seed","plant").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("seed", "plant").version(new SchemaVersion("v11")).build();
         edgeIngestor.getRule(q);
     }
 
@@ -244,19 +251,20 @@ public class EdgeIngestorLocalTest {
         edgeIngestor.getRule(q);
     }
 
-//    @Test
-//    public void hasRuleTest() {
-//        assertTrue(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v11")).build()));
-//        assertFalse(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").build()));
-//    }
-//
-//    @Test
-//    public void getCousinRulesTest() {
-//        Multimap<String, EdgeRule> results = edgeIngestor.getCousinRules("dog");
-//        assertTrue(results.size() == 2);
-//        assertTrue(results.containsKey("dog|puppy"));
-//        assertTrue(results.containsKey("dog|foo"));
-//    }
+    // @Test
+    // public void hasRuleTest() {
+    // assertTrue(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").version(new
+    // SchemaVersion("v11")).build()));
+    // assertFalse(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").build()));
+    // }
+    //
+    // @Test
+    // public void getCousinRulesTest() {
+    // Multimap<String, EdgeRule> results = edgeIngestor.getCousinRules("dog");
+    // assertTrue(results.size() == 2);
+    // assertTrue(results.containsKey("dog|puppy"));
+    // assertTrue(results.containsKey("dog|foo"));
+    // }
 
     @Test
     public void getCousinRulesWithVersionTest() {
@@ -272,13 +280,13 @@ public class EdgeIngestorLocalTest {
         assertTrue(results.isEmpty());
     }
 
-//    @Test
-//    public void hasCousinTest() {
-//        assertTrue(edgeIngestor.hasCousinRule("foo"));
-//        assertTrue(edgeIngestor.hasCousinRule("foo", new SchemaVersion("v10")));
-//        assertFalse(edgeIngestor.hasCousinRule("parent"));
-//        assertFalse(edgeIngestor.hasCousinRule("foo", new SchemaVersion("v11")));
-//    }
+    // @Test
+    // public void hasCousinTest() {
+    // assertTrue(edgeIngestor.hasCousinRule("foo"));
+    // assertTrue(edgeIngestor.hasCousinRule("foo", new SchemaVersion("v10")));
+    // assertFalse(edgeIngestor.hasCousinRule("parent"));
+    // assertFalse(edgeIngestor.hasCousinRule("foo", new SchemaVersion("v11")));
+    // }
 
     @Test
     public void getChildRulesTest() {
@@ -306,13 +314,13 @@ public class EdgeIngestorLocalTest {
         assertTrue(results.isEmpty());
     }
 
-//    @Test
-//    public void hasChildTest() {
-//        assertTrue(edgeIngestor.hasChildRule("foo"));
-//        assertTrue(edgeIngestor.hasChildRule("foo", new SchemaVersion("v10")));
-//        assertFalse(edgeIngestor.hasChildRule("puppy"));
-//        assertFalse(edgeIngestor.hasChildRule("foo", new SchemaVersion("v11")));
-//    }
+    // @Test
+    // public void hasChildTest() {
+    // assertTrue(edgeIngestor.hasChildRule("foo"));
+    // assertTrue(edgeIngestor.hasChildRule("foo", new SchemaVersion("v10")));
+    // assertFalse(edgeIngestor.hasChildRule("puppy"));
+    // assertFalse(edgeIngestor.hasChildRule("foo", new SchemaVersion("v11")));
+    // }
 
     @Test
     public void getParentRulesTest() {
@@ -347,11 +355,11 @@ public class EdgeIngestorLocalTest {
         assertFalse(edgeIngestor.hasParentRule("foo", new SchemaVersion("v11")));
     }
 
-//    @Test
-//    public void getAllCurrentRulesTest() throws EdgeRuleNotFoundException {
-//        Multimap<String, EdgeRule> res = edgeIngestor.getAllCurrentRules();
-//        assertTrue(res.size() == 18);
-//    }
+    // @Test
+    // public void getAllCurrentRulesTest() throws EdgeRuleNotFoundException {
+    // Multimap<String, EdgeRule> res = edgeIngestor.getAllCurrentRules();
+    // assertTrue(res.size() == 18);
+    // }
 
     @Test
     public void getAllRulesTest() throws EdgeRuleNotFoundException {
index ab83e19..8fdce62 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aai.edges;
 
 import static org.junit.Assert.*;
 
+import com.google.common.collect.Multimap;
+
 import java.util.Collection;
 
 import org.apache.tinkerpop.gremlin.structure.Direction;
@@ -30,13 +32,13 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.onap.aai.restclient.MockProvider;
-import org.onap.aai.restclient.MockRestClient;
 import org.onap.aai.config.EdgesConfiguration;
 import org.onap.aai.edges.enums.AAIDirection;
 import org.onap.aai.edges.enums.MultiplicityRule;
 import org.onap.aai.edges.exceptions.AmbiguousRuleChoiceException;
 import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.restclient.MockProvider;
+import org.onap.aai.restclient.MockRestClient;
 import org.onap.aai.setup.SchemaVersion;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -45,11 +47,10 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import com.google.common.collect.Multimap;
-
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {MockProvider.class, EdgesConfiguration.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test.properties" })
+@TestPropertySource(
+        properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test.properties"})
 
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
 @SpringBootTest
@@ -74,7 +75,7 @@ public class EdgeIngestorTest {
         assertTrue(2 == results.get("bar|foo").size());
         boolean seenLabel1 = false;
         boolean seenLabel2 = false;
-        for(EdgeRule r : results.get("bar|foo")) {
+        for (EdgeRule r : results.get("bar|foo")) {
             if ("eats".equals(r.getLabel())) {
                 seenLabel1 = true;
             }
@@ -111,16 +112,17 @@ public class EdgeIngestorTest {
 
     @Test
     public void getRulesFlippedTypesTest() throws EdgeRuleNotFoundException {
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q =
+                new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
         Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
         assertTrue(results.size() == 3);
         for (EdgeRule r : results.get("l-interface|logical-link")) {
-            if ("org.onap.relationships.inventory.Source".equals(r.getLabel()) ||
-                "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
-                //these are defined with from=logical-link, to=l-interface, so they must be flipped
+            if ("org.onap.relationships.inventory.Source".equals(r.getLabel())
+                    || "org.onap.relationships.inventory.Destination".equals(r.getLabel())) {
+                // these are defined with from=logical-link, to=l-interface, so they must be flipped
                 assertTrue(Direction.IN.equals(r.getDirection()));
             } else if ("tosca.relationships.network.LinksTo".equals(r.getLabel())) {
-                //this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
+                // this is defined with from=l-interface, to=logical-link, so it shouldn't be flipped
                 assertTrue(Direction.OUT.equals(r.getDirection()));
             } else {
                 fail("how did you get here");
@@ -130,19 +132,19 @@ public class EdgeIngestorTest {
 
     @Test
     public void fromToSameFlipTests() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-        //getRules, setting from and to
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop","bloop").version(new SchemaVersion("v11")).build();
+        // getRules, setting from and to
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("bloop", "bloop").version(new SchemaVersion("v11")).build();
         Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
         assertTrue(results.size() == 1);
         for (EdgeRule r : results.get("bloop|bloop")) {
             assertTrue(Direction.IN.equals(r.getDirection()));
         }
 
-        //getRule, setting just from
+        // getRule, setting just from
         EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("bloop").version(new SchemaVersion("v11")).build();
         assertTrue(Direction.IN.equals(edgeIngestor.getRule(q2).getDirection()));
 
-        //getChildRules
+        // getChildRules
         Multimap<String, EdgeRule> child = edgeIngestor.getChildRules("bloop", new SchemaVersion("v11"));
         assertTrue(child.size() == 1);
         for (EdgeRule r : child.get("bloop|bloop")) {
@@ -182,25 +184,24 @@ public class EdgeIngestorTest {
         assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
         assertTrue("parent contains notation".equals(result.getDescription()));
     }
-//    @Test
-//    public void getRuleSimpleTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-//        EdgeRuleQuery q = new EdgeRuleQuery.Builder("parent", "notation").build();
-//        Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
-//        assertTrue(results.size() == 1);
-//        //        EdgeRule result = edgeIngestor.getRule(q);
-//        for (EdgeRule result : results.get("parent|notation")) {
-//            assertTrue("parent".equals(result.getFrom()));
-//            assertTrue("notation".equals(result.getTo()));
-//            assertTrue("has".equals(result.getLabel()));
-//            assertTrue(Direction.OUT.equals(result.getDirection()));
-//            assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
-//            assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
-//            assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
-//            assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
-//            assertTrue("parent contains notation".equals(result.getDescription()));
-//        }
-//    }
-
+    // @Test
+    // public void getRuleSimpleTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
+    // EdgeRuleQuery q = new EdgeRuleQuery.Builder("parent", "notation").build();
+    // Multimap<String, EdgeRule> results = edgeIngestor.getRules(q);
+    // assertTrue(results.size() == 1);
+    // // EdgeRule result = edgeIngestor.getRule(q);
+    // for (EdgeRule result : results.get("parent|notation")) {
+    // assertTrue("parent".equals(result.getFrom()));
+    // assertTrue("notation".equals(result.getTo()));
+    // assertTrue("has".equals(result.getLabel()));
+    // assertTrue(Direction.OUT.equals(result.getDirection()));
+    // assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
+    // assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
+    // assertTrue(AAIDirection.NONE.toString().equals(result.getDeleteOtherV()));
+    // assertTrue(AAIDirection.NONE.toString().equals(result.getPreventDelete()));
+    // assertTrue("parent contains notation".equals(result.getDescription()));
+    // }
+    // }
 
     @Test
     public void getRuleFlippedTypesTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
@@ -209,7 +210,7 @@ public class EdgeIngestorTest {
         assertTrue("parent".equals(result.getFrom()));
         assertTrue("notation".equals(result.getTo()));
         assertTrue("has".equals(result.getLabel()));
-        //direction flipped to match input order per old EdgeRules.java API
+        // direction flipped to match input order per old EdgeRules.java API
         assertTrue(Direction.IN.equals(result.getDirection()));
         assertTrue(MultiplicityRule.MANY2MANY.equals(result.getMultiplicityRule()));
         assertTrue(AAIDirection.OUT.toString().equals(result.getContains()));
@@ -221,7 +222,8 @@ public class EdgeIngestorTest {
     @Test
     public void getRuleWithDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
 
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","logical-link").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q =
+                new EdgeRuleQuery.Builder("l-interface", "logical-link").version(new SchemaVersion("v11")).build();
         EdgeRule res = edgeIngestor.getRule(q);
         assertTrue(res.isDefault());
         assertTrue("tosca.relationships.network.LinksTo".equals(res.getLabel()));
@@ -229,7 +231,8 @@ public class EdgeIngestorTest {
 
     @Test
     public void getRuleWithNonDefault() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","logical-link").label("org.onap.relationships.inventory.Source").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "logical-link")
+                .label("org.onap.relationships.inventory.Source").version(new SchemaVersion("v11")).build();
         EdgeRule res = edgeIngestor.getRule(q);
         assertFalse(res.isDefault());
         assertTrue("org.onap.relationships.inventory.Source".equals(res.getLabel()));
@@ -239,7 +242,7 @@ public class EdgeIngestorTest {
     public void getRuleNoneFoundTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
         thrown.expect(EdgeRuleNotFoundException.class);
         thrown.expectMessage("No rule found for");
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface","nonexistent").build();
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("l-interface", "nonexistent").build();
         edgeIngestor.getRule(q);
     }
 
@@ -255,7 +258,7 @@ public class EdgeIngestorTest {
     public void getRuleAmbiguousDefaultTest() throws EdgeRuleNotFoundException, AmbiguousRuleChoiceException {
         thrown.expect(AmbiguousRuleChoiceException.class);
         thrown.expectMessage("Multiple defaults found.");
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("seed","plant").version(new SchemaVersion("v11")).build();
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("seed", "plant").version(new SchemaVersion("v11")).build();
         edgeIngestor.getRule(q);
     }
 
@@ -269,10 +272,12 @@ public class EdgeIngestorTest {
 
     @Test
     public void hasRuleTest() {
-        assertTrue(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v11")).build()));
-        assertFalse(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v10")).build()));
+        assertTrue(edgeIngestor
+                .hasRule(new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v11")).build()));
+        assertFalse(edgeIngestor
+                .hasRule(new EdgeRuleQuery.Builder("l-interface").version(new SchemaVersion("v10")).build()));
         assertTrue(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").build()));
-//        assertFalse(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").build()));
+        // assertFalse(edgeIngestor.hasRule(new EdgeRuleQuery.Builder("l-interface").build()));
     }
 
     @Test
index 395c9cc..0a6a3f0 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aai.edges;
 
 import static org.junit.Assert.*;
 
+import com.google.common.collect.Multimap;
+
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -29,7 +31,6 @@ import org.onap.aai.config.EdgesConfiguration;
 import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.setup.SchemaVersionsBean;
-
 import org.onap.aai.testutils.ConfigTranslatorForWiringTest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -37,20 +38,21 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import com.google.common.collect.Multimap;
-
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {EdgesConfiguration.class, ConfigTranslatorForWiringTest.class})
-@TestPropertySource(properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class EdgeIngestorWiringTest {
     @Autowired
     EdgeIngestor ei;
-    
+
     @Test
     public void test() throws EdgeRuleNotFoundException {
         assertNotNull(ei);
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("quux", "foo").label("dancesWith").version(new SchemaVersion("v10")).build();
+        EdgeRuleQuery q =
+                new EdgeRuleQuery.Builder("quux", "foo").label("dancesWith").version(new SchemaVersion("v10")).build();
         Multimap<String, EdgeRule> results = ei.getRules(q);
         assertTrue(results.size() == 1);
         assertTrue(results.containsKey("foo|quux"));
index 27c8d6e..c1894f0 100644 (file)
@@ -22,6 +22,9 @@ package org.onap.aai.edges;
 
 import static org.junit.Assert.*;
 
+import com.jayway.jsonpath.DocumentContext;
+import com.jayway.jsonpath.JsonPath;
+
 import java.io.InputStream;
 import java.util.List;
 import java.util.Scanner;
@@ -30,14 +33,10 @@ import org.junit.Before;
 import org.junit.Test;
 import org.onap.aai.edges.enums.EdgeType;
 
-import com.jayway.jsonpath.DocumentContext;
-import com.jayway.jsonpath.JsonPath;
-
-
 public class EdgeRuleQueryTest {
     private DocumentContext testRules;
     private String readStart = "$.rules.[?]";
-    
+
     /* **** DATA SETUP **** */
     @Before
     public void setup() {
@@ -46,85 +45,85 @@ public class EdgeRuleQueryTest {
         Scanner scanner = new Scanner(is);
         String json = scanner.useDelimiter("\\Z").next();
         scanner.close();
-        
+
         this.testRules = JsonPath.parse(json);
     }
 
     /* **** TESTS **** */
     @Test
     public void testFromToSingle() {
-        //rule defined from quux to foo
+        // rule defined from quux to foo
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("quux", "foo").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
-        
+
         assertTrue(results.size() == 1);
     }
 
     @Test
     public void testToFromSingle() {
-        //rule defined from quux to foo, this is flipped
+        // rule defined from quux to foo, this is flipped
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo", "quux").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
-        
+
         assertTrue(results.size() == 1);
     }
-    
+
     @Test
     public void testFromToMultiple() {
-        //rules have two from foo to bar
+        // rules have two from foo to bar
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo", "bar").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
         assertTrue(results.size() == 2);
     }
-    
+
     @Test
     public void testToFromMultiple() {
-        //rules have two from foo to bar
+        // rules have two from foo to bar
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("bar", "foo").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
-        
+
         assertTrue(results.size() == 2);
         assertTrue(!(results.get(0).toString().equals(results.get(1).toString())));
     }
-    
+
     @Test
     public void testJustFrom() {
-        //there are 4 foo rules (foo>bar, foo>bar, foo>baz, quux>foo)
+        // there are 4 foo rules (foo>bar, foo>bar, foo>baz, quux>foo)
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
         assertTrue(results.size() == 4);
-        
-        //there are 2 bar rules
+
+        // there are 2 bar rules
         EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("bar").build();
         List<Object> results2 = testRules.read(readStart, q2.getFilter());
         assertTrue(results2.size() == 2);
     }
-    
+
     @Test
     public void testWithLabel() {
-        //there are foo >eats> bar and foo >eatz> bar
-        EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo","bar").label("eatz").build();
+        // there are foo >eats> bar and foo >eatz> bar
+        EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo", "bar").label("eatz").build();
         List<Object> results = testRules.read(readStart, q.getFilter());
         assertTrue(results.size() == 1);
         assertTrue(results.get(0).toString().contains("eatz"));
     }
-    
+
     @Test
     public void testCousin() {
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").edgeType(EdgeType.COUSIN).build();
         List<Object> results = testRules.read(readStart, q.getFilter());
         assertTrue(results.size() == 2);
-        
+
         EdgeRuleQuery q2 = new EdgeRuleQuery.Builder("foo", "bar").edgeType(EdgeType.COUSIN).label("eats").build();
         List<Object> results2 = testRules.read(readStart, q2.getFilter());
         assertTrue(results2.size() == 1);
         assertTrue(results2.get(0).toString().contains("eats"));
-        
-        EdgeRuleQuery q3 = new EdgeRuleQuery.Builder("foo","quux").edgeType(EdgeType.COUSIN).build();
+
+        EdgeRuleQuery q3 = new EdgeRuleQuery.Builder("foo", "quux").edgeType(EdgeType.COUSIN).build();
         List<Object> results3 = testRules.read(readStart, q3.getFilter());
         assertTrue(results3.isEmpty());
     }
-    
+
     @Test
     public void testTree() {
         EdgeRuleQuery q = new EdgeRuleQuery.Builder("foo").edgeType(EdgeType.TREE).build();
index 5abae6b..3fdabfd 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.edges;
 
 import static org.junit.Assert.*;
@@ -44,12 +45,12 @@ public class EdgeRuleTest {
         rule.put("private", "true");
 
         EdgeRule r = new EdgeRule(rule);
-        
+
         r.flipDirection();
         assertTrue(Direction.IN.equals(r.getDirection()));
         r.flipDirection();
         assertTrue(Direction.OUT.equals(r.getDirection()));
-        
+
         rule.put("direction", "BOTH");
         EdgeRule r2 = new EdgeRule(rule);
         r2.flipDirection();
index 4475b3f..c67be64 100644 (file)
 
 package org.onap.aai.edges;
 
+import static com.jayway.jsonpath.Criteria.where;
+import static com.jayway.jsonpath.Filter.filter;
 import static org.junit.Assert.*;
 
+import com.jayway.jsonpath.DocumentContext;
+import com.jayway.jsonpath.Filter;
+
 import java.util.*;
+
 import org.junit.Test;
 import org.onap.aai.setup.SchemaVersion;
 
-import com.jayway.jsonpath.DocumentContext;
-import com.jayway.jsonpath.Filter;
-import static com.jayway.jsonpath.Criteria.where;
-import static com.jayway.jsonpath.Filter.filter;
-
 public class JsonIngestorTest {
 
     private SchemaVersion LATEST = new SchemaVersion("v14");
@@ -39,34 +40,34 @@ public class JsonIngestorTest {
 
     @Test
     public void test() {
-        //setup
+        // setup
         List<String> files = new ArrayList<>();
         files.add("src/test/resources/edgeRules/test.json");
         files.add("src/test/resources/edgeRules/test2.json");
         files.add("src/test/resources/edgeRules/otherTestRules.json");
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         input.put(LATEST, files);
-        
+
         List<String> files2 = new ArrayList<>();
         files2.add("src/test/resources/edgeRules/test.json");
         input.put(V10, files2);
-        
+
         List<String> files3 = new ArrayList<>();
         files3.add("src/test/resources/edgeRules/test3.json");
         files3.add("src/test/resources/edgeRules/defaultEdgesTest.json");
         input.put(V11, files3);
-        
-        //test
+
+        // test
         JsonIngestor ji = new JsonIngestor();
         Map<SchemaVersion, List<DocumentContext>> results = ji.ingest(input);
-        
+
         assertTrue(results.entrySet().size() == 3);
         assertTrue(results.get(LATEST).size() == 3);
         assertTrue(results.get(V11).size() == 2);
         assertTrue(results.get(V10).size() == 1);
-        
+
         Filter f = filter(where("from").is("foo").and("contains-other-v").is("NONE"));
-        List<Map<String, String>> filterRes = results.get(V10).get(0).read("$.rules.[?]",f);
+        List<Map<String, String>> filterRes = results.get(V10).get(0).read("$.rules.[?]", f);
         assertTrue(filterRes.size() == 2);
     }
 
index cec3f9d..dca21f2 100644 (file)
 
 package org.onap.aai.nodes;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
+import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import javax.xml.bind.SchemaOutputResolver;
+import javax.xml.transform.*;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
 import org.eclipse.persistence.dynamic.DynamicEntity;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.config.NodesConfiguration;
+import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.testutils.TestUtilConfigTranslator;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,19 +51,10 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.junit4.SpringRunner;
 import org.w3c.dom.Document;
 
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import java.io.*;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
 @RunWith(SpringRunner.class)
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local-node.properties" })
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local-node.properties"})
 @ContextConfiguration(classes = {TestUtilConfigTranslator.class, NodesConfiguration.class})
 
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
@@ -59,8 +62,8 @@ import static org.junit.Assert.*;
 @SpringBootTest
 public class NodeIngestorLocalTest {
 
-    //set thrown.expect to whatever a specific test needs
-    //this establishes a default of expecting no exceptions to be thrown
+    // set thrown.expect to whatever a specific test needs
+    // this establishes a default of expecting no exceptions to be thrown
     @Rule
     public ExpectedException thrown = ExpectedException.none();
     @Autowired
@@ -75,21 +78,20 @@ public class NodeIngestorLocalTest {
         transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
         transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
 
-        transformer.transform(new DOMSource(doc),
-            new StreamResult(new OutputStreamWriter(out, "UTF-8")));
+        transformer.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(out, "UTF-8")));
     }
 
     @Test
     public void testGetContextForVersion11() {
         DynamicJAXBContext ctx10 = nodeIngestor.getContextForVersion(new SchemaVersion("v10"));
 
-        //should work bc Foo is valid in test_network_v10 schema
+        // should work bc Foo is valid in test_network_v10 schema
         DynamicEntity foo10 = ctx10.newDynamicEntity("Foo");
 
         foo10.set("fooId", "bar");
         assertTrue("bar".equals(foo10.get("fooId")));
 
-        //should work bc Bar is valid in test_business_v10 schema
+        // should work bc Bar is valid in test_business_v10 schema
         DynamicEntity bar10 = ctx10.newDynamicEntity("Bar");
         bar10.set("barId", "bar2");
         assertTrue("bar2".equals(bar10.get("barId")));
@@ -98,7 +100,7 @@ public class NodeIngestorLocalTest {
 
         DynamicJAXBContext ctx11 = nodeIngestor.getContextForVersion(new SchemaVersion("v11"));
 
-        //should work bc Foo.quantity is valid in test_network_v11 schema
+        // should work bc Foo.quantity is valid in test_network_v11 schema
         DynamicEntity foo11 = ctx11.newDynamicEntity("Foo");
         foo11.set("quantity", "12");
         assertTrue("12".equals(foo11.get("quantity")));
@@ -109,9 +111,8 @@ public class NodeIngestorLocalTest {
         XSDOutputResolver outputResolver11 = new XSDOutputResolver();
         ctx11.generateSchema(outputResolver11);
 
-
         thrown.expect(IllegalArgumentException.class);
-        //should fail bc Quux not in v10 test schema
+        // should fail bc Quux not in v10 test schema
         ctx10.newDynamicEntity("Quux");
     }
 
@@ -157,8 +158,7 @@ public class NodeIngestorLocalTest {
     private class XSDOutputResolver extends SchemaOutputResolver {
 
         @Override
-        public Result createOutput(String namespaceUri, String suggestedFileName)
-            throws IOException {
+        public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
 
             // create new file
             // create stream result
index ec529f9..7035aff 100644 (file)
 
 package org.onap.aai.nodes;
 
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.*;
+
+import java.io.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import javax.xml.bind.SchemaOutputResolver;
+import javax.xml.transform.*;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
 import org.eclipse.persistence.dynamic.DynamicEntity;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
-import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.config.NodesConfiguration;
+import org.onap.aai.restclient.MockProvider;
 import org.onap.aai.setup.SchemaVersion;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -37,72 +49,60 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.w3c.dom.Document;
 
-import javax.xml.bind.SchemaOutputResolver;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import java.io.*;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.*;
-
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-test.properties" })
+@TestPropertySource(
+        properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-test.properties"})
 
-@ContextConfiguration(classes = { MockProvider.class, NodesConfiguration.class})
+@ContextConfiguration(classes = {MockProvider.class, NodesConfiguration.class})
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
 @SpringBootTest
 public class NodeIngestorTest {
     @Autowired
     NodeIngestor nodeIngestor;
 
-    //set thrown.expect to whatever a specific test needs
-    //this establishes a default of expecting no exceptions to be thrown
+    // set thrown.expect to whatever a specific test needs
+    // this establishes a default of expecting no exceptions to be thrown
     @Rule
     public ExpectedException thrown = ExpectedException.none();
-    
+
     @Test
     public void testGetContextForVersion() {
         DynamicJAXBContext ctx10 = nodeIngestor.getContextForVersion(new SchemaVersion("v10"));
-        
-        //should work bc Foo is valid in test_network_v10 schema
+
+        // should work bc Foo is valid in test_network_v10 schema
         DynamicEntity foo10 = ctx10.newDynamicEntity("Foo");
 
-        foo10.set("fooId","bar");
+        foo10.set("fooId", "bar");
         assertTrue("bar".equals(foo10.get("fooId")));
-        
-        //should work bc Bar is valid in test_business_v10 schema
+
+        // should work bc Bar is valid in test_business_v10 schema
         DynamicEntity bar10 = ctx10.newDynamicEntity("Bar");
-        bar10.set("barId","bar2");
+        bar10.set("barId", "bar2");
         assertTrue("bar2".equals(bar10.get("barId")));
         XSDOutputResolver outputResolver10 = new XSDOutputResolver();
         ctx10.generateSchema(outputResolver10);
-        
+
         DynamicJAXBContext ctx11 = nodeIngestor.getContextForVersion(new SchemaVersion("v11"));
-        
-        //should work bc Foo.quantity is valid in test_network_v11 schema
+
+        // should work bc Foo.quantity is valid in test_network_v11 schema
         DynamicEntity foo11 = ctx11.newDynamicEntity("Foo");
-        foo11.set("quantity","12");
+        foo11.set("quantity", "12");
         assertTrue("12".equals(foo11.get("quantity")));
-        
+
         DynamicEntity quux11 = ctx11.newDynamicEntity("Quux");
-        quux11.set("qManagerName","some guy");
+        quux11.set("qManagerName", "some guy");
         assertTrue("some guy".equals(quux11.get("qManagerName")));
         XSDOutputResolver outputResolver11 = new XSDOutputResolver();
         ctx11.generateSchema(outputResolver11);
 
-        
         thrown.expect(IllegalArgumentException.class);
-        //should fail bc Quux not in v10 test schema
+        // should fail bc Quux not in v10 test schema
         ctx10.newDynamicEntity("Quux");
     }
 
     @Test
     public void testHasNodeType() {
-        //TODO remove for integration tests
+        // TODO remove for integration tests
         assertTrue(nodeIngestor.hasNodeType("foo", new SchemaVersion("v11")));
         assertTrue(nodeIngestor.hasNodeType("quux", new SchemaVersion("v11")));
         assertFalse(nodeIngestor.hasNodeType("quux", new SchemaVersion("v10")));
@@ -110,7 +110,7 @@ public class NodeIngestorTest {
 
     @Test
     public void testGetVersionFromClassName() {
-        assertEquals(nodeIngestor.getVersionFromClassName("inventory.aai.onap.org.v13.Evc"),new SchemaVersion("v13"));
+        assertEquals(nodeIngestor.getVersionFromClassName("inventory.aai.onap.org.v13.Evc"), new SchemaVersion("v13"));
 
     }
 
@@ -123,24 +123,23 @@ public class NodeIngestorTest {
     @Test
     public void testGetObjectsInVersion() {
         assertEquals(nodeIngestor.getObjectsInVersion(new SchemaVersion("v13")).size(), 148);
-        //comment for IntegrationTest
-        //assertEquals(nodeIngestor.getObjectsInVersion(new SchemaVersion("v13")).size(), 229);
+        // comment for IntegrationTest
+        // assertEquals(nodeIngestor.getObjectsInVersion(new SchemaVersion("v13")).size(), 229);
 
     }
-    
+
     @Test
     public void testCombinedSchema() throws TransformerException, IOException {
         DynamicJAXBContext ctx13 = nodeIngestor.getContextForVersion(new SchemaVersion("v13"));
         XSDOutputResolver outputResolver13 = new XSDOutputResolver();
         ctx13.generateSchema(outputResolver13);
         ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        printDocument(nodeIngestor.getSchema(new SchemaVersion("v13")),buffer);
+        printDocument(nodeIngestor.getSchema(new SchemaVersion("v13")), buffer);
         String content = new String(Files.readAllBytes(Paths.get("src/test/resources/forWiringTests/aai_oxm_v13.xml")));
         content = content.replaceAll("\\s+", "");
         String expected = buffer.toString().replaceAll("\\s+", "");
 
-
-        assertThat("OXM:\n"+expected,expected, is(content));
+        assertThat("OXM:\n" + expected, expected, is(content));
     }
 
     public static void printDocument(Document doc, OutputStream out) throws IOException, TransformerException {
@@ -152,30 +151,26 @@ public class NodeIngestorTest {
         transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
         transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
 
-        transformer.transform(new DOMSource(doc), 
-             new StreamResult(new OutputStreamWriter(out, "UTF-8")));
+        transformer.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(out, "UTF-8")));
     }
-    
+
     private class XSDOutputResolver extends SchemaOutputResolver {
 
-           @Override
-           public Result createOutput(String namespaceUri, String suggestedFileName)
-              throws IOException {
-              
-              // create new file
-              // create stream result
-              File temp = File.createTempFile("schema", ".xsd"); 
-              StreamResult result = new StreamResult(temp);
-              System.out.println("Schema file: "+temp.getAbsolutePath());
-              
-              // set system id
-              result.setSystemId(temp.toURI().toURL().toString());
-              
-              // return result
-              return result;
-           }
-    }
+        @Override
+        public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
 
-}
+            // create new file
+            // create stream result
+            File temp = File.createTempFile("schema", ".xsd");
+            StreamResult result = new StreamResult(temp);
+            System.out.println("Schema file: " + temp.getAbsolutePath());
 
+            // set system id
+            result.setSystemId(temp.toURI().toURL().toString());
 
+            // return result
+            return result;
+        }
+    }
+
+}
index 0aaa880..d2412c0 100644 (file)
@@ -30,29 +30,30 @@ import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.setup.SchemaVersionsBean;
-
 import org.onap.aai.testutils.ConfigTranslatorForWiringTest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {ConfigTranslatorForWiringTest.class, NodesConfiguration.class})
-@TestPropertySource(properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local-node.properties"})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local-node.properties"})
 @SpringBootTest
 public class NodeIngestorWiringTest {
     @Autowired
     NodeIngestor ni;
-    
+
     @Test
     public void test() {
         DynamicJAXBContext ctx10 = ni.getContextForVersion(new SchemaVersion("v10"));
-        
-        //should work bc Bar is valid in test_business_v10 schema
+
+        // should work bc Bar is valid in test_business_v10 schema
         DynamicEntity bar10 = ctx10.newDynamicEntity("Bar");
-        bar10.set("barId","bar2");
+        bar10.set("barId", "bar2");
         assertTrue("bar2".equals(bar10.get("barId")));
     }
 }
index 6f8b736..f0fed32 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,8 +28,8 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.PropertySource;
 
 @Configuration
-@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound=true)
-@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound=true)
+@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 public class MockProvider {
 
     @Value("${mock.filename}")
@@ -49,10 +50,9 @@ public class MockProvider {
         };
     }
 
-    @Bean(name="restClient")
+    @Bean(name = "restClient")
     @ConditionalOnProperty(name = "schema.service.client", havingValue = "mock-no-auth")
     public RestClient getSchemaServiceNoAuthClient() {
         return new MockRestClient(fileName);
     }
 }
-
index 87e4bfe..52e6364 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
+import static org.junit.Assert.assertNotNull;
+import static org.springframework.test.web.client.match.MockRestRequestMatchers.*;
+import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
+
 import com.att.eelf.configuration.EELFLogger;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
-import org.apache.commons.io.IOUtils;
-import org.springframework.core.io.Resource;
-import org.springframework.http.*;
-import org.springframework.stereotype.Component;
-import org.springframework.test.web.client.ExpectedCount;
-import org.springframework.test.web.client.MockRestServiceServer;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -40,33 +37,40 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import static org.junit.Assert.assertNotNull;
-import static org.springframework.test.web.client.match.MockRestRequestMatchers.*;
-import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
+import org.apache.commons.io.IOUtils;
+import org.springframework.core.io.Resource;
+import org.springframework.http.*;
+import org.springframework.stereotype.Component;
+import org.springframework.test.web.client.ExpectedCount;
+import org.springframework.test.web.client.MockRestServiceServer;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
 
 @Component
 public class MockRestClient extends RestClient {
 
-private RestTemplate restTemplate;
-        private MockRestServiceServer mockRestServiceServer;
+    private RestTemplate restTemplate;
+    private MockRestServiceServer mockRestServiceServer;
 
     String fileName = "mockrequests";
 
     public MockRestClient(String fileName) {
         /*
-        List<MockRestServiceServer> mockedAAIRequests = new ArrayList<>(aaiRequests.size());
+         * List<MockRestServiceServer> mockedAAIRequests = new ArrayList<>(aaiRequests.size());
          */
         List<MockRestServiceServer> mockedAAIRequests = new ArrayList<>();
 
         restTemplate = new RestTemplate();
-           /* MockRestServiceServer server       = MockRestServiceServer
-                .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
-                .build();
-            server.expect(MockRestRequestMatchers.requestTo(url))
-                .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
+        /*
+         * MockRestServiceServer server = MockRestServiceServer
+         * .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
+         * .build();
+         * server.expect(MockRestRequestMatchers.requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
         // RestTemplateBuilder mockBuilder = mock(RestTemplateBuilder.class);
-        //when(mockBuilder.build()).thenReturn(restTemplate);
+        // when(mockBuilder.build()).thenReturn(restTemplate);
 
         JsonObject payload = null;
         try {
@@ -77,23 +81,20 @@ private RestTemplate restTemplate;
 
         JsonArray mockUris = payload.getAsJsonArray("mock-uri");
 
-
         mockRestServiceServer = MockRestServiceServer.createServer(restTemplate);
         String url = "https://localhost:8447/aai/v14";
-        /*mockRestServiceServer.expect(requestTo(url))
-            .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
-
+        /*
+         * mockRestServiceServer.expect(requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
         for (int i = 0; i < mockUris.size(); i++) {
             String responseFile = mockUris.get(i).getAsJsonObject().get("response-file").getAsString();
             String contentTypeValue = mockUris.get(i).getAsJsonObject().get("content").getAsString();
 
-
             String uri = mockUris.get(i).getAsJsonObject().get("aai-uri").getAsString();
 
-            InputStream inputStream = getClass()
-                .getClassLoader()
-                .getResourceAsStream(responseFile);
+            InputStream inputStream = getClass().getClassLoader().getResourceAsStream(responseFile);
             String responseBody = null;
             try {
                 responseBody = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
@@ -101,57 +102,51 @@ private RestTemplate restTemplate;
                 e.printStackTrace();
             }
 
-
             mockRestServiceServer.expect(ExpectedCount.manyTimes(), requestTo(url + uri))
-                .andExpect(method(HttpMethod.GET))
-                .andExpect(content().contentType(contentTypeValue))
-                .andRespond(withStatus(HttpStatus.OK).body(responseBody.toString()).contentType(MediaType.valueOf(contentTypeValue)));
-
+                    .andExpect(method(HttpMethod.GET)).andExpect(content().contentType(contentTypeValue))
+                    .andRespond(withStatus(HttpStatus.OK).body(responseBody.toString())
+                            .contentType(MediaType.valueOf(contentTypeValue)));
 
         }
     }
 
-    public MockRestClient()  {
+    public MockRestClient() {
 
-         restTemplate = new RestTemplate();
-           /* MockRestServiceServer server       = MockRestServiceServer
-                .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
-                .build();
-            server.expect(MockRestRequestMatchers.requestTo(url))
-                .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
+        restTemplate = new RestTemplate();
+        /*
+         * MockRestServiceServer server = MockRestServiceServer
+         * .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
+         * .build();
+         * server.expect(MockRestRequestMatchers.requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
         // RestTemplateBuilder mockBuilder = mock(RestTemplateBuilder.class);
-        //when(mockBuilder.build()).thenReturn(restTemplate);
+        // when(mockBuilder.build()).thenReturn(restTemplate);
 
         JsonObject payload = null;
         try {
-            payload = getPayload( fileName + ".json");
+            payload = getPayload(fileName + ".json");
         } catch (IOException e) {
             e.printStackTrace();
         }
 
         JsonArray mockUris = payload.getAsJsonArray("mock-uri");
 
-
-
-        mockRestServiceServer       = MockRestServiceServer.createServer(restTemplate);
-        String url="https://localhost:8447/aai/v14";
-        /*mockRestServiceServer.expect(requestTo(url))
-            .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
-
-
-
+        mockRestServiceServer = MockRestServiceServer.createServer(restTemplate);
+        String url = "https://localhost:8447/aai/v14";
+        /*
+         * mockRestServiceServer.expect(requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
         for (int i = 0; i < mockUris.size(); i++) {
             String responseFile = mockUris.get(i).getAsJsonObject().get("response-file").getAsString();
             String contentTypeValue = mockUris.get(i).getAsJsonObject().get("content").getAsString();
 
-
             String uri = mockUris.get(i).getAsJsonObject().get("aai-uri").getAsString();
 
-            InputStream inputStream = getClass()
-                .getClassLoader()
-                .getResourceAsStream(responseFile);
+            InputStream inputStream = getClass().getClassLoader().getResourceAsStream(responseFile);
             String responseBody = null;
             try {
                 responseBody = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
@@ -159,31 +154,26 @@ private RestTemplate restTemplate;
                 e.printStackTrace();
             }
 
-
             mockRestServiceServer.expect(ExpectedCount.manyTimes(), requestTo(url + uri))
-                .andExpect(method(HttpMethod.GET))
-                .andExpect(content().contentType(contentTypeValue))
-                .andRespond(withStatus(HttpStatus.OK).body(responseBody.toString()).contentType(MediaType.valueOf(contentTypeValue)));
-
+                    .andExpect(method(HttpMethod.GET)).andExpect(content().contentType(contentTypeValue))
+                    .andRespond(withStatus(HttpStatus.OK).body(responseBody.toString())
+                            .contentType(MediaType.valueOf(contentTypeValue)));
 
         }
 
-
     }
 
-    public JsonObject  getTestDetails(String fileName) throws IOException {
+    public JsonObject getTestDetails(String fileName) throws IOException {
 
-        JsonObject payload = getPayload(fileName );
+        JsonObject payload = getPayload(fileName);
 
         return payload;
     }
 
     public JsonObject getPayload(String filename) throws IOException {
-        InputStream inputStream = getClass()
-            .getClassLoader()
-            .getResourceAsStream(filename);
+        InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filename);
 
-        //InputStream inputStream = new FileInputStream(filename);
+        // InputStream inputStream = new FileInputStream(filename);
 
         String result = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
         String message = String.format("Unable to find the %s in src/test/resources", filename);
@@ -195,28 +185,33 @@ private RestTemplate restTemplate;
     }
 
     @Override
-        public ResponseEntity execute(String uri, HttpMethod method, Map<String,String> headers, String body) {
+    public ResponseEntity execute(String uri, HttpMethod method, Map<String, String> headers, String body) {
 
-            String url="https://localhost:8447/aai/v14/"+ uri;
+        String url = "https://localhost:8447/aai/v14/" + uri;
 
-           /* MockRestServiceServer server       = MockRestServiceServer
-                .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
-                .build();
-            server.expect(MockRestRequestMatchers.requestTo(url))
-                .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
-
-           // RestTemplateBuilder mockBuilder = mock(RestTemplateBuilder.class);
-            //when(mockBuilder.build()).thenReturn(restTemplate);
+        /*
+         * MockRestServiceServer server = MockRestServiceServer
+         * .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
+         * .build();
+         * server.expect(MockRestRequestMatchers.requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
-        /*MockRestServiceServer server       = MockRestServiceServer.createServer(restTemplate);
-        server.expect(requestTo(url))
-            .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
-            return new ResponseEntity("blah", HttpStatus.OK);
-        server.expect(ExpectedCount.manyTimes(), requestTo(Matchers.startsWith(aaiBaseUrl + aaiRequests.get(i).get("aai-uri").asText())))
-            .andExpect(method(HttpMethod.GET))
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-            .andRespond(withStatus(HttpStatus.OK).body(aaiResponses.get(i).toString()).contentType(MediaType.APPLICATION_JSON));*/
+        // RestTemplateBuilder mockBuilder = mock(RestTemplateBuilder.class);
+        // when(mockBuilder.build()).thenReturn(restTemplate);
 
+        /*
+         * MockRestServiceServer server = MockRestServiceServer.createServer(restTemplate);
+         * server.expect(requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         * return new ResponseEntity("blah", HttpStatus.OK);
+         * server.expect(ExpectedCount.manyTimes(), requestTo(Matchers.startsWith(aaiBaseUrl +
+         * aaiRequests.get(i).get("aai-uri").asText())))
+         * .andExpect(method(HttpMethod.GET))
+         * .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+         * .andRespond(withStatus(HttpStatus.OK).body(aaiResponses.get(i).toString()).contentType(MediaType.
+         * APPLICATION_JSON));
+         */
 
         HttpHeaders headersMap = new HttpHeaders();
 
@@ -228,35 +223,40 @@ private RestTemplate restTemplate;
 
         HttpEntity httpEntity = new HttpEntity(headers);
 
-        ResponseEntity responseEntity = restTemplate.exchange(url , HttpMethod.GET, httpEntity, String.class);
+        ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class);
 
-       // mockRestServiceServer.verify();
-       return responseEntity;
+        // mockRestServiceServer.verify();
+        return responseEntity;
     }
 
     @Override
-    public ResponseEntity executeResource(String uri, HttpMethod method, Map<String,String> headers, String body) {
+    public ResponseEntity executeResource(String uri, HttpMethod method, Map<String, String> headers, String body) {
 
-        String url="https://localhost:8447/aai/v14/"+ uri;
+        String url = "https://localhost:8447/aai/v14/" + uri;
 
-           /* MockRestServiceServer server       = MockRestServiceServer
-                .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
-                .build();
-            server.expect(MockRestRequestMatchers.requestTo(url))
-                .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));*/
+        /*
+         * MockRestServiceServer server = MockRestServiceServer
+         * .bindTo(restClientFactory.getRestClient(ClientType.SchemaService).getRestTemplate())
+         * .build();
+         * server.expect(MockRestRequestMatchers.requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         */
 
         // RestTemplateBuilder mockBuilder = mock(RestTemplateBuilder.class);
-        //when(mockBuilder.build()).thenReturn(restTemplate);
-
-        /*MockRestServiceServer server       = MockRestServiceServer.createServer(restTemplate);
-        server.expect(requestTo(url))
-            .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
-            return new ResponseEntity("blah", HttpStatus.OK);
-        server.expect(ExpectedCount.manyTimes(), requestTo(Matchers.startsWith(aaiBaseUrl + aaiRequests.get(i).get("aai-uri").asText())))
-            .andExpect(method(HttpMethod.GET))
-            .andExpect(content().contentType(MediaType.APPLICATION_JSON))
-            .andRespond(withStatus(HttpStatus.OK).body(aaiResponses.get(i).toString()).contentType(MediaType.APPLICATION_JSON));*/
+        // when(mockBuilder.build()).thenReturn(restTemplate);
 
+        /*
+         * MockRestServiceServer server = MockRestServiceServer.createServer(restTemplate);
+         * server.expect(requestTo(url))
+         * .andRespond(withSuccess("{}", MediaType.APPLICATION_JSON));
+         * return new ResponseEntity("blah", HttpStatus.OK);
+         * server.expect(ExpectedCount.manyTimes(), requestTo(Matchers.startsWith(aaiBaseUrl +
+         * aaiRequests.get(i).get("aai-uri").asText())))
+         * .andExpect(method(HttpMethod.GET))
+         * .andExpect(content().contentType(MediaType.APPLICATION_JSON))
+         * .andRespond(withStatus(HttpStatus.OK).body(aaiResponses.get(i).toString()).contentType(MediaType.
+         * APPLICATION_JSON));
+         */
 
         HttpHeaders headersMap = new HttpHeaders();
 
@@ -268,7 +268,7 @@ private RestTemplate restTemplate;
 
         HttpEntity httpEntity = new HttpEntity(headers);
 
-        ResponseEntity responseEntity = restTemplate.exchange(url , HttpMethod.GET, httpEntity, Resource.class);
+        ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.GET, httpEntity, Resource.class);
 
         // mockRestServiceServer.verify();
         return responseEntity;
@@ -280,16 +280,16 @@ private RestTemplate restTemplate;
         return restTemplate;
     }
 
-    public  String getBaseUrl(){
-            return "";
+    public String getBaseUrl() {
+        return "";
     }
 
-    protected  MultiValueMap<String,String> getHeaders(Map<String,String> headers){
-            return null;
+    protected MultiValueMap<String, String> getHeaders(Map<String, String> headers) {
+        return null;
     }
 
-    protected  EELFLogger getLogger(){
-            return null;
+    protected EELFLogger getLogger() {
+        return null;
     }
 
 }
index 4c3b0fc..36b8fb3 100644 (file)
@@ -17,6 +17,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
 public class RestClientTest {
index cd161de..5313407 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.restclient;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -31,13 +35,12 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import java.util.HashMap;
-import java.util.Map;
-
 @Ignore
 @RunWith(SpringJUnit4ClassRunner.class)
-@TestPropertySource(locations = "/schemaService/schema-service-rest.properties" )
-@ContextConfiguration(classes = {RestClientFactoryConfiguration.class, SchemaServiceRestClient.class, RestClientFactory.class, PropertyPasswordConfiguration.class})
+@TestPropertySource(locations = "/schemaService/schema-service-rest.properties")
+@ContextConfiguration(
+        classes = {RestClientFactoryConfiguration.class, SchemaServiceRestClient.class, RestClientFactory.class,
+                PropertyPasswordConfiguration.class})
 
 @SpringBootTest
 public class SchemaRestClientTest {
@@ -47,21 +50,16 @@ public class SchemaRestClientTest {
     private RestClientFactory restClientFactory;
 
     @Test
-    public void  testGetRequestToSchemaService() {
+    public void testGetRequestToSchemaService() {
         ResponseEntity aaiResponse;
         RestClient restClient = null;
 
-            restClient = restClientFactory
-                .getRestClient(SCHEMA_SERVICE);
+        restClient = restClientFactory.getRestClient(SCHEMA_SERVICE);
 
         String uri = "";
         Map<String, String> headersMap = new HashMap<>();
         String content = "";
-        aaiResponse = restClient.execute(
-            uri,
-            HttpMethod.GET,
-            headersMap,
-            content);
-        System.out.println("Helo"+aaiResponse.getStatusCode());
+        aaiResponse = restClient.execute(uri, HttpMethod.GET, headersMap, content);
+        System.out.println("Helo" + aaiResponse.getStatusCode());
     }
 }
index aca5041..8136ac0 100644 (file)
 
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+import java.util.Map;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.testutils.ConfigTranslatorForWiringTest;
@@ -29,20 +35,17 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {SchemaLocationsBean.class, SchemaConfigVersions.class, ConfigTranslatorForWiringTest.class})
-@TestPropertySource(properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
+@ContextConfiguration(
+        classes = {SchemaLocationsBean.class, SchemaConfigVersions.class, ConfigTranslatorForWiringTest.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class ConfigTranslatorWiringTest {
     @Autowired
     ConfigTranslator ct;
-    
+
     @Test
     public void test() {
         assertNotNull(ct);
@@ -50,7 +53,7 @@ public class ConfigTranslatorWiringTest {
         assertTrue(nodes.containsKey(new SchemaVersion("v10")));
         assertTrue(1 == nodes.get(new SchemaVersion("v10")).size());
         assertTrue("src/test/resources/oxm/test_business_v10.xml".equals(nodes.get(new SchemaVersion("v10")).get(0)));
-        
+
         Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
         assertTrue(edges.containsKey(new SchemaVersion("v10")));
         assertTrue(1 == edges.get(new SchemaVersion("v10")).size());
index 45ed88f..4d7bf69 100644 (file)
 
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {SchemaLocationsBean.class})
 public class SchemaLocationsBeanDefaultInjectionTest {
index 886dfe0..bfaa917 100644 (file)
@@ -20,6 +20,9 @@
 
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,16 +30,13 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {SchemaLocationsBean.class})
 @TestPropertySource(properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest2.properties"})
 public class SchemaLocationsBeanEnvVarInjectionTest {
     @Autowired
     SchemaLocationsBean bean;
-    
+
     @Test
     public void test() {
         assertNotNull(bean);
index 105cb1d..78df389 100644 (file)
 
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:forWiringTests/testContext.xml"})
+@ContextConfiguration(locations = {"classpath:forWiringTests/testContext.xml"})
 public class SchemaLocationsBeanXMLSetterTest {
     @Autowired
     SchemaLocationsBean bean;
index a9b5d0c..af94765 100644 (file)
 
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:forWiringTests/testUsingPropFileContext.xml"})
+@ContextConfiguration(locations = {"classpath:forWiringTests/testUsingPropFileContext.xml"})
 public class SchemaLocationsBeanXMLSetterWithPropFileTest {
     @Autowired
     SchemaLocationsBean bean;
index 72409bc..ecc188f 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.util.List;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -30,20 +37,16 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import java.io.IOException;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-override-test.properties" })
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-override-test.properties"})
 @ContextConfiguration(classes = {MockProvider.class, SchemaVersionsBean.class, SchemaConfigVersions.class})
 @SpringBootTest
 public class SchemaVersionsBeanOverrideTest {
 
-    //set thrown.expect to whatever a specific test needs
-    //this establishes a default of expecting no exceptions to be thrown
+    // set thrown.expect to whatever a specific test needs
+    // this establishes a default of expecting no exceptions to be thrown
     @Rule
     public ExpectedException thrown = ExpectedException.none();
     @Autowired
index b1208d6..981be80 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.aai.setup;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.util.List;
+
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -30,20 +37,15 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import java.io.IOException;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-test.properties" })
+@TestPropertySource(
+        properties = {"schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-ss-wiring-test.properties"})
 @ContextConfiguration(classes = {MockProvider.class, SchemaVersionsBean.class})
 @SpringBootTest
 public class SchemaVersionsBeanTest {
 
-    //set thrown.expect to whatever a specific test needs
-    //this establishes a default of expecting no exceptions to be thrown
+    // set thrown.expect to whatever a specific test needs
+    // this establishes a default of expecting no exceptions to be thrown
     @Rule
     public ExpectedException thrown = ExpectedException.none();
     @Autowired
@@ -69,12 +71,14 @@ public class SchemaVersionsBeanTest {
         List<SchemaVersion> versionsList = SchemaVersionsBean.getVersions();
         assertNotNull(versionsList);
         SchemaVersions versions = SchemaVersionsBean.getSchemaVersions();
-        /*//assertEquals(versions.getAppRootVersion(), new SchemaVersion("v15"));
-        assertEquals(versions.getAppRootVersion(), new SchemaVersion("v11"));
-        assertEquals(versions.getDepthVersion(), new SchemaVersion("v10"));
-        assertEquals(versions.getEdgeLabelVersion(), new SchemaVersion("v12"));
-        assertEquals(versions.getNamespaceChangeVersion(), new SchemaVersion("v11"));
-        assertEquals(versions.getRelatedLinkVersion(), new SchemaVersion("v10"));*/
+        /*
+         * //assertEquals(versions.getAppRootVersion(), new SchemaVersion("v15"));
+         * assertEquals(versions.getAppRootVersion(), new SchemaVersion("v11"));
+         * assertEquals(versions.getDepthVersion(), new SchemaVersion("v10"));
+         * assertEquals(versions.getEdgeLabelVersion(), new SchemaVersion("v12"));
+         * assertEquals(versions.getNamespaceChangeVersion(), new SchemaVersion("v11"));
+         * assertEquals(versions.getRelatedLinkVersion(), new SchemaVersion("v10"));
+         */
 
         assertEquals(versions.getAppRootVersion(), new SchemaVersion("v15"));
         assertEquals(versions.getDepthVersion(), new SchemaVersion("v15"));
index dd1c0b7..2f5f15e 100644 (file)
 
 package org.onap.aai.testutils;
 
+import java.util.*;
+
 import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
 import org.onap.aai.setup.SchemaLocationsBean;
 import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
-import java.util.*;
 
 /**
  * Good oxm, bad edge rules for rainy day edge rule validation testing
index 90afdcc..b91007b 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+
 /**
  * All schema files here are valid for sunny day validator testing
  */
@@ -59,5 +60,4 @@ public class BadNodeConfigForValidationTest extends ConfigTranslator {
         return input;
     }
 
-    
 }
index e8d10e8..1d8e4bc 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+
 public class ConfigTranslatorForWiringTest extends ConfigTranslator {
 
     public ConfigTranslatorForWiringTest(SchemaLocationsBean bean, SchemaConfigVersions schemaVersions) {
index 631ce91..8f1f176 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
-import org.onap.aai.setup.SchemaVersions;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
 /**
  * All schema files here are valid for sunny day validator testing
  */
@@ -47,7 +48,7 @@ public class GoodConfigForValidationTest extends ConfigTranslator {
         List<String> files = new ArrayList<>();
         files.add("src/test/resources/oxm/goodConfigForValidationTest_oxm.xml");
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
-        //input.put(SchemaVersion.getLatest(), files);
+        // input.put(SchemaVersion.getLatest(), files);
         for (SchemaVersion v : schemaVersions.getVersions()) {
             input.put(v, files);
         }
@@ -59,12 +60,11 @@ public class GoodConfigForValidationTest extends ConfigTranslator {
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         List<String> files = new ArrayList<>();
         files.add("src/test/resources/edgeRules/test3.json");
-        //input.put(SchemaVersion.getLatest(), files);
+        // input.put(SchemaVersion.getLatest(), files);
         for (SchemaVersion v : schemaVersions.getVersions()) {
             input.put(v, files);
         }
         return input;
     }
 
-    
 }
index ba3e4ac..28dfd60 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+
 public class SchemaIncompleteTranslator extends ConfigTranslator {
-    
+
     public SchemaIncompleteTranslator(SchemaLocationsBean bean, SchemaConfigVersions schemaVersions) {
         super(bean, schemaVersions);
     }
@@ -40,17 +41,16 @@ public class SchemaIncompleteTranslator extends ConfigTranslator {
         List<String> files10 = new ArrayList<>();
         files10.add("src/test/resources/oxm/test_network_v10.xml");
         files10.add("src/test/resources/oxm/test_business_v10.xml");
-        
+
         List<String> files11 = new ArrayList<>();
         files11.add("src/test/resources/oxm/test_network_v11.xml");
         files11.add("src/test/resources/oxm/test_business_v11.xml");
 
         List<String> files12 = new ArrayList<>();
         files12.add("src/test/resources/oxm/business_oxm_v12.xml");
-    
+
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
-        
-        
+
         input.put(new SchemaVersion("v10"), files10);
         input.put(new SchemaVersion("v11"), files11);
         input.put(new SchemaVersion("v12"), files12);
@@ -65,16 +65,16 @@ public class SchemaIncompleteTranslator extends ConfigTranslator {
         files.add("src/test/resources/edgeRules/otherTestRules.json");
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         input.put(schemaVersions.getDefaultVersion(), files);
-        
+
         List<String> files2 = new ArrayList<>();
         files2.add("src/test/resources/edgeRules/test.json");
         input.put(new SchemaVersion("v10"), files2);
-        
+
         List<String> files3 = new ArrayList<>();
         files3.add("src/test/resources/edgeRules/test3.json");
         files3.add("src/test/resources/edgeRules/defaultEdgesTest.json");
         input.put(new SchemaVersion("v11"), files3);
-        
+
         return input;
     }
 }
index 8988a1c..74ea513 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
-import org.springframework.context.annotation.PropertySource;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.springframework.context.annotation.PropertySource;
+
 @PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)
 @PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 
 public class TestUtilConfigTranslator extends ConfigTranslator {
 
     public static final SchemaVersion LATEST = new SchemaVersion("v15");
+
     public TestUtilConfigTranslator(SchemaLocationsBean bean, SchemaConfigVersions schemaVersions) {
         super(bean, schemaVersions);
     }
@@ -44,11 +47,11 @@ public class TestUtilConfigTranslator extends ConfigTranslator {
         List<String> files10 = new ArrayList<>();
         files10.add("src/test/resources/oxm/test_network_v10.xml");
         files10.add("src/test/resources/oxm/test_business_v10.xml");
-        
+
         List<String> files11 = new ArrayList<>();
         files11.add("src/test/resources/oxm/test_network_v11.xml");
         files11.add("src/test/resources/oxm/test_business_v11.xml");
-        
+
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         input.put(new SchemaVersion("v10"), files10);
         input.put(new SchemaVersion("v11"), files11);
@@ -58,8 +61,8 @@ public class TestUtilConfigTranslator extends ConfigTranslator {
         files13.add("src/test/resources/oxm/common_oxm_v13.xml");
         files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
         files13.add("src/test/resources/oxm/network_oxm_v13.xml");
-    
-    input.put(new SchemaVersion("v10"), files10);
+
+        input.put(new SchemaVersion("v10"), files10);
         input.put(new SchemaVersion("v11"), files11);
         input.put(new SchemaVersion("v13"), files13);
         return input;
@@ -73,11 +76,11 @@ public class TestUtilConfigTranslator extends ConfigTranslator {
         files.add("src/test/resources/edgeRules/otherTestRules.json");
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         input.put(LATEST, files);
-        
+
         List<String> files2 = new ArrayList<>();
         files2.add("src/test/resources/edgeRules/test.json");
         input.put(new SchemaVersion("v10"), files2);
-        
+
         List<String> files3 = new ArrayList<>();
         files3.add("src/test/resources/edgeRules/test3.json");
         files3.add("src/test/resources/edgeRules/defaultEdgesTest.json");
@@ -85,5 +88,3 @@ public class TestUtilConfigTranslator extends ConfigTranslator {
         return input;
     }
 }
-
-
index 28b0e2d..1c572ac 100644 (file)
 
 package org.onap.aai.testutils;
 
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaConfigVersions;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaConfigVersions;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+
 public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
-    
+
     public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaConfigVersions schemaVersions) {
         super(bean, schemaVersions);
     }
@@ -38,21 +39,21 @@ public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
     @Override
     public Map<SchemaVersion, List<String>> getNodeFiles() {
         List<String> files10 = new ArrayList<>();
-//      files10.add("src/test/resources/oxm/test_network_v10.xml");
-//      files10.add("src/test/resources/oxm/test_business_v10.xml");
-        
+        // files10.add("src/test/resources/oxm/test_network_v10.xml");
+        // files10.add("src/test/resources/oxm/test_business_v10.xml");
+
         List<String> files11 = new ArrayList<>();
-//      files11.add("src/test/resources/oxm/test_network_v11.xml");
+        // files11.add("src/test/resources/oxm/test_network_v11.xml");
         files11.add("src/test/resources/oxm/business_v11.xml");
-        
+
         List<String> files13 = new ArrayList<>();
         files13.add("src/test/resources/oxm/business_oxm_v13.xml");
         files13.add("src/test/resources/oxm/common_oxm_v13.xml");
         files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
         files13.add("src/test/resources/oxm/network_oxm_v13.xml");
-    
+
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
-//      input.put(Version.V10, files10);
+        // input.put(Version.V10, files10);
         input.put(new SchemaVersion("v11"), files11);
         input.put(schemaVersions.getDefaultVersion(), files13);
         return input;
@@ -64,15 +65,15 @@ public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
         files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
         Map<SchemaVersion, List<String>> input = new TreeMap<>();
         input.put(schemaVersions.getDefaultVersion(), files);
-        
+
         List<String> files2 = new ArrayList<>();
         files2.add("src/test/resources/dbedgerules/test.json");
-//      input.put(Version.V10, files2);
-        
+        // input.put(Version.V10, files2);
+
         List<String> files3 = new ArrayList<>();
         files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
         input.put(new SchemaVersion("v11"), files3);
-        
+
         return input;
     }
 }
index f43ea7d..d285292 100644 (file)
@@ -30,17 +30,17 @@ public class CheckEverythingStrategyTest {
     @Test
     public void test() {
         CheckEverythingStrategy strat = new CheckEverythingStrategy();
-        //no issues so nothing notified, should be fine
+        // no issues so nothing notified, should be fine
         assertTrue(strat.isOK());
         assertTrue("No errors found.".equals(strat.getErrorMsg()));
-        
-        //simulate post one error
+
+        // simulate post one error
         String testError1 = "oh noes a problem with the gooble-gobble edge rule!";
         strat.notifyOnError(testError1);
         assertFalse(strat.isOK());
         assertTrue(testError1.equals(strat.getErrorMsg()));
-        
-        //simulate multiple found
+
+        // simulate multiple found
         String testError2 = "error 2";
         String testError3 = "duplicate labels not everything is a fork";
         strat.notifyOnError(testError2);
index 0d9ded0..ceced41 100644 (file)
@@ -31,16 +31,16 @@ import org.onap.aai.validation.FailFastStrategy;
 public class FailFastStrategyTest {
     @Rule
     public ExpectedException thrown = ExpectedException.none();
-    
+
     @Test
     public void test() {
         FailFastStrategy strat = new FailFastStrategy();
-        
-        //simulate no issues found
+
+        // simulate no issues found
         assertTrue(strat.isOK());
         assertTrue("No errors found.".equals(strat.getErrorMsg()));
-        
-        //simulate an issue found
+
+        // simulate an issue found
         String testError = "hi i'm a problem";
         thrown.expect(AAISchemaValidationException.class);
         thrown.expectMessage(testError);
index 667a76a..4bab99a 100644 (file)
@@ -37,9 +37,12 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {NodesConfiguration.class, BadNodeConfigForValidationTest.class,
-        CheckEverythingStrategy.class, DefaultVersionValidationModule.class, VersionValidator.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, BadNodeConfigForValidationTest.class, CheckEverythingStrategy.class,
+                DefaultVersionValidationModule.class, VersionValidator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class VersionValidatorRainyDayTest {
     @Autowired
index 2be6855..2598928 100644 (file)
@@ -27,7 +27,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.nodes.NodeIngestor;
-
 import org.onap.aai.setup.SchemaVersionsBean;
 import org.onap.aai.testutils.GoodConfigForValidationTest;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,14 +36,12 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
-    NodesConfiguration.class,
-        GoodConfigForValidationTest.class,
-        CheckEverythingStrategy.class,
-        DefaultVersionValidationModule.class,
-        VersionValidator.class
-})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, GoodConfigForValidationTest.class, CheckEverythingStrategy.class,
+                DefaultVersionValidationModule.class, VersionValidator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class VersionValidatorSunnyDayTest {
     @Autowired
index 75ab0d5..58940af 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aai.validation.edges;
 
 import static org.junit.Assert.*;
 
+import com.jayway.jsonpath.DocumentContext;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -32,8 +34,6 @@ import org.junit.Test;
 import org.onap.aai.edges.JsonIngestor;
 import org.onap.aai.setup.SchemaVersion;
 
-import com.jayway.jsonpath.DocumentContext;
-
 public class CousinDefaultingValidationModuleTest {
     private static List<DocumentContext> ctxs;
     private static CousinDefaultingValidationModule validator;
@@ -46,12 +46,12 @@ public class CousinDefaultingValidationModuleTest {
 
         SchemaVersion LATEST_VERSION = new SchemaVersion("v14");
         testRules.put(LATEST_VERSION, testFiles);
-        
+
         JsonIngestor ji = new JsonIngestor();
         ctxs = ji.ingest(testRules).get(LATEST_VERSION);
         validator = new CousinDefaultingValidationModule();
     }
-    
+
     @Test
     public void testValidCousins() {
         assertTrue("".equals(validator.validate("boop|beep", ctxs)));
@@ -66,12 +66,12 @@ public class CousinDefaultingValidationModuleTest {
     public void testValidSingleContains() {
         assertTrue("".equals(validator.validate("family|baby", ctxs)));
     }
-    
+
     @Test
     public void testInvalidTooManyDefaults() {
         assertTrue(validator.validate("sheep|wool", ctxs).contains("Multiple set"));
     }
-    
+
     @Test
     public void testInvalidNoDefaults() {
         assertTrue(validator.validate("cloth|thread", ctxs).contains("None set"));
index f92c636..a4c70b8 100644 (file)
@@ -39,7 +39,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 public class DefaultEdgeFieldsValidationModuleTest {
     @Autowired
     EdgeFieldsValidationModule validator;
-    
+
     @Test
     public void test() {
         Map<String, String> test = new HashMap<>();
@@ -47,13 +47,13 @@ public class DefaultEdgeFieldsValidationModuleTest {
             test.put(f.toString(), "test");
         }
         assertTrue("".equals(validator.verifyFields(test)));
-        
+
         test.remove(EdgeField.DESCRIPTION.toString());
-        assertTrue("".equals(validator.verifyFields(test))); //bc description is optional
-        
+        assertTrue("".equals(validator.verifyFields(test))); // bc description is optional
+
         test.remove(EdgeField.CONTAINS.toString());
         assertTrue(validator.verifyFields(test).contains("missing required fields: contains-other-v"));
-        
+
         test.remove(EdgeField.FROM.toString());
         assertTrue(validator.verifyFields(test).contains("missing required fields: from contains-other-v"));
     }
index 5f553ed..75b2771 100644 (file)
@@ -27,7 +27,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.nodes.NodeIngestor;
-
 import org.onap.aai.setup.SchemaVersionsBean;
 import org.onap.aai.testutils.BadEdgeConfigForValidationTest;
 import org.onap.aai.validation.CheckEverythingStrategy;
@@ -38,11 +37,14 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {NodesConfiguration.class, BadEdgeConfigForValidationTest.class,
-        CheckEverythingStrategy.class, DefaultEdgeFieldsValidationModule.class, UniqueLabelValidationModule.class,
-        SingleContainmentValidationModule.class, CousinDefaultingValidationModule.class, NodeTypesValidationModule.class,
-        EdgeRuleValidator.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, BadEdgeConfigForValidationTest.class, CheckEverythingStrategy.class,
+                DefaultEdgeFieldsValidationModule.class, UniqueLabelValidationModule.class,
+                SingleContainmentValidationModule.class, CousinDefaultingValidationModule.class,
+                NodeTypesValidationModule.class, EdgeRuleValidator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class EdgeRuleValidatorRainyDayTest {
     @Autowired
@@ -50,7 +52,7 @@ public class EdgeRuleValidatorRainyDayTest {
 
     @Test
     public void test() {
-        assertNotNull(validator); //verify spring wiring OK
+        assertNotNull(validator); // verify spring wiring OK
         assertFalse(validator.validate());
         String errors = validator.getErrorMsg();
         assertTrue(errors.contains("missing required fields: delete-other-v"));
index 6c68027..ca6b317 100644 (file)
@@ -27,7 +27,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.nodes.NodeIngestor;
-
 import org.onap.aai.setup.SchemaVersionsBean;
 import org.onap.aai.testutils.GoodConfigForValidationTest;
 import org.onap.aai.validation.CheckEverythingStrategy;
@@ -38,11 +37,14 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {NodesConfiguration.class, GoodConfigForValidationTest.class,
-        CheckEverythingStrategy.class, DefaultEdgeFieldsValidationModule.class, UniqueLabelValidationModule.class,
-        SingleContainmentValidationModule.class, CousinDefaultingValidationModule.class, NodeTypesValidationModule.class,
-        EdgeRuleValidator.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, GoodConfigForValidationTest.class, CheckEverythingStrategy.class,
+                DefaultEdgeFieldsValidationModule.class, UniqueLabelValidationModule.class,
+                SingleContainmentValidationModule.class, CousinDefaultingValidationModule.class,
+                NodeTypesValidationModule.class, EdgeRuleValidator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class EdgeRuleValidatorSunnyDayTest {
     @Autowired
@@ -50,7 +52,7 @@ public class EdgeRuleValidatorSunnyDayTest {
 
     @Test
     public void test() {
-        assertNotNull(validator); //verify spring wiring OK
+        assertNotNull(validator); // verify spring wiring OK
         assertTrue(validator.validate());
         assertTrue("No errors found.".equals(validator.getErrorMsg()));
     }
index fc85406..cc38915 100644 (file)
@@ -30,7 +30,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.nodes.NodeIngestor;
-
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.setup.SchemaVersionsBean;
 import org.onap.aai.testutils.TestUtilConfigTranslator;
@@ -41,8 +40,11 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {NodesConfiguration.class, TestUtilConfigTranslator.class, NodeTypesValidationModule.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, TestUtilConfigTranslator.class, NodeTypesValidationModule.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 public class NodeTypesValidationModuleTest {
     @Autowired
@@ -55,7 +57,12 @@ public class NodeTypesValidationModuleTest {
         testPairs.add("foo|foo");
         testPairs.add("foo|quux");
         assertTrue("".equals(validator.validate(testPairs, new SchemaVersion("v11"))));
-        assertTrue(validator.validate(testPairs, new SchemaVersion("v10")).contains("Invalid node type(s) found: quux")); //bc no quux in v10
+        assertTrue(
+                validator.validate(testPairs, new SchemaVersion("v10")).contains("Invalid node type(s) found: quux")); // bc
+                                                                                                                       // no
+                                                                                                                       // quux
+                                                                                                                       // in
+                                                                                                                       // v10
     }
 
     @Test
@@ -64,6 +71,6 @@ public class NodeTypesValidationModuleTest {
         testPairs.add("bar|");
         testPairs.add("|foo");
         testPairs.add("|");
-        assertTrue("".equals(validator.validate(testPairs, new SchemaVersion("v11")))); //bc empty just ignored
+        assertTrue("".equals(validator.validate(testPairs, new SchemaVersion("v11")))); // bc empty just ignored
     }
 }
index 7acb558..a704d80 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aai.validation.edges;
 
 import static org.junit.Assert.*;
 
+import com.jayway.jsonpath.DocumentContext;
+
 import java.util.*;
 
 import org.junit.BeforeClass;
@@ -29,8 +31,6 @@ import org.junit.Test;
 import org.onap.aai.edges.JsonIngestor;
 import org.onap.aai.setup.SchemaVersion;
 
-import com.jayway.jsonpath.DocumentContext;
-
 public class SingleContainmentValidationModuleTest {
     private static List<DocumentContext> ctxs;
     private static SingleContainmentValidationModule validator;
@@ -42,7 +42,7 @@ public class SingleContainmentValidationModuleTest {
         List<String> testFiles = new ArrayList<>();
         testFiles.add("src/test/resources/edgeRules/containsValidationTest.json");
         testRules.put(LATEST, testFiles);
-        
+
         JsonIngestor ji = new JsonIngestor();
         ctxs = ji.ingest(testRules).get(LATEST);
         validator = new SingleContainmentValidationModule();
@@ -57,7 +57,7 @@ public class SingleContainmentValidationModuleTest {
     public void testValidWithNone() {
         assertTrue("".equals(validator.validate("bread|cheese", ctxs)));
     }
-    
+
     @Test
     public void testInvalid() {
         assertTrue(validator.validate("box|cat", ctxs).contains("has multiple containment rules"));
index 233f8b4..76e5203 100644 (file)
@@ -22,6 +22,8 @@ package org.onap.aai.validation.edges;
 
 import static org.junit.Assert.*;
 
+import com.jayway.jsonpath.DocumentContext;
+
 import java.util.*;
 
 import org.junit.BeforeClass;
@@ -29,8 +31,6 @@ import org.junit.Test;
 import org.onap.aai.edges.JsonIngestor;
 import org.onap.aai.setup.SchemaVersion;
 
-import com.jayway.jsonpath.DocumentContext;
-
 public class UniqueLabelValidationModuleTest {
     private static List<DocumentContext> ctxs;
     private static UniqueLabelValidationModule validator;
@@ -43,7 +43,7 @@ public class UniqueLabelValidationModuleTest {
         testFiles.add("src/test/resources/edgeRules/labelValidationTest1.json");
         testFiles.add("src/test/resources/edgeRules/labelValidationTest2.json");
         testRules.put(LATEST, testFiles);
-        
+
         JsonIngestor ji = new JsonIngestor();
         ctxs = ji.ingest(testRules).get(LATEST);
         validator = new UniqueLabelValidationModule();
@@ -54,13 +54,13 @@ public class UniqueLabelValidationModuleTest {
         assertTrue("".equals(validator.validate("human|monster", ctxs)));
         assertTrue("".equals(validator.validate("monster|human", ctxs)));
     }
-    
+
     @Test
     public void testValidDupLabelButDiffPairs() {
         assertTrue("".equals(validator.validate("human|strange-and-interesting-plant", ctxs)));
         assertTrue("".equals(validator.validate("strange-and-interesting-plant|human", ctxs)));
     }
-    
+
     @Test
     public void testValidAcrossFiles() {
         assertTrue("".equals(validator.validate("human|toaster", ctxs)));
@@ -72,19 +72,19 @@ public class UniqueLabelValidationModuleTest {
         assertTrue(validator.validate("sphinx|monster", ctxs).contains("has multiple rules using the same label"));
         assertTrue(validator.validate("monster|sphinx", ctxs).contains("has multiple rules using the same label"));
     }
-    
+
     @Test
     public void testInvalidSetOneFileJustCousins() {
         assertTrue(validator.validate("griffin|hippogriff", ctxs).contains("has multiple rules using the same label"));
         assertTrue(validator.validate("hippogriff|griffin", ctxs).contains("has multiple rules using the same label"));
     }
-    
+
     @Test
     public void testInvalidSetMultipleFiles() {
         assertTrue(validator.validate("lava|floor", ctxs).contains("has multiple rules using the same label"));
         assertTrue(validator.validate("floor|lava", ctxs).contains("has multiple rules using the same label"));
     }
-    
+
     @Test
     public void testInvalidCopyInOtherFile() {
         assertTrue(validator.validate("badger|mushroom", ctxs).contains("has multiple rules using the same label"));
index fc4ddd4..e164df0 100644 (file)
@@ -25,7 +25,6 @@ import static org.junit.Assert.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
-
 import org.onap.aai.testutils.BadNodeConfigForValidationTest;
 import org.onap.aai.validation.CheckEverythingStrategy;
 import org.onap.aai.validation.nodes.DefaultDuplicateNodeDefinitionValidationModule;
@@ -38,10 +37,13 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {BadNodeConfigForValidationTest.class, NodesConfiguration.class,
-    CheckEverythingStrategy.class, DefaultDuplicateNodeDefinitionValidationModule.class, NodeValidator.class})
+@ContextConfiguration(
+        classes = {BadNodeConfigForValidationTest.class, NodesConfiguration.class, CheckEverythingStrategy.class,
+                DefaultDuplicateNodeDefinitionValidationModule.class, NodeValidator.class})
 
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_CLASS)
 @SpringBootTest
 public class NodeValidatorRainyDayTest {
@@ -50,7 +52,7 @@ public class NodeValidatorRainyDayTest {
 
     @Test
     public void test() {
-        assertNotNull(validator); //check spring wiring ok
+        assertNotNull(validator); // check spring wiring ok
         assertFalse(validator.validate());
         String result = validator.getErrorMsg();
         assertTrue(result.contains("LogicalLink"));
index 6ab84d4..288913b 100644 (file)
 
 package org.onap.aai.validation.nodes;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
 import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
@@ -27,9 +39,7 @@ import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
 import org.onap.aai.nodes.NodeIngestor;
-
 import org.onap.aai.setup.SchemaVersion;
-
 import org.onap.aai.testutils.SchemaIncompleteTranslator;
 import org.springframework.beans.factory.BeanCreationException;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,43 +50,33 @@ import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.w3c.dom.Document;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = { SchemaIncompleteTranslator.class, NodesConfiguration.class})
+@ContextConfiguration(classes = {SchemaIncompleteTranslator.class, NodesConfiguration.class})
 
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 @Ignore
 public class NodeValidatorSchemaIncompleteTest {
     @Autowired
     NodeIngestor ni;
-    
-    //set thrown.expect to whatever a specific test needs
-    //this establishes a default of expecting no exceptions to be thrown
+
+    // set thrown.expect to whatever a specific test needs
+    // this establishes a default of expecting no exceptions to be thrown
     @Rule
-    public  ExpectedException thrown = ExpectedException.none();
+    public ExpectedException thrown = ExpectedException.none();
 
-    //Throws a NullPointerException because a JavaType is referenced, but not defined
+    // Throws a NullPointerException because a JavaType is referenced, but not defined
     @Test
     public void testIncompleteCombinedSchema() throws TransformerException, IOException, IllegalStateException {
         thrown.expect(NullPointerException.class);
 
-        //TODO Change for Exception
+        // TODO Change for Exception
         ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-        printDocument(ni.getSchema(new SchemaVersion("v12")),buffer);
+        printDocument(ni.getSchema(new SchemaVersion("v12")), buffer);
     }
-    
+
     public static void printDocument(Document doc, OutputStream out) throws IOException, TransformerException {
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer transformer = tf.newTransformer();
@@ -86,7 +86,6 @@ public class NodeValidatorSchemaIncompleteTest {
         transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
         transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
 
-        transformer.transform(new DOMSource(doc), 
-             new StreamResult(new OutputStreamWriter(out, "UTF-8")));
+        transformer.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(out, "UTF-8")));
     }
 }
index b69182f..81b69e6 100644 (file)
@@ -25,7 +25,6 @@ import static org.junit.Assert.*;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.aai.config.NodesConfiguration;
-
 import org.onap.aai.testutils.GoodConfigForValidationTest;
 import org.onap.aai.validation.CheckEverythingStrategy;
 import org.onap.aai.validation.nodes.DefaultDuplicateNodeDefinitionValidationModule;
@@ -35,10 +34,14 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {  NodesConfiguration.class, GoodConfigForValidationTest.class,
-        CheckEverythingStrategy.class, DefaultDuplicateNodeDefinitionValidationModule.class, NodeValidator.class})
-@TestPropertySource(properties = { "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties" })
+@ContextConfiguration(
+        classes = {NodesConfiguration.class, GoodConfigForValidationTest.class, CheckEverythingStrategy.class,
+                DefaultDuplicateNodeDefinitionValidationModule.class, NodeValidator.class})
+@TestPropertySource(
+        properties = {
+                "schema.ingest.file = src/test/resources/forWiringTests/schema-ingest-wiring-test-local.properties"})
 @SpringBootTest
 
 public class NodeValidatorSunnyDayTest {
@@ -47,7 +50,7 @@ public class NodeValidatorSunnyDayTest {
 
     @Test
     public void test() {
-        assertNotNull(validator); //check spring wiring ok
+        assertNotNull(validator); // check spring wiring ok
         assertTrue(validator.validate());
         assertTrue("No errors found.".equals(validator.getErrorMsg()));
     }