Replace all tab characters in java files with two spaces to remove linter warning 94/130994/1
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Sat, 17 Sep 2022 18:42:06 +0000 (20:42 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Sat, 17 Sep 2022 18:42:06 +0000 (20:42 +0200)
Issue-ID: AAI-3525

Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
Change-Id: I36cf7b83dd33c3b69de51e56e00bbd93a79c5ec4

50 files changed:
aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java
aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java
aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java
aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java
aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java
aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java
aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java
aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java
aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java
aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java

index b915ee5..53ffa5a 100644 (file)
@@ -29,29 +29,29 @@ import java.lang.annotation.Target;
 @Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD})
 public @interface Metadata {
 
-       boolean isKey() default false;
-       String description() default "";
-       String nameProps() default "";
-       String indexedProps() default "";
-       String dependentOn() default "";
-       String container() default "";
-       String namespace() default "";
-       String defaultValue() default "";
-       String searchable() default "";
-       String uniqueProps() default "";
-       String requiredProps() default "";
-       String uriTemplate() default "";
-       String extendsFrom() default "";
-       String isAbstract() default "";
-       String alternateKeys1() default "";
-       String maximumDepth() default "";
-       String crossEntityReference() default "";
-       String requires() default "";
-       String dbAlias() default ""; 
-       String dataLocation() default "";
-       String containsSuggestibleProps() default "";
-       String suggestionAliases() default "";
-       String sourceOfTruthType() default "";
+  boolean isKey() default false;
+  String description() default "";
+  String nameProps() default "";
+  String indexedProps() default "";
+  String dependentOn() default "";
+  String container() default "";
+  String namespace() default "";
+  String defaultValue() default "";
+  String searchable() default "";
+  String uniqueProps() default "";
+  String requiredProps() default "";
+  String uriTemplate() default "";
+  String extendsFrom() default "";
+  String isAbstract() default "";
+  String alternateKeys1() default "";
+  String maximumDepth() default "";
+  String crossEntityReference() default "";
+  String requires() default "";
+  String dbAlias() default ""; 
+  String dataLocation() default "";
+  String containsSuggestibleProps() default "";
+  String suggestionAliases() default "";
+  String sourceOfTruthType() default "";
     String dslStartNodeProps() default "";
 
 }
index 6b68e1f..a4a5de9 100644 (file)
@@ -21,103 +21,103 @@ package org.onap.aai.schema.enums;
 
 public enum ObjectMetadata {
 
-       /**
-        * description of object
-        */
-       DESCRIPTION("description"),
-       /**
-        * names of properties to appear in relationship-lists
-        * and parent objects in DMaaP messages
-        * <br><b>comma separated list</b>
-        */
-       NAME_PROPS("nameProps"),
-       /**
-        * names of properties to be indexed in the
-        * db schema
-        * <br><b>comma separated list</b>
-        */
-       INDEXED_PROPS("indexedProps"),
-       /**
-        * name of the object this one depends on
-        */
-       DEPENDENT_ON("dependentOn"),
-       /**
-        * name of the object which contains this object
-        */
-       CONTAINER("container"),
-       /**
-        * the top level namespace to which this object belongs<br>
-        * <b>only valid on top level objects</b>
-        */
-       NAMESPACE("namespace"),
-       /**
-        * properties which are searchable via the GUI
-        * <br><b>comma separated list</b>
-        */
-       SEARCHABLE("searchable"),
-       /**
-        * properties marked as unique in the db schema
-        * <br><b>comma separated list</b>
-        */
-       UNIQUE_PROPS("uniqueProps"),
-       /**
-        * properties marked as required
-        * <br><b>comma separated list</b>
-        */
-       REQUIRED_PROPS("requiredProps"),
-       /**
-        * uri template for this object
-        */
-       URI_TEMPLATE("uriTemplate"),
-       /**
-        * abstract type from which this object extends
-        */
-       EXTENDS("extends"),
-       /**
-        * comma separated list of objects who inherit this object<br>
-        * <b>only valid on abstract objects</b>
-        */
-       INHERITORS("inheritors"),
-       /**
-        * a value of true marks this object as abstract
-        * abstract objects cannot be read/written directly
-        * they resolve to "or queries" when used in queries
-        */
-       ABSTRACT("abstract"),
-       /**
-        * comma separated list of properties which are alternate ways
-        * to identify this object
-        */
-       ALTERNATE_KEYS_1("alternateKeys1"),
-       /**
-        * the maximum allowable retrievable depth 
-        */
-       MAXIMUM_DEPTH("maximumDepth"),
-       /**
-        * collection of other objects to retrieve along with this one
-        *  <br><b>comma separated list</b>
-        */
-       CROSS_ENTITY_REFERENCE("crossEntityReference"),
-       /**
-        * Marks that this object can be linked to via dataLink 
-        */
-       CAN_BE_LINKED("canBeLinked"),
-       /**
-        * The entity contains properties that are suggestible
-        */
-       CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
-       /**
-        * A list of aliases for the entity name (for AAI UI searches)
-        */
-       SUGGESTION_ALIASES("suggestionAliases"),
-       /**
-        * a value of true allows this object to be read directly
-        */
-       ALLOW_DIRECT_READ("allowDirectRead"),
-       /**
-        * a value of true allows this object to be written directly
-        */
-       ALLOW_DIRECT_WRITE("allowDirectWrite"),
+  /**
+   * description of object
+   */
+  DESCRIPTION("description"),
+  /**
+   * names of properties to appear in relationship-lists
+   * and parent objects in DMaaP messages
+   * <br><b>comma separated list</b>
+   */
+  NAME_PROPS("nameProps"),
+  /**
+   * names of properties to be indexed in the
+   * db schema
+   * <br><b>comma separated list</b>
+   */
+  INDEXED_PROPS("indexedProps"),
+  /**
+   * name of the object this one depends on
+   */
+  DEPENDENT_ON("dependentOn"),
+  /**
+   * name of the object which contains this object
+   */
+  CONTAINER("container"),
+  /**
+   * the top level namespace to which this object belongs<br>
+   * <b>only valid on top level objects</b>
+   */
+  NAMESPACE("namespace"),
+  /**
+   * properties which are searchable via the GUI
+   * <br><b>comma separated list</b>
+   */
+  SEARCHABLE("searchable"),
+  /**
+   * properties marked as unique in the db schema
+   * <br><b>comma separated list</b>
+   */
+  UNIQUE_PROPS("uniqueProps"),
+  /**
+   * properties marked as required
+   * <br><b>comma separated list</b>
+   */
+  REQUIRED_PROPS("requiredProps"),
+  /**
+   * uri template for this object
+   */
+  URI_TEMPLATE("uriTemplate"),
+  /**
+   * abstract type from which this object extends
+   */
+  EXTENDS("extends"),
+  /**
+   * comma separated list of objects who inherit this object<br>
+   * <b>only valid on abstract objects</b>
+   */
+  INHERITORS("inheritors"),
+  /**
+   * a value of true marks this object as abstract
+   * abstract objects cannot be read/written directly
+   * they resolve to "or queries" when used in queries
+   */
+  ABSTRACT("abstract"),
+  /**
+   * comma separated list of properties which are alternate ways
+   * to identify this object
+   */
+  ALTERNATE_KEYS_1("alternateKeys1"),
+  /**
+   * the maximum allowable retrievable depth 
+   */
+  MAXIMUM_DEPTH("maximumDepth"),
+  /**
+   * collection of other objects to retrieve along with this one
+   *  <br><b>comma separated list</b>
+   */
+  CROSS_ENTITY_REFERENCE("crossEntityReference"),
+  /**
+   * Marks that this object can be linked to via dataLink 
+   */
+  CAN_BE_LINKED("canBeLinked"),
+  /**
+   * The entity contains properties that are suggestible
+   */
+  CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
+  /**
+   * A list of aliases for the entity name (for AAI UI searches)
+   */
+  SUGGESTION_ALIASES("suggestionAliases"),
+  /**
+   * a value of true allows this object to be read directly
+   */
+  ALLOW_DIRECT_READ("allowDirectRead"),
+  /**
+   * a value of true allows this object to be written directly
+   */
+  ALLOW_DIRECT_WRITE("allowDirectWrite"),
     /**
      * properties that are allowed to be in start node in a DSL
      * <br><b>comma separated list</b>
@@ -127,12 +127,12 @@ public enum ObjectMetadata {
 
     private final String name;
 
-         private ObjectMetadata(String name) { 
-           this.name = name;
-         }
+    private ObjectMetadata(String name) { 
+      this.name = name;
+    }
 
-         @Override public String toString() {
-           return name; 
-         }
-       
+    @Override public String toString() {
+      return name; 
+    }
+  
 }
index ac2c00b..b392721 100644 (file)
@@ -21,64 +21,64 @@ package org.onap.aai.schema.enums;
 
 public enum PropertyMetadata {
 
-       /**
-        * description of property
-        */
-       DESCRIPTION("description"),
-       /**
-        * default value of property
-        */
-       DEFAULT_VALUE("defaultValue"),
-       /**
-        * sets the property name used when writing to the db
-        */
-       DB_ALIAS("dbAlias"),
-       /**
-        * a URI which describes the location of a value to be
-        * written on a PUT
-        */
-       DATA_COPY("dataCopy"),
-       /**
-        * a URI which describes another object which backs this value
-        */
-       DATA_LINK("dataLink"),
-       /**
-        * controls the visibility of a field based on context
-        */
-       VISIBILITY("visibility"),
-       /**
-        * specifies a field which must be populated to pass validation
-        */
-       REQUIRES("requires"),
-       /**
-        * automatically creates an id for the property if not specified
-        */
-       AUTO_GENERATE_UUID("autoGenerateUuid"),
-       /**
-        * Property is used for VNF searches in AAI UI
-        */
-       SUGGESTIBLE_ON_SEARCH("suggestibleOnSearch"),
-       /**
-        * An identifier that indicates which system is the master of this property data
-        */
-       SOURCE_OF_TRUTH_TYPE("sourceOfTruthType"),
-       /**
-        * makes property read only by version
-        */
-       READ_ONLY("readOnly"),
-       /**
-        * Add a private edge between two objects based on the uri provided by user which should provide
-        * the appropriate information from the url similar to dataCopy
-        */
-       PRIVATE_EDGE("privateEdge");
-       
-        private final String name;
+  /**
+   * description of property
+   */
+  DESCRIPTION("description"),
+  /**
+   * default value of property
+   */
+  DEFAULT_VALUE("defaultValue"),
+  /**
+   * sets the property name used when writing to the db
+   */
+  DB_ALIAS("dbAlias"),
+  /**
+   * a URI which describes the location of a value to be
+   * written on a PUT
+   */
+  DATA_COPY("dataCopy"),
+  /**
+   * a URI which describes another object which backs this value
+   */
+  DATA_LINK("dataLink"),
+  /**
+   * controls the visibility of a field based on context
+   */
+  VISIBILITY("visibility"),
+  /**
+   * specifies a field which must be populated to pass validation
+   */
+  REQUIRES("requires"),
+  /**
+   * automatically creates an id for the property if not specified
+   */
+  AUTO_GENERATE_UUID("autoGenerateUuid"),
+  /**
+   * Property is used for VNF searches in AAI UI
+   */
+  SUGGESTIBLE_ON_SEARCH("suggestibleOnSearch"),
+  /**
+   * An identifier that indicates which system is the master of this property data
+   */
+  SOURCE_OF_TRUTH_TYPE("sourceOfTruthType"),
+  /**
+   * makes property read only by version
+   */
+  READ_ONLY("readOnly"),
+  /**
+   * Add a private edge between two objects based on the uri provided by user which should provide
+   * the appropriate information from the url similar to dataCopy
+   */
+  PRIVATE_EDGE("privateEdge");
+  
+   private final String name;
 
-         private PropertyMetadata(String name) { 
-           this.name = name;
-         }
+    private PropertyMetadata(String name) { 
+      this.name = name;
+    }
 
-         @Override public String toString() {
-           return name; 
-         }
+    @Override public String toString() {
+      return name; 
+    }
 }
index 5a58923..664c9ca 100644 (file)
@@ -22,32 +22,32 @@ package org.onap.aai.queries;
 import java.util.List;
 
 public class CustomQueryConfig {
-       public CustomQueryConfig() {
-               // used by GetCustomQueryConfig
-       }
+  public CustomQueryConfig() {
+    // used by GetCustomQueryConfig
+  }
 
 
-       private String query;
-       private List<String> queryOptionalProperties;
-       private List<String> queryRequiredProperties;
+  private String query;
+  private List<String> queryOptionalProperties;
+  private List<String> queryRequiredProperties;
 
-       public void setQuery(String query) {
-               this.query = query;
-       }
-       public String getQuery() {
-               return this.query;
-       }
+  public void setQuery(String query) {
+    this.query = query;
+  }
+  public String getQuery() {
+    return this.query;
+  }
 
-       public void setQueryOptionalProperties( List<String> queryOptionalProperties) {
-               this.queryOptionalProperties = queryOptionalProperties;
-       }
-       public List<String> getQueryOptionalProperties( ) {
-               return queryOptionalProperties;
-       }
-       public void setQueryRequiredProperties( List<String> queryRequiredProperties) {
-               this.queryRequiredProperties = queryRequiredProperties;
-       }
-       public List<String> getQueryRequiredProperties( ) {
-               return queryRequiredProperties;
-       }
+  public void setQueryOptionalProperties( List<String> queryOptionalProperties) {
+    this.queryOptionalProperties = queryOptionalProperties;
+  }
+  public List<String> getQueryOptionalProperties( ) {
+    return queryOptionalProperties;
+  }
+  public void setQueryRequiredProperties( List<String> queryRequiredProperties) {
+    this.queryRequiredProperties = queryRequiredProperties;
+  }
+  public List<String> getQueryRequiredProperties( ) {
+    return queryRequiredProperties;
+  }
 }
index ed4ff99..c726c76 100644 (file)
@@ -28,121 +28,121 @@ import java.util.List;
 
 public class GetCustomQueryConfig {
 
-       private JsonArray storedQueries = null;
-       private CustomQueryConfig customQueryConfig;
-
-
-       private final static String QUERY_CONFIG = "query";
-       private final static String REQUIRED_CONFIG = "required-properties";
-       private final static String OPTIONAL_CONFIG = "optional-properties";
-       private final static String STORED_QUERIES_CONFIG = "stored-queries";
-       private final static String STORED_QUERY_CONFIG = "stored-query";
-
-//     public static final String AAI_HOME_ETC_QUERY_JSON = AAIConstants.AAI_HOME_ETC + "query" + AAIConstants.AAI_FILESEP + "stored-queries.json";
-
-       public GetCustomQueryConfig(String customQueryJson ) {
-               init(customQueryJson);
-       }
-
-       private void init( String customQueryJson) {
-               JsonParser parser = new JsonParser();
-               JsonObject queriesObject = parser.parse(customQueryJson).getAsJsonObject();
-               if (queriesObject.has(STORED_QUERIES_CONFIG)) {
-
-                       storedQueries = queriesObject.getAsJsonArray(STORED_QUERIES_CONFIG);
-               }
-       }
-
-       private List<String> toStringList(JsonArray array) {
-          Gson converter = new Gson();
-          Type listType = new TypeToken<List<String>>() {}.getType();
-          return converter.fromJson(array, listType);
-       }
-
-       private List<String> getPropertyList(JsonObject configObject, String config ) {
-               JsonElement subqueryConfig;
-               JsonArray props;
-
-               if ( configObject.has(config)) {
-                       subqueryConfig = configObject.get(config);
-                       if ( subqueryConfig != null && !subqueryConfig.isJsonNull() ) {
-                               props = subqueryConfig.getAsJsonArray();
-                               if ( props != null ) {
-                                       return toStringList(props);
-                               }
-                       }
-               }
-               return toStringList(null);
-       }
-
-       private String getPropertyString(JsonObject configObject, String config) {
-               JsonElement subqueryConfig;
-
-               if ( configObject.has(config)) {
-                       subqueryConfig = configObject.get(config);
-                       if ( subqueryConfig != null && !subqueryConfig.isJsonNull() ) {
-                               return subqueryConfig.getAsString();
-                       }
-               }
-               return null;
-       }
-
-       private void getStoredQueryBlock( JsonObject configObject, String config ) {
-               if ( !configObject.has(config)) {
-                       customQueryConfig.setQueryRequiredProperties( new ArrayList<String>() );
-                       customQueryConfig.setQueryOptionalProperties( new ArrayList<String>()  );
-                       return;
-               }
-
-               JsonElement queryConfig;
-               JsonObject subObject;
-               String multipleStartNodes;
-               List<String> propertyList;
-
-               queryConfig = configObject.get(config);
-               subObject = queryConfig.getAsJsonObject();
-               propertyList = getPropertyList(subObject, REQUIRED_CONFIG);
-               if ( propertyList == null ) {
-                       propertyList = new ArrayList<String>();
-               }
-               customQueryConfig.setQueryRequiredProperties( propertyList );
-               propertyList = getPropertyList(subObject, OPTIONAL_CONFIG);
-               if ( propertyList == null ) {
-                       propertyList = new ArrayList<String>();
-               }
-               customQueryConfig.setQueryOptionalProperties( propertyList );
-
-       }
-
-
-       public CustomQueryConfig getStoredQuery(String queryName ) {
-
-               customQueryConfig = null;
-               JsonObject configObject;
-               JsonElement query;
-               JsonElement queryConfig;
-               String queryString;
-
-               for (JsonElement storedQuery : storedQueries) {
-                       if (storedQuery.isJsonObject()) {
-                               JsonObject queryObject = storedQuery.getAsJsonObject();
-                               query = queryObject.get(queryName);
-                               if ( query != null ) {
-                                       customQueryConfig = new CustomQueryConfig();
-                                       configObject = query.getAsJsonObject();
-                                       getStoredQueryBlock(configObject, QUERY_CONFIG);
-                                       if ( configObject.has(STORED_QUERY_CONFIG)) {
-                                               queryConfig = configObject.get(STORED_QUERY_CONFIG);
-                                               customQueryConfig.setQuery(queryConfig.getAsString());
-                                       }
-                                       break;
-                               }
-                       }
-               }
-
-               return customQueryConfig;
-
-       }
+  private JsonArray storedQueries = null;
+  private CustomQueryConfig customQueryConfig;
+
+
+  private final static String QUERY_CONFIG = "query";
+  private final static String REQUIRED_CONFIG = "required-properties";
+  private final static String OPTIONAL_CONFIG = "optional-properties";
+  private final static String STORED_QUERIES_CONFIG = "stored-queries";
+  private final static String STORED_QUERY_CONFIG = "stored-query";
+
+//  public static final String AAI_HOME_ETC_QUERY_JSON = AAIConstants.AAI_HOME_ETC + "query" + AAIConstants.AAI_FILESEP + "stored-queries.json";
+
+  public GetCustomQueryConfig(String customQueryJson ) {
+    init(customQueryJson);
+  }
+
+  private void init( String customQueryJson) {
+    JsonParser parser = new JsonParser();
+    JsonObject queriesObject = parser.parse(customQueryJson).getAsJsonObject();
+    if (queriesObject.has(STORED_QUERIES_CONFIG)) {
+
+      storedQueries = queriesObject.getAsJsonArray(STORED_QUERIES_CONFIG);
+    }
+  }
+
+  private List<String> toStringList(JsonArray array) {
+     Gson converter = new Gson();
+     Type listType = new TypeToken<List<String>>() {}.getType();
+     return converter.fromJson(array, listType);
+  }
+
+  private List<String> getPropertyList(JsonObject configObject, String config ) {
+    JsonElement subqueryConfig;
+    JsonArray props;
+
+    if ( configObject.has(config)) {
+      subqueryConfig = configObject.get(config);
+      if ( subqueryConfig != null && !subqueryConfig.isJsonNull() ) {
+        props = subqueryConfig.getAsJsonArray();
+        if ( props != null ) {
+          return toStringList(props);
+        }
+      }
+    }
+    return toStringList(null);
+  }
+
+  private String getPropertyString(JsonObject configObject, String config) {
+    JsonElement subqueryConfig;
+
+    if ( configObject.has(config)) {
+      subqueryConfig = configObject.get(config);
+      if ( subqueryConfig != null && !subqueryConfig.isJsonNull() ) {
+        return subqueryConfig.getAsString();
+      }
+    }
+    return null;
+  }
+
+  private void getStoredQueryBlock( JsonObject configObject, String config ) {
+    if ( !configObject.has(config)) {
+      customQueryConfig.setQueryRequiredProperties( new ArrayList<String>() );
+      customQueryConfig.setQueryOptionalProperties( new ArrayList<String>()  );
+      return;
+    }
+
+    JsonElement queryConfig;
+    JsonObject subObject;
+    String multipleStartNodes;
+    List<String> propertyList;
+
+    queryConfig = configObject.get(config);
+    subObject = queryConfig.getAsJsonObject();
+    propertyList = getPropertyList(subObject, REQUIRED_CONFIG);
+    if ( propertyList == null ) {
+      propertyList = new ArrayList<String>();
+    }
+    customQueryConfig.setQueryRequiredProperties( propertyList );
+    propertyList = getPropertyList(subObject, OPTIONAL_CONFIG);
+    if ( propertyList == null ) {
+      propertyList = new ArrayList<String>();
+    }
+    customQueryConfig.setQueryOptionalProperties( propertyList );
+
+  }
+
+
+  public CustomQueryConfig getStoredQuery(String queryName ) {
+
+    customQueryConfig = null;
+    JsonObject configObject;
+    JsonElement query;
+    JsonElement queryConfig;
+    String queryString;
+
+    for (JsonElement storedQuery : storedQueries) {
+      if (storedQuery.isJsonObject()) {
+        JsonObject queryObject = storedQuery.getAsJsonObject();
+        query = queryObject.get(queryName);
+        if ( query != null ) {
+          customQueryConfig = new CustomQueryConfig();
+          configObject = query.getAsJsonObject();
+          getStoredQueryBlock(configObject, QUERY_CONFIG);
+          if ( configObject.has(STORED_QUERY_CONFIG)) {
+            queryConfig = configObject.get(STORED_QUERY_CONFIG);
+            customQueryConfig.setQuery(queryConfig.getAsString());
+          }
+          break;
+        }
+      }
+    }
+
+    return customQueryConfig;
+
+  }
 
 
 
index 3b4a406..509aa88 100644 (file)
@@ -62,29 +62,29 @@ public class GremlinServerSingleton {
     @PostConstruct
     public void init() {
 
-               try {
-                       String filepath = storedQueriesLocation + AAIConstants.AAI_FILESEP + "stored-queries.json";
-                       Path path = Paths.get(filepath);
-                       String customQueryConfigJson = new String(Files.readAllBytes(path));
+    try {
+      String filepath = storedQueriesLocation + AAIConstants.AAI_FILESEP + "stored-queries.json";
+      Path path = Paths.get(filepath);
+      String customQueryConfigJson = new String(Files.readAllBytes(path));
 
 
-                       queryConfig = new GetCustomQueryConfig(customQueryConfigJson);
-               } catch (IOException e) {
-                       logger.error("Error occurred during the processing of query json file: " + LogFormatTools.getStackTop(e));
-               }
+      queryConfig = new GetCustomQueryConfig(customQueryConfigJson);
+    } catch (IOException e) {
+      logger.error("Error occurred during the processing of query json file: " + LogFormatTools.getStackTop(e));
+    }
 
 
         TimerTask task = new FileWatcher(new File(storedQueriesLocation)) {
             @Override
             protected void onChange(File file) {
-                       try {
-                               String filepath = storedQueriesLocation;
-                               Path path = Paths.get(filepath);
-                               String customQueryConfigJson = new String(Files.readAllBytes(path));
-                               queryConfig = new GetCustomQueryConfig(customQueryConfigJson);
-                       } catch (IOException e) {
-                               logger.error("Error occurred during the processing of query json file: " + LogFormatTools.getStackTop(e));
-                       }
+            try {
+              String filepath = storedQueriesLocation;
+              Path path = Paths.get(filepath);
+              String customQueryConfigJson = new String(Files.readAllBytes(path));
+              queryConfig = new GetCustomQueryConfig(customQueryConfigJson);
+            } catch (IOException e) {
+              logger.error("Error occurred during the processing of query json file: " + LogFormatTools.getStackTop(e));
+            }
             }
         };
 
@@ -102,15 +102,15 @@ public class GremlinServerSingleton {
      * @return
      */
     public String getStoredQueryFromConfig(String key){
-       CustomQueryConfig customQueryConfig = queryConfig.getStoredQuery(key);
-       if ( customQueryConfig == null ) {
-               return null;
-       }
-       return customQueryConfig.getQuery();
+      CustomQueryConfig customQueryConfig = queryConfig.getStoredQuery(key);
+      if ( customQueryConfig == null ) {
+        return null;
+      }
+      return customQueryConfig.getQuery();
     }
 
     public CustomQueryConfig getCustomQueryConfig(String key) {
-       return queryConfig.getStoredQuery(key);
+      return queryConfig.getStoredQuery(key);
     }
 
 
index 551c10d..15943b7 100644 (file)
@@ -50,51 +50,51 @@ import java.util.Map;
 import static org.junit.Assert.assertNotNull;
 
 @ContextConfiguration(classes = {
-               SchemaLocationsBean.class,
+    SchemaLocationsBean.class,
         SchemaVersions.class,
-               AAIConfigTranslator.class,
+    AAIConfigTranslator.class,
         EdgeIngestor.class,
         EdgeSerializer.class,
         NodeIngestor.class,
         SpringContextAware.class,
         IntrospectionConfig.class ,
         RestBeanConfig.class,
-               GremlinServerSingleton.class
+    GremlinServerSingleton.class
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai",
-               "schema.ingest.file = src/test/resources/application-test.properties"
+    "schema.uri.base.path = /aai",
+    "schema.ingest.file = src/test/resources/application-test.properties"
 })
 public abstract class AAISetup {
-       @Autowired
-       protected NodeIngestor nodeIngestor;
+  @Autowired
+  protected NodeIngestor nodeIngestor;
 
-       @Autowired
-       protected LoaderFactory loaderFactory;
+  @Autowired
+  protected LoaderFactory loaderFactory;
 
-       @Autowired
-       protected  Map<SchemaVersion, MoxyLoader>  moxyLoaderInstance;
+  @Autowired
+  protected  Map<SchemaVersion, MoxyLoader>  moxyLoaderInstance;
 
-       @Autowired
-       protected HttpEntry traversalHttpEntry;
+  @Autowired
+  protected HttpEntry traversalHttpEntry;
 
-       @Autowired
-       protected HttpEntry traversalUriHttpEntry;
+  @Autowired
+  protected HttpEntry traversalUriHttpEntry;
 
-       @Autowired
-       protected EdgeSerializer edgeSer;
+  @Autowired
+  protected EdgeSerializer edgeSer;
 
-       @Autowired
-       protected EdgeIngestor edgeIngestor;
+  @Autowired
+  protected EdgeIngestor edgeIngestor;
 
-       @Autowired
-       protected SchemaVersions schemaVersions;
+  @Autowired
+  protected SchemaVersions schemaVersions;
 
-       @Autowired
-       protected GremlinServerSingleton gremlinServerSingleton;
+  @Autowired
+  protected GremlinServerSingleton gremlinServerSingleton;
 
-       @Value("${schema.uri.base.path}")
-       protected String basePath;
+  @Value("${schema.uri.base.path}")
+  protected String basePath;
 
     @ClassRule
     public static final SpringClassRule springClassRule = new SpringClassRule();
index 8e890a1..25591e7 100644 (file)
@@ -80,9 +80,9 @@ import static org.mockito.Mockito.when;
 
 @RunWith(Parameterized.class)
 @ContextConfiguration(classes = {
-       SchemaLocationsBean.class,
+  SchemaLocationsBean.class,
     SchemaConfigVersions.class,
-       AAIConfigTranslator.class,
+  AAIConfigTranslator.class,
     EdgeIngestor.class,
     EdgeSerializer.class,
     NodeIngestor.class,
@@ -91,48 +91,48 @@ import static org.mockito.Mockito.when;
     IntrospectionConfig.class
 })
 @TestPropertySource(properties = {
-       "schema.uri.base.path = /aai",
+  "schema.uri.base.path = /aai",
     "schema.source.name = onap",
     "schema.ingest.file = src/test/resources/application-test.properties"
 })
 public abstract class OnapQueryTest {
 
-       @ClassRule
+  @ClassRule
     public static final SpringClassRule springClassRule = new SpringClassRule();
 
     @Rule
     public final SpringMethodRule springMethodRule = new SpringMethodRule();
 
-       protected Logger logger;
-       protected Graph graph;
-       protected GremlinGroovyShell shell;
-       @Mock protected TransactionalGraphEngine dbEngine;
-       protected final List<Vertex> expectedResult = new ArrayList<>();
+  protected Logger logger;
+  protected Graph graph;
+  protected GremlinGroovyShell shell;
+  @Mock protected TransactionalGraphEngine dbEngine;
+  protected final List<Vertex> expectedResult = new ArrayList<>();
 
-       @Autowired
-       protected EdgeIngestor edgeRules;
+  @Autowired
+  protected EdgeIngestor edgeRules;
 
-       @Autowired
-       protected EdgeSerializer rules;
+  @Autowired
+  protected EdgeSerializer rules;
 
-       @Autowired
-       protected LoaderFactory loaderFactory;
+  @Autowired
+  protected LoaderFactory loaderFactory;
 
-       @Autowired
-       protected SchemaVersions schemaVersions;
+  @Autowired
+  protected SchemaVersions schemaVersions;
 
-       protected Loader loader;
-       protected GraphTraversalSource gts;
+  protected Loader loader;
+  protected GraphTraversalSource gts;
 
-       @Autowired
-       protected GremlinServerSingleton gremlinServerSingleton;
+  @Autowired
+  protected GremlinServerSingleton gremlinServerSingleton;
 
-       @Parameterized.Parameter(value = 0)
-       public SchemaVersion version;
+  @Parameterized.Parameter(value = 0)
+  public SchemaVersion version;
 
-       @Parameterized.Parameters(name = "Version.{0}")
-       public static Collection<Object[]> data() {
-               return Arrays.asList(new Object[][]{
+  @Parameterized.Parameters(name = "Version.{0}")
+  public static Collection<Object[]> data() {
+    return Arrays.asList(new Object[][]{
             {new SchemaVersion("v11")},
             {new SchemaVersion("v12")},
             {new SchemaVersion("v13")},
@@ -143,89 +143,89 @@ public abstract class OnapQueryTest {
             {new SchemaVersion("v18")},
             {new SchemaVersion("v19")},
             {new SchemaVersion("v20")}
-               });
-       }
-
-       protected String query;
-
-       LinkedHashMap <String, Object> params;
-
-       @Autowired
-       private Environment env;
-
-       @BeforeClass
-       public static void setupBundleconfig() {
-               System.setProperty("AJSC_HOME", "./");
-               System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
-       }
-
-       @Before
-       public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException, IOException {
-               System.setProperty("AJSC_HOME", ".");
-               System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
-               logger = LoggerFactory.getLogger(getClass());
-               MockitoAnnotations.initMocks(this);
-               graph = TinkerGraph.open();
-               gts = graph.traversal();
-               createGraph();
-               shell = new GremlinGroovyShell();
-               loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
+    });
+  }
+
+  protected String query;
+
+  LinkedHashMap <String, Object> params;
+
+  @Autowired
+  private Environment env;
+
+  @BeforeClass
+  public static void setupBundleconfig() {
+    System.setProperty("AJSC_HOME", "./");
+    System.setProperty("BUNDLECONFIG_DIR", "src/main/resources/");
+  }
+
+  @Before
+  public void setUp() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException, IOException {
+    System.setProperty("AJSC_HOME", ".");
+    System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
+    logger = LoggerFactory.getLogger(getClass());
+    MockitoAnnotations.initMocks(this);
+    graph = TinkerGraph.open();
+    gts = graph.traversal();
+    createGraph();
+    shell = new GremlinGroovyShell();
+    loader = loaderFactory.createLoaderForVersion(ModelType.MOXY, version);
         setUpQuery();
-       }
+  }
 
 
-       protected void setUpQuery() {
-               query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
-               params = new LinkedHashMap <>();
-               addParam(params);
-               when(dbEngine.getQueryBuilder(any(QueryStyle.class))).thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
-               logger.info("Stored query in abstraction form {}", query);
-               query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
-               logger.info("After converting to gremlin query {}", query);
-               query = "g" + query;
-               GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
-               addStartNode(g);
-               params.put("g", g);
-       }
+  protected void setUpQuery() {
+    query = gremlinServerSingleton.getStoredQueryFromConfig(getQueryName());
+    params = new LinkedHashMap <>();
+    addParam(params);
+    when(dbEngine.getQueryBuilder(any(QueryStyle.class))).thenReturn(new GremlinTraversal<>(loader, graph.traversal()));
+    logger.info("Stored query in abstraction form {}", query);
+    query = new GroovyQueryBuilder().executeTraversal(dbEngine, query, params);
+    logger.info("After converting to gremlin query {}", query);
+    query = "g" + query;
+    GraphTraversal<Vertex, Vertex> g = graph.traversal().V();
+    addStartNode(g);
+    params.put("g", g);
+  }
 
-       public void run() {
+  public void run() {
 
-               GraphTraversal<Vertex, Vertex> result = (GraphTraversal<Vertex, Vertex>)shell.executeTraversal(query, params);
+    GraphTraversal<Vertex, Vertex> result = (GraphTraversal<Vertex, Vertex>)shell.executeTraversal(query, params);
 
-               List<Vertex> vertices = result.toList();
+    List<Vertex> vertices = result.toList();
 
-               logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
-               logger.info("Actual Result set of vertexes [{}]", convert(vertices));
+    logger.info("Expected result set of vertexes [{}]", convert(expectedResult));
+    logger.info("Actual Result set of vertexes [{}]", convert(vertices));
 
-               List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
-               vertices = new ArrayList<>(new HashSet<>(vertices));
+    List<Vertex> nonDuplicateExpectedResult = new ArrayList<>(new HashSet<>(expectedResult));
+    vertices = new ArrayList<>(new HashSet<>(vertices));
 
-               nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
-               vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+    nonDuplicateExpectedResult.sort(Comparator.comparing(vertex -> vertex.id().toString()));
+    vertices.sort(Comparator.comparing(vertex -> vertex.id().toString()));
 
 
-               // Use this instead of the assertTrue as this provides more useful
-               // debugging information such as this when expected and actual differ:
-               // java.lang.AssertionError: Expected all the vertices to be found
-               // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
-               // Actual   :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
-               assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
+    // Use this instead of the assertTrue as this provides more useful
+    // debugging information such as this when expected and actual differ:
+    // java.lang.AssertionError: Expected all the vertices to be found
+    // Expected :[v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+    // Actual   :[v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]]
+    assertEquals("Expected all the vertices to be found", nonDuplicateExpectedResult, vertices);
 
-       }
+  }
 
-       protected String convert(List<Vertex> vertices){
-               return vertices
-                               .stream()
-                               .map(vertex -> vertex.property("aai-node-type").value().toString())
-                               .collect(Collectors.joining(","));
-       }
+  protected String convert(List<Vertex> vertices){
+    return vertices
+        .stream()
+        .map(vertex -> vertex.property("aai-node-type").value().toString())
+        .collect(Collectors.joining(","));
+  }
 
-       protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
+  protected abstract void createGraph() throws AAIException, NoEdgeRuleFoundException, EdgeRuleNotFoundException, AmbiguousRuleChoiceException;
 
-       protected abstract String getQueryName();
+  protected abstract String getQueryName();
 
-       protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
+  protected abstract void addStartNode(GraphTraversal<Vertex, Vertex> g);
 
-       protected abstract void addParam(Map<String, Object> params);
+  protected abstract void addParam(Map<String, Object> params);
 
 }
index cda58a0..6bc2705 100644 (file)
@@ -32,68 +32,68 @@ import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
 import java.util.Map;
 
 public class VnfToEsrSystemInfoQueryTest extends OnapQueryTest {
-       public VnfToEsrSystemInfoQueryTest() {
-               super();
-       }
+  public VnfToEsrSystemInfoQueryTest() {
+    super();
+  }
 
-       @Test
-       public void run() {
-               super.run();
+  @Test
+  public void run() {
+    super.run();
         assertTrue(true);
-       }
+  }
 
-       @Override
-       protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
+  @Override
+  protected void createGraph() throws AAIException, NoEdgeRuleFoundException {
 
 
-               Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
-               Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
-               Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
-               Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
-               Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-1");
+    Vertex gnvf = graph.addVertex(T.label, "generic-vnf", T.id, "2", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-1");
+    Vertex vserver = graph.addVertex(T.label, "vserver", T.id, "3", "aai-node-type", "vserver", "vserver-id", "vserver-id-1","vserver-name","vserver-name-1");
+    Vertex tenant = graph.addVertex(T.label, "tenant", T.id, "4", "aai-node-type", "tenant", "tenant-id", "tenantid01", "tenant-name", "tenantName01");
+    Vertex cloudregion = graph.addVertex(T.label, "cloud-region", T.id, "5", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-1", "cloud-region-owner", "cloud-owner-name-1");
+    Vertex esr = graph.addVertex(T.label, "esr-system-info", T.id, "6", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-1");
 
-               Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
-               Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-2");
-               Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
-               Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
-               Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-2");
+    Vertex gnvf1 = graph.addVertex(T.label, "generic-vnf", T.id, "8", "aai-node-type", "generic-vnf", "vnf-id", "vnf-id-2");
+    Vertex vserver1 = graph.addVertex(T.label, "vserver", T.id, "9", "aai-node-type", "vserver", "vserver-id", "vserver-id-2","vserver-name","vserver-name-2");
+    Vertex tenant1 = graph.addVertex(T.label, "tenant", T.id, "10", "aai-node-type", "tenant", "tenant-id", "tenantid02", "tenant-name", "tenantName02");
+    Vertex cloudregion1 = graph.addVertex(T.label, "cloud-region", T.id, "11", "aai-node-type", "cloud-region", "cloud-region-id", "cloud-region-id-2", "cloud-region-owner", "cloud-owner-name-2");
+    Vertex esr1 = graph.addVertex(T.label, "esr-system-info", T.id, "12", "aai-node-type", "esr-system-info", "esr-system-info-id", "esr-system-info-2");
 
 
 
 
-               GraphTraversalSource g = graph.traversal();
-               rules.addEdge(g, gnvf, vserver);
-               rules.addTreeEdge(g, vserver,tenant);
-               rules.addTreeEdge(g, tenant,cloudregion);
-               rules.addTreeEdge(g, cloudregion, esr);
+    GraphTraversalSource g = graph.traversal();
+    rules.addEdge(g, gnvf, vserver);
+    rules.addTreeEdge(g, vserver,tenant);
+    rules.addTreeEdge(g, tenant,cloudregion);
+    rules.addTreeEdge(g, cloudregion, esr);
 
-               //Not expected in result
-               rules.addEdge(g, gnvf1, vserver1);
-               rules.addTreeEdge(g, vserver1,tenant1);
-               rules.addTreeEdge(g, tenant1,cloudregion1);
-               rules.addTreeEdge(g, cloudregion1, esr1);
-               //Not expected in result
+    //Not expected in result
+    rules.addEdge(g, gnvf1, vserver1);
+    rules.addTreeEdge(g, vserver1,tenant1);
+    rules.addTreeEdge(g, tenant1,cloudregion1);
+    rules.addTreeEdge(g, cloudregion1, esr1);
+    //Not expected in result
 
-               expectedResult.add(gnvf);
-               expectedResult.add(vserver);
-               expectedResult.add(tenant);
-               expectedResult.add(cloudregion);
-               expectedResult.add(esr);
+    expectedResult.add(gnvf);
+    expectedResult.add(vserver);
+    expectedResult.add(tenant);
+    expectedResult.add(cloudregion);
+    expectedResult.add(esr);
 
 
-       }
+  }
 
-       @Override
-       protected String getQueryName() {
-               return  "vnf-to-esr-system-info";
-       }
-       @Override
-       protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
-               g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
+  @Override
+  protected String getQueryName() {
+    return  "vnf-to-esr-system-info";
+  }
+  @Override
+  protected void addStartNode(GraphTraversal<Vertex, Vertex> g) {
+    g.has("aai-node-type", "generic-vnf").has("vnf-id", "vnf-id-1");
 
-       }
-       @Override
-       protected void addParam(Map<String, Object> params) {
-               return;
-       }
+  }
+  @Override
+  protected void addParam(Map<String, Object> params) {
+    return;
+  }
 }
index a85ecac..9d3f258 100644 (file)
@@ -42,101 +42,101 @@ import java.util.*;
 
 public class GenerateXsd {
 
-       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
-       protected static String apiVersion = null;
-       public static AnnotationConfigApplicationContext ctx = null;
-       static String apiVersionFmt = null;
-       static boolean useAnnotationsInXsd = false;
-       static String responsesUrl = null;
-       static String responsesLabel = null;
-       static String jsonEdges = null;
-       static Map<String, String> generatedJavaType;
-       static Map<String, String> appliedPaths;
-       static String RELEASE = System.getProperty("aai.release", "onap");
-
-
-       static NodeList javaTypeNodes;
-       static Map<String,String> javaTypeDefinitions = createJavaTypeDefinitions();
+  private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+  protected static String apiVersion = null;
+  public static AnnotationConfigApplicationContext ctx = null;
+  static String apiVersionFmt = null;
+  static boolean useAnnotationsInXsd = false;
+  static String responsesUrl = null;
+  static String responsesLabel = null;
+  static String jsonEdges = null;
+  static Map<String, String> generatedJavaType;
+  static Map<String, String> appliedPaths;
+  static String RELEASE = System.getProperty("aai.release", "onap");
+
+
+  static NodeList javaTypeNodes;
+  static Map<String,String> javaTypeDefinitions = createJavaTypeDefinitions();
     private static Map<String, String> createJavaTypeDefinitions()
     {
         StringBuilder aaiInternal = new StringBuilder();
-       Map<String,String> javaTypeDefinitions = new HashMap<String, String>();
-       aaiInternal.append("  aai-internal:\n");
-       aaiInternal.append("    properties:\n");
-       aaiInternal.append("      property-name:\n");
-       aaiInternal.append("        type: string\n");
-       aaiInternal.append("      property-value:\n");
-       aaiInternal.append("        type: string\n");
-//     javaTypeDefinitions.put("aai-internal", aaiInternal.toString());
-       return javaTypeDefinitions;
+      Map<String,String> javaTypeDefinitions = new HashMap<String, String>();
+      aaiInternal.append("  aai-internal:\n");
+      aaiInternal.append("    properties:\n");
+      aaiInternal.append("      property-name:\n");
+      aaiInternal.append("        type: string\n");
+      aaiInternal.append("      property-value:\n");
+      aaiInternal.append("        type: string\n");
+//      javaTypeDefinitions.put("aai-internal", aaiInternal.toString());
+      return javaTypeDefinitions;
     }
 
-       public static final int VALUE_NONE = 0;
-       public static final int VALUE_DESCRIPTION = 1;
-       public static final int VALUE_INDEXED_PROPS = 2;
-       public static final int VALUE_CONTAINER = 3;
+  public static final int VALUE_NONE = 0;
+  public static final int VALUE_DESCRIPTION = 1;
+  public static final int VALUE_INDEXED_PROPS = 2;
+  public static final int VALUE_CONTAINER = 3;
 
-       private static final String GENERATE_TYPE_XSD = "xsd";
-       private static final String GENERATE_TYPE_YAML = "yaml";
+  private static final String GENERATE_TYPE_XSD = "xsd";
+  private static final String GENERATE_TYPE_YAML = "yaml";
 
-       private final static String NODE_DIR = System.getProperty("nodes.configuration.location");
-       private final static String EDGE_DIR = System.getProperty("edges.configuration.location");
-       private static final String BASE_ROOT = "aai-schema/";
-       private static final String BASE_AUTO_GEN_ROOT = "aai-schema/";
+  private final static String NODE_DIR = System.getProperty("nodes.configuration.location");
+  private final static String EDGE_DIR = System.getProperty("edges.configuration.location");
+  private static final String BASE_ROOT = "aai-schema/";
+  private static final String BASE_AUTO_GEN_ROOT = "aai-schema/";
 
-       private static final String ROOT = BASE_ROOT + "src/main/resources";
-       private static final String AUTO_GEN_ROOT = BASE_AUTO_GEN_ROOT + "src/main/resources";
+  private static final String ROOT = BASE_ROOT + "src/main/resources";
+  private static final String AUTO_GEN_ROOT = BASE_AUTO_GEN_ROOT + "src/main/resources";
 
-       private static final String NORMAL_START_DIR = "aai-schema-gen";
-       private static final String XSD_DIR = ROOT + "/" + RELEASE +"/aai_schema";
+  private static final String NORMAL_START_DIR = "aai-schema-gen";
+  private static final String XSD_DIR = ROOT + "/" + RELEASE +"/aai_schema";
 
-       private static final String
+  private static final String
         YAML_DIR = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains(
         NORMAL_START_DIR))) ?
         AUTO_GEN_ROOT :
         ROOT) + "/" + RELEASE + "/aai_swagger_yaml";
 
-       /* These three strings are for yaml auto-generation from aai-common class*/
+  /* These three strings are for yaml auto-generation from aai-common class*/
 
-       private static final int SWAGGER_SUPPORT_STARTS_VERSION = 1; // minimum version to support swagger documentation
+  private static final int SWAGGER_SUPPORT_STARTS_VERSION = 1; // minimum version to support swagger documentation
 
 
-       private static boolean validVersion(String versionToGen) {
+  private static boolean validVersion(String versionToGen) {
 
-               if ("ALL".equalsIgnoreCase(versionToGen)) {
-                       return true;
-               }
+    if ("ALL".equalsIgnoreCase(versionToGen)) {
+      return true;
+    }
 
-               SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class);
-               if (schemaVersions == null) {
-                   return false;
+    SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class);
+    if (schemaVersions == null) {
+        return false;
         }
-               for (SchemaVersion v : schemaVersions.getVersions()) {
-               if (v.toString().equals(versionToGen)) {
-                   return true;
-               }
-           }
+    for (SchemaVersion v : schemaVersions.getVersions()) {
+          if (v.toString().equals(versionToGen)) {
+              return true;
+          }
+      }
 
-           return false;
-       }
+      return false;
+  }
 
-       private static boolean versionSupportsSwagger(String version) {
+  private static boolean versionSupportsSwagger(String version) {
         return Integer.parseInt(version.substring(1)) >= SWAGGER_SUPPORT_STARTS_VERSION;
     }
 
-       public static String getAPIVersion() {
-               return apiVersion;
-       }
+  public static String getAPIVersion() {
+    return apiVersion;
+  }
 
-       public static String getYamlDir() {
-               return YAML_DIR;
-       }
+  public static String getYamlDir() {
+    return YAML_DIR;
+  }
 
-       public static String getResponsesUrl() {
-               return responsesUrl;
-       }
-       public static void main(String[] args) throws IOException {
-               String versionToGen = System.getProperty("gen_version");
+  public static String getResponsesUrl() {
+    return responsesUrl;
+  }
+  public static void main(String[] args) throws IOException {
+    String versionToGen = System.getProperty("gen_version");
         if (versionToGen == null) {
             System.err.println("Version is required, ie v<n> or ALL.");
             System.exit(1);
@@ -152,175 +152,175 @@ public class GenerateXsd {
         }
 
         AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(
-                               "org.onap.aai.setup",
+        "org.onap.aai.setup",
             "org.onap.aai.schemagen"
-               );
-
-               SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class);
-
-               if ( !fileTypeToGen.equals(GENERATE_TYPE_XSD) && !fileTypeToGen.equals(GENERATE_TYPE_YAML)) {
-                       System.err.println("Invalid gen_type passed. " + fileTypeToGen);
-                       System.exit(1);
-               }
-
-               String responsesLabel = System.getProperty("yamlresponses_url");
-               responsesUrl = responsesLabel;
-
-               List<SchemaVersion> versionsToGen = new ArrayList<>();
-               if (!"ALL".equalsIgnoreCase(versionToGen) && !versionToGen.matches("v\\d+") && !validVersion(versionToGen)) {
-                       System.err.println("Invalid version passed. " + versionToGen);
-                       System.exit(1);
-               }
-               else if ("ALL".equalsIgnoreCase(versionToGen)) {
-                       versionsToGen = schemaVersions.getVersions();
-                       Collections.sort(versionsToGen);
-                       Collections.reverse(versionsToGen);
-               } else {
-                       versionsToGen.add(new SchemaVersion(versionToGen));
-               }
-
-               //process file type System property
-               if ( fileTypeToGen.equals(GENERATE_TYPE_YAML) ) {
-                       if ( responsesUrl == null || responsesUrl.length() < 1
-                                       || responsesLabel == null || responsesLabel.length() < 1 ) {
-                               System.err.println("generating swagger yaml file requires yamlresponses_url and yamlresponses_label properties" );
-                               System.exit(1);
-                       } else {
-                               responsesUrl = "description: "+ "Response codes found in [response codes]("+responsesLabel+ ").\n";
-                       }
-               }
-               /*
-                * TODO: Oxm Path is config driveb
-                */
-               String oxmPath;
-               if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(
+    );
+
+    SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class);
+
+    if ( !fileTypeToGen.equals(GENERATE_TYPE_XSD) && !fileTypeToGen.equals(GENERATE_TYPE_YAML)) {
+      System.err.println("Invalid gen_type passed. " + fileTypeToGen);
+      System.exit(1);
+    }
+
+    String responsesLabel = System.getProperty("yamlresponses_url");
+    responsesUrl = responsesLabel;
+
+    List<SchemaVersion> versionsToGen = new ArrayList<>();
+    if (!"ALL".equalsIgnoreCase(versionToGen) && !versionToGen.matches("v\\d+") && !validVersion(versionToGen)) {
+      System.err.println("Invalid version passed. " + versionToGen);
+      System.exit(1);
+    }
+    else if ("ALL".equalsIgnoreCase(versionToGen)) {
+      versionsToGen = schemaVersions.getVersions();
+      Collections.sort(versionsToGen);
+      Collections.reverse(versionsToGen);
+    } else {
+      versionsToGen.add(new SchemaVersion(versionToGen));
+    }
+
+    //process file type System property
+    if ( fileTypeToGen.equals(GENERATE_TYPE_YAML) ) {
+      if ( responsesUrl == null || responsesUrl.length() < 1
+          || responsesLabel == null || responsesLabel.length() < 1 ) {
+        System.err.println("generating swagger yaml file requires yamlresponses_url and yamlresponses_label properties" );
+        System.exit(1);
+      } else {
+        responsesUrl = "description: "+ "Response codes found in [response codes]("+responsesLabel+ ").\n";
+      }
+    }
+    /*
+     * TODO: Oxm Path is config driveb
+     */
+    String oxmPath;
+    if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(
             NORMAL_START_DIR)) {
-                       oxmPath = BASE_AUTO_GEN_ROOT + NODE_DIR;
-               }
-               else {
-                       oxmPath = BASE_ROOT + NODE_DIR;
-               }
-
-               String outfileName = null;
-               File outfile;
-               String nodesfileName = null;
-               File nodesfile;
-               String fileContent = null;
-               String nodesContent = null;
-
-
-               for (SchemaVersion v : versionsToGen) {
-                       apiVersion = v.toString();
-                       logger.debug("YAMLdir = "+ YAML_DIR);
-                       logger.debug("Generating " + apiVersion + " " + fileTypeToGen);
-                       apiVersionFmt = "." + apiVersion + ".";
-                       generatedJavaType = new HashMap<String, String>();
-                       appliedPaths = new HashMap<String, String>();
-                       File edgeRuleFile = null;
-                       String fileName = EDGE_DIR + "DbEdgeRules_" + apiVersion + ".json";
-                       logger.debug("user.dir = "+System.getProperty("user.dir"));
-                       if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(
+      oxmPath = BASE_AUTO_GEN_ROOT + NODE_DIR;
+    }
+    else {
+      oxmPath = BASE_ROOT + NODE_DIR;
+    }
+
+    String outfileName = null;
+    File outfile;
+    String nodesfileName = null;
+    File nodesfile;
+    String fileContent = null;
+    String nodesContent = null;
+
+
+    for (SchemaVersion v : versionsToGen) {
+      apiVersion = v.toString();
+      logger.debug("YAMLdir = "+ YAML_DIR);
+      logger.debug("Generating " + apiVersion + " " + fileTypeToGen);
+      apiVersionFmt = "." + apiVersion + ".";
+      generatedJavaType = new HashMap<String, String>();
+      appliedPaths = new HashMap<String, String>();
+      File edgeRuleFile = null;
+      String fileName = EDGE_DIR + "DbEdgeRules_" + apiVersion + ".json";
+      logger.debug("user.dir = "+System.getProperty("user.dir"));
+      if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(
                 NORMAL_START_DIR)) {
-                               fileName = BASE_AUTO_GEN_ROOT + fileName;
-
-                       }
-                       else {
-                               fileName = BASE_ROOT + fileName;
-
-                       }
-                       edgeRuleFile = new File( fileName);
-//                     Document doc = ni.getSchema(translateVersion(v));
-
-                       if ( fileTypeToGen.equals(GENERATE_TYPE_XSD) ) {
-                               outfileName = XSD_DIR + "/aai_schema_" + apiVersion + "." + GENERATE_TYPE_XSD;
-                               try {
-                                       HTMLfromOXM swagger = ctx.getBean(HTMLfromOXM.class);
-                                       swagger.setVersion(v);
-                                       fileContent = swagger.process();
-                                       if ( fileContent.startsWith("Schema format issue")) {
-                                               throw new Exception(fileContent);
-                                       }
-                               } catch(Exception e) {
-                               logger.error( "Exception creating output file " + outfileName);
-                               logger.error( e.getMessage());
-                               System.exit(-1);
-                               }
-                       } else if ( versionSupportsSwagger(apiVersion )) {
-                               outfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + GENERATE_TYPE_YAML;
-                               nodesfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+
+        fileName = BASE_AUTO_GEN_ROOT + fileName;
+
+      }
+      else {
+        fileName = BASE_ROOT + fileName;
+
+      }
+      edgeRuleFile = new File( fileName);
+//      Document doc = ni.getSchema(translateVersion(v));
+
+      if ( fileTypeToGen.equals(GENERATE_TYPE_XSD) ) {
+        outfileName = XSD_DIR + "/aai_schema_" + apiVersion + "." + GENERATE_TYPE_XSD;
+        try {
+          HTMLfromOXM swagger = ctx.getBean(HTMLfromOXM.class);
+          swagger.setVersion(v);
+          fileContent = swagger.process();
+          if ( fileContent.startsWith("Schema format issue")) {
+            throw new Exception(fileContent);
+          }
+        } catch(Exception e) {
+              logger.error( "Exception creating output file " + outfileName);
+              logger.error( e.getMessage());
+              System.exit(-1);
+        }
+      } else if ( versionSupportsSwagger(apiVersion )) {
+        outfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + GENERATE_TYPE_YAML;
+        nodesfileName = YAML_DIR + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+
                     GENERATE_TYPE_YAML;
-                               try {
-                                       YAMLfromOXM swagger = (YAMLfromOXM) ctx.getBean(YAMLfromOXM.class);
-                                       swagger.setVersion(v);
-                                       fileContent = swagger.process();
-                                       Map combinedJavaTypes = swagger.getCombinedJavaTypes();
-                                       NodesYAMLfromOXM nodesSwagger = ctx.getBean(NodesYAMLfromOXM.class);
-                                       nodesSwagger.setVersion(v);
-                                       nodesSwagger.setCombinedJavaTypes(combinedJavaTypes);
-                                       nodesContent = nodesSwagger.process();
-                               } catch(Exception e) {
-                               logger.error("Exception creating output file " + outfileName, e);
-                               }
-                       } else {
-                               continue;
-                       }
-                       outfile = new File(outfileName);
-                       File parentDir = outfile.getParentFile();
-                       if(!parentDir.exists()) {
+        try {
+          YAMLfromOXM swagger = (YAMLfromOXM) ctx.getBean(YAMLfromOXM.class);
+          swagger.setVersion(v);
+          fileContent = swagger.process();
+          Map combinedJavaTypes = swagger.getCombinedJavaTypes();
+          NodesYAMLfromOXM nodesSwagger = ctx.getBean(NodesYAMLfromOXM.class);
+          nodesSwagger.setVersion(v);
+          nodesSwagger.setCombinedJavaTypes(combinedJavaTypes);
+          nodesContent = nodesSwagger.process();
+        } catch(Exception e) {
+              logger.error("Exception creating output file " + outfileName, e);
+        }
+      } else {
+        continue;
+      }
+      outfile = new File(outfileName);
+      File parentDir = outfile.getParentFile();
+      if(!parentDir.exists()) {
                 parentDir.mkdirs();
             }
-                       if(nodesfileName != null) {
-                               BufferedWriter nodesBW = null;
-                               nodesfile = new File(nodesfileName);
-                               parentDir = nodesfile.getParentFile();
-                               if(!parentDir.exists()){
+      if(nodesfileName != null) {
+        BufferedWriter nodesBW = null;
+        nodesfile = new File(nodesfileName);
+        parentDir = nodesfile.getParentFile();
+        if(!parentDir.exists()){
                     parentDir.mkdirs();
                 }
-                           try {
-                               if(!nodesfile.createNewFile()) {
+          try {
+              if(!nodesfile.createNewFile()) {
                         logger.error( "File {} already exist", nodesfileName);
                     }
-                           } catch (IOException e) {
-                               logger.error( "Exception creating output file " + nodesfileName, e);
-                           }
-                       try {
-                               Charset charset = StandardCharsets.UTF_8;
-                               Path path = Paths.get(nodesfileName);
-                               nodesBW = Files.newBufferedWriter(path, charset);
-                               nodesBW.write(nodesContent);
-                       } catch ( IOException e) {
-                               logger.error( "Exception writing output file " + outfileName, e);
-                       } finally {
-                               if ( nodesBW != null ) {
-                                       nodesBW.close();
-                               }
-                       }
-                       }
-
-                   try {
-                       if(!outfile.createNewFile()) {
+          } catch (IOException e) {
+              logger.error( "Exception creating output file " + nodesfileName, e);
+          }
+            try {
+              Charset charset = StandardCharsets.UTF_8;
+              Path path = Paths.get(nodesfileName);
+              nodesBW = Files.newBufferedWriter(path, charset);
+              nodesBW.write(nodesContent);
+            } catch ( IOException e) {
+              logger.error( "Exception writing output file " + outfileName, e);
+            } finally {
+              if ( nodesBW != null ) {
+                nodesBW.close();
+              }
+            }
+      }
+
+        try {
+            if(!outfile.createNewFile()) {
                     logger.error( "File {} already exist", outfileName);
                 }
-                   } catch (IOException e) {
-                       logger.error( "Exception creating output file " + outfileName, e);
-                   }
-                   BufferedWriter bw = null;
-               try {
-                       Charset charset = StandardCharsets.UTF_8;
-                       Path path = Paths.get(outfileName);
-                       bw = Files.newBufferedWriter(path, charset);
-                       bw.write(fileContent);
-               } catch ( IOException e) {
-                       logger.error( "Exception writing output file " + outfileName, e);
-               } finally {
-                       if ( bw != null ) {
-                               bw.close();
-                       }
-               }
-                       logger.debug( "GeneratedXSD successful, saved in " + outfileName);
-               }
-
-       }
+        } catch (IOException e) {
+            logger.error( "Exception creating output file " + outfileName, e);
+        }
+        BufferedWriter bw = null;
+          try {
+            Charset charset = StandardCharsets.UTF_8;
+            Path path = Paths.get(outfileName);
+            bw = Files.newBufferedWriter(path, charset);
+            bw.write(fileContent);
+          } catch ( IOException e) {
+            logger.error( "Exception writing output file " + outfileName, e);
+          } finally {
+            if ( bw != null ) {
+              bw.close();
+            }
+          }
+      logger.debug( "GeneratedXSD successful, saved in " + outfileName);
+    }
+
+  }
 
 }
 
index 48cd46d..d91cf81 100644 (file)
@@ -31,23 +31,23 @@ public class SpringContextAware implements ApplicationContextAware {
     private static ApplicationContext context = null;
 
     public static ApplicationContext getApplicationContext() {
-       return context;
+      return context;
     }
 
     @Override
     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-       context = applicationContext;
+      context = applicationContext;
     }
 
 
-       public static <T> T getBean(String beanName, Class<T> requiredType) {
-               if(context != null){
-                       return context.getBean(beanName, requiredType);
-                }
+  public static <T> T getBean(String beanName, Class<T> requiredType) {
+    if(context != null){
+      return context.getBean(beanName, requiredType);
+     }
         return null;
-       }
+  }
 
-       public static <T> T getBean(Class<T> clazz){
+  public static <T> T getBean(Class<T> clazz){
         if(context != null){
             return context.getBean(clazz);
         }
index 217aa4e..c4db6f9 100644 (file)
@@ -31,51 +31,51 @@ import java.util.*;
 
 public class ConfigTranslatorForDocs extends ConfigTranslator {
 
-       public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
-               super(bean, schemaVersions);
-       }
+  public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+    super(bean, schemaVersions);
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getNodeFiles() {
-               List<SchemaVersion> versionsToGen = new ArrayList<>();
-               versionsToGen = schemaVersions.getVersions();
-               Collections.sort(versionsToGen);
-               Collections.reverse(versionsToGen);
-               Map<SchemaVersion, List<String>> mp = new TreeMap<>();
-               for (SchemaVersion v : versionsToGen) {
-                       File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase());
-                       File [] fileSet = dir.listFiles();
-                       List<String> files = new ArrayList<>();
-                       for(File f: fileSet ) {
-                               files.add(f.getAbsolutePath());
-                       }
+  @Override
+  public Map<SchemaVersion, List<String>> getNodeFiles() {
+    List<SchemaVersion> versionsToGen = new ArrayList<>();
+    versionsToGen = schemaVersions.getVersions();
+    Collections.sort(versionsToGen);
+    Collections.reverse(versionsToGen);
+    Map<SchemaVersion, List<String>> mp = new TreeMap<>();
+    for (SchemaVersion v : versionsToGen) {
+      File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase());
+      File [] fileSet = dir.listFiles();
+      List<String> files = new ArrayList<>();
+      for(File f: fileSet ) {
+        files.add(f.getAbsolutePath());
+      }
 
-                       mp.put(v, files);
-               }
-               return mp;
-       }
+      mp.put(v, files);
+    }
+    return mp;
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getEdgeFiles() {
-               List<SchemaVersion> versionsToGen = new ArrayList<>();
-               versionsToGen = schemaVersions.getVersions();
-               Collections.sort(versionsToGen);
-               Collections.reverse(versionsToGen);
-               Map<SchemaVersion, List<String>> mp = new TreeMap<>();
-               for (SchemaVersion v : versionsToGen) {
-                       File dir = new File(bean.getEdgeDirectory());
-                       File [] fileSet = dir.listFiles(new FilenameFilter() {
-                               @Override
-                               public boolean accept(File dir, String name) {
-                                       return name.contains("_"+v.toString().toLowerCase());
-                               }
-                       });
-                       List<String> files = new ArrayList<>();
-                       for(File f: fileSet ) {
-                               files.add(f.getAbsolutePath());
-                       }
-                       mp.put(v, files);
-               }
-               return mp;
-       }
+  @Override
+  public Map<SchemaVersion, List<String>> getEdgeFiles() {
+    List<SchemaVersion> versionsToGen = new ArrayList<>();
+    versionsToGen = schemaVersions.getVersions();
+    Collections.sort(versionsToGen);
+    Collections.reverse(versionsToGen);
+    Map<SchemaVersion, List<String>> mp = new TreeMap<>();
+    for (SchemaVersion v : versionsToGen) {
+      File dir = new File(bean.getEdgeDirectory());
+      File [] fileSet = dir.listFiles(new FilenameFilter() {
+        @Override
+        public boolean accept(File dir, String name) {
+          return name.contains("_"+v.toString().toLowerCase());
+        }
+      });
+      List<String> files = new ArrayList<>();
+      for(File f: fileSet ) {
+        files.add(f.getAbsolutePath());
+      }
+      mp.put(v, files);
+    }
+    return mp;
+  }
 }
index 7efaed9..a570d6f 100644 (file)
@@ -23,35 +23,35 @@ import java.util.Set;
 import java.util.TreeSet;
 
 public class DeleteFootnoteSet {
-       protected Set<String> footnotes = new TreeSet<>();
-       protected String targetNode = "<NodeType>";
-       public DeleteFootnoteSet(String targetNode) {
-               super();
-               this.targetNode = targetNode == null ? "" : targetNode;
-       }
+  protected Set<String> footnotes = new TreeSet<>();
+  protected String targetNode = "<NodeType>";
+  public DeleteFootnoteSet(String targetNode) {
+    super();
+    this.targetNode = targetNode == null ? "" : targetNode;
+  }
 
-       public void add(String s ) {
-               String fullnote=null;
-               if("(1)".equals(s)) {
-                       fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this FROM node is DELETED also";
-               } else if("(2)".equals(s)) {
-                       fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this TO node is DELETED also";
-               } else if("(3)".equals(s)) {
-                       fullnote = s+" IF this FROM node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
-               } else if("(4)".equals(s)) {
-                       fullnote = s+" IF this TO node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
-               } else if(s.contains(targetNode.toUpperCase())) {
-                       fullnote = s;
-               } else {
-                       return;
-               }
-               footnotes.add(fullnote);
-       }
+  public void add(String s ) {
+    String fullnote=null;
+    if("(1)".equals(s)) {
+      fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this FROM node is DELETED also";
+    } else if("(2)".equals(s)) {
+      fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this TO node is DELETED also";
+    } else if("(3)".equals(s)) {
+      fullnote = s+" IF this FROM node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
+    } else if("(4)".equals(s)) {
+      fullnote = s+" IF this TO node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
+    } else if(s.contains(targetNode.toUpperCase())) {
+      fullnote = s;
+    } else {
+      return;
+    }
+    footnotes.add(fullnote);
+  }
 
-       public String toString() {
-               StringBuilder sb = new StringBuilder();
-               if(footnotes.size() > 0) sb.append("\n      -");
-               sb.append(String.join("\n      -", footnotes)+"\n");
-               return sb.toString();
-       }
+  public String toString() {
+    StringBuilder sb = new StringBuilder();
+    if(footnotes.size() > 0) sb.append("\n      -");
+    sb.append(String.join("\n      -", footnotes)+"\n");
+    return sb.toString();
+  }
 }
index a22dfd5..f9d1799 100644 (file)
@@ -50,16 +50,16 @@ public class GetOperation {
         this.tag = tag;
         this.path = path;
         this.pathParams = pathParams;
-//                     StringBuilder p = new StringBuilder();
+//      StringBuilder p = new StringBuilder();
 
         if (containers.get(xmlRootElementName) == null) {
             this.queryParams = "";
         } else {
             this.queryParams = String.join("", containers.get(xmlRootElementName));
-//                             for(String param : containers.get(xmlRootElementName)) {
-//                                     p.append(param);
-//                             }
-//                             this.queryParams = p.toString();
+//        for(String param : containers.get(xmlRootElementName)) {
+//          p.append(param);
+//        }
+//        this.queryParams = p.toString();
         }
     }
 
@@ -68,11 +68,11 @@ public class GetOperation {
         StringTokenizer st;
         st = new StringTokenizer(path, "/");
         //Path has to be longer than one element
-                       /*
-                       if ( st.countTokens() <= 1) {
-                               return "";
-                       }
-                       */
+      /*
+      if ( st.countTokens() <= 1) {
+        return "";
+      }
+      */
         //a valid tag is necessary
         if (StringUtils.isEmpty(tag)) {
             return "";
@@ -116,9 +116,9 @@ public class GetOperation {
         if (StringUtils.isNotEmpty(pathParams)) {
             pathSb.append(pathParams);
         }
-//                     if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) {
-//                             pathSb.append("\n");
-//                     }
+//      if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) {
+//        pathSb.append("\n");
+//      }
         if (StringUtils.isNotEmpty(queryParams)) {
             pathSb.append(queryParams);
         }
index ce45236..01598a0 100644 (file)
@@ -203,7 +203,7 @@ public class HTMLfromOXM extends OxmFileProcessor {
                 XSDElement xmlElementElement =
                     new XSDElement((Element) xmlElementNodes.item(i), maxOccurs);
 
-//                             String elementName = xmlElementElement.getAttribute("name");
+//        String elementName = xmlElementElement.getAttribute("name");
                 String elementType = xmlElementElement.getAttribute("type");
                 //No simple types; only AAI custom types
                 String addType = elementType.contains("." + v.toString() + ".") ?
index 2561593..bdfdfd6 100644 (file)
@@ -90,11 +90,11 @@ public class NodeGetOperation {
         StringTokenizer st;
         st = new StringTokenizer(CRUDpath, "/");
         //Path has to be longer than one element
-                       /*
-                       if ( st.countTokens() <= 1) {
-                               return "";
-                       }
-                       */
+      /*
+      if ( st.countTokens() <= 1) {
+        return "";
+      }
+      */
         //a valid tag is necessary
         if (StringUtils.isEmpty(tag)) {
             return "";
index 5fe3564..bbdcd70 100644 (file)
@@ -131,9 +131,9 @@ public class XSDElement implements Element {
                 .equals(this.xmlElementElement.getAttribute("name"))) {
                 continue;
             }
-//                     This stopped working, replaced with above - should figure out why...
-//                     if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement))
-//                             continue;
+//      This stopped working, replaced with above - should figure out why...
+//      if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement))
+//        continue;
             NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property");
 
             for (int j = 0; j < childNodes.getLength(); ++j) {
@@ -370,7 +370,7 @@ public class XSDElement implements Element {
             sbElement.append("/>").append(OxmFileProcessor.LINE_SEPARATOR);
         }
         return this.getHTMLElementWrapper(sbElement.toString(), v, useAnnotation);
-//             return sbElement.toString();
+//    return sbElement.toString();
     }
 
     public String getHTMLElementWrapper(String unwrappedElement, SchemaVersion v,
index ded5f52..6663dc4 100644 (file)
@@ -44,12 +44,12 @@ public class GenerateSwagger {
     public  static SchemaVersions schemaVersions;
 
     public SchemaVersions getSchemaVersions() {
-               return schemaVersions;
-       }
+    return schemaVersions;
+  }
 
 
 
-       public static void main(String[] args) throws IOException, TemplateException {
+  public static void main(String[] args) throws IOException, TemplateException {
 
 
 
@@ -63,13 +63,13 @@ public class GenerateSwagger {
 
         if(schemaDir == null){
             if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) {
-               System.out.println("Warning: Schema directory is not set so using default schema dir: " + ALT_SCHEMA_DIR);
-               schemaDir = ALT_SCHEMA_DIR;
-               }
-               else {
-                       System.out.println("Warning: Schema directory is not set so using default schema dir: " + DEFAULT_SCHEMA_DIR);
-                       schemaDir = DEFAULT_SCHEMA_DIR;
-               }
+              System.out.println("Warning: Schema directory is not set so using default schema dir: " + ALT_SCHEMA_DIR);
+              schemaDir = ALT_SCHEMA_DIR;
+        }
+        else {
+          System.out.println("Warning: Schema directory is not set so using default schema dir: " + DEFAULT_SCHEMA_DIR);
+          schemaDir = DEFAULT_SCHEMA_DIR;
+        }
         }
 
         if(versionToGenerate == null){
@@ -141,7 +141,7 @@ public class GenerateSwagger {
                         line = line.trim();
                         String hyperLink = "";
                         if(line.trim().contains("Differences versus")) {
-                               return "";
+                          return "";
                         }
                         if(line.trim().contains("https://")){
                             int startIndex = line.indexOf("https://");
@@ -161,10 +161,10 @@ public class GenerateSwagger {
         configuration.setClassForTemplateLoading(Api.class, "/");
         String resourcePath = "src/main/resources";
         if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) {
-               configuration.setDirectoryForTemplateLoading(new File(DEFAULT_RUN_DIR + "/" + resourcePath));
+          configuration.setDirectoryForTemplateLoading(new File(DEFAULT_RUN_DIR + "/" + resourcePath));
         }
         else {
-               configuration.setDirectoryForTemplateLoading(new File(resourcePath));
+          configuration.setDirectoryForTemplateLoading(new File(resourcePath));
         }
         Template template = configuration.getTemplate("swagger.html.ftl");
 
@@ -255,23 +255,23 @@ public class GenerateSwagger {
                         requestBody = requestBodyList.get(0);
                         for(String key : requestBody.keySet()) {
                             //Filter out all the relationship links that appear in the YAML
-                               if(key.equals("description")) {
-                                       String reqBody=(String)requestBody.get(key);
-                                       if(!reqBody.replaceAll("\\[.*.json\\)", "").equals(reqBody)) {
-                                               requestBody.put(key, reqBody.replaceAll("\\[.*.json\\)", ""));
-                                       }
-                               }
+                          if(key.equals("description")) {
+                            String reqBody=(String)requestBody.get(key);
+                            if(!reqBody.replaceAll("\\[.*.json\\)", "").equals(reqBody)) {
+                              requestBody.put(key, reqBody.replaceAll("\\[.*.json\\)", ""));
+                            }
+                          }
                             //Filter out all the patchDefinition links that appear in the YAML
-                               if(key.equals("schema")) {
-                                       LinkedHashMap<String,String> reqBody = (LinkedHashMap<String,String>)requestBody.get(key);
-                                       String schema=reqBody.get("$ref");
-                                       String schemaNopatch = schema.replace("patchDefinitions", "definitions");
-
-                                       if(! schema.equals(schemaNopatch)) {
-                                               reqBody.put("$ref", schemaNopatch);
-                                               requestBody.put(key, reqBody);
-                                       }
-                               }
+                          if(key.equals("schema")) {
+                            LinkedHashMap<String,String> reqBody = (LinkedHashMap<String,String>)requestBody.get(key);
+                            String schema=reqBody.get("$ref");
+                            String schemaNopatch = schema.replace("patchDefinitions", "definitions");
+
+                            if(! schema.equals(schemaNopatch)) {
+                              reqBody.put("$ref", schemaNopatch);
+                              requestBody.put(key, reqBody);
+                            }
+                          }
                         }
                         httpVerb.setBodyParametersEnabled(true);
                         httpVerb.setBodyParameters(requestBody);
index b17a0ee..c6d2dde 100644 (file)
@@ -51,98 +51,98 @@ import static org.junit.Assert.assertThat;
         TestUtilConfigTranslatorforBusiness.class,
         EdgeIngestor.class,
         NodeIngestor.class,
-               SwaggerGenerationConfiguration.class,
-               SchemaVersions.class
+    SwaggerGenerationConfiguration.class,
+    SchemaVersions.class
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai",
-               "schema.xsd.maxoccurs = 5000"
+    "schema.uri.base.path = /aai",
+    "schema.xsd.maxoccurs = 5000"
 })
 public class GenerateXsdTest {
-       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
-       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
-       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
-       public static AnnotationConfigApplicationContext ctx = null;
-       private static String testXML;
+  private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+  private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+  private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+  public static AnnotationConfigApplicationContext ctx = null;
+  private static String testXML;
 
-       @Autowired
+  @Autowired
     YAMLfromOXM yamlFromOxm;
 
-       @Autowired
+  @Autowired
     HTMLfromOXM htmlFromOxm;
 
-       @Autowired
+  @Autowired
     SchemaVersions schemaVersions;
 
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-               XSDElementTest x = new XSDElementTest();
-               x.setUp();
-               testXML = x.getTestXML();
-               logger.debug(testXML);
-               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
-               bw.write(testXML);
-               bw.close();
-               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw1.write(YAMLfromOXMTest.EdgeDefs());
-               bw1.close();
-
-       }
-
-       @Before
-       public void setUp() throws Exception {
-               //PowerMockito.mockStatic(GenerateXsd.class);
-               XSDElementTest x = new XSDElementTest();
-               x.setUp();
-               testXML = x.getTestXML();
-//             logger.info(testXML);
-       }
-
-       @Test
-       public void test_generateSwaggerFromOxmFile( ) {
-
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = yamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult()));
-       }
-
-       @Test
-       public void test_generateXSDFromOxmFile( ) {
-
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String fileContent = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = htmlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-//             logger.debug(fileContent);
-               assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult()));
-       }
-
-       @Test
-       public void testGetAPIVersion() {
-               GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString();
-               assertThat(GenerateXsd.getAPIVersion(),is("v11"));
-       }
-
-       @Test
-       public void testGetYamlDir() {
-               assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml"));
-       }
-
-       @Test
-       public void testGetResponsesUrl() {
-               assertNull(GenerateXsd.getResponsesUrl());
-       }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+    XSDElementTest x = new XSDElementTest();
+    x.setUp();
+    testXML = x.getTestXML();
+    logger.debug(testXML);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+    bw.write(testXML);
+    bw.close();
+    BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw1.write(YAMLfromOXMTest.EdgeDefs());
+    bw1.close();
+
+  }
+
+  @Before
+  public void setUp() throws Exception {
+    //PowerMockito.mockStatic(GenerateXsd.class);
+    XSDElementTest x = new XSDElementTest();
+    x.setUp();
+    testXML = x.getTestXML();
+//    logger.info(testXML);
+  }
+
+  @Test
+  public void test_generateSwaggerFromOxmFile( ) {
+
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+
+      yamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = yamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult()));
+  }
+
+  @Test
+  public void test_generateXSDFromOxmFile( ) {
+
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String fileContent = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      fileContent = htmlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+//    logger.debug(fileContent);
+    assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult()));
+  }
+
+  @Test
+  public void testGetAPIVersion() {
+    GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString();
+    assertThat(GenerateXsd.getAPIVersion(),is("v11"));
+  }
+
+  @Test
+  public void testGetYamlDir() {
+    assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml"));
+  }
+
+  @Test
+  public void testGetResponsesUrl() {
+    assertNull(GenerateXsd.getResponsesUrl());
+  }
 }
 
index 5261a56..fe1aa6f 100644 (file)
@@ -33,51 +33,51 @@ import static org.hamcrest.MatcherAssert.assertThat;
 
 @RunWith(Parameterized.class)
 public class DeleteFootnoteSetTest {
-       String targetNode;
-       String flavor;
-       String result;
-       DeleteFootnoteSet footnotes = null;
+  String targetNode;
+  String flavor;
+  String result;
+  DeleteFootnoteSet footnotes = null;
 
-       @Parameters
-       public static Collection<String[]> testConditions() {
-               String inputs [][] = {
-               {"vserver","(1)", "\n      -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"},
-               {"ctag-pool","(2)", "\n      -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"},
-               {"pserver","(3)", "\n      -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"},
-               {"oam-network","(4)", "\n      -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"},
-               {"dvs-switch","(1)", "\n      -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"},
-               {"availability-zone","(3)", "\n      -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"}
-               };
-               return (Arrays.asList(inputs));
-       }
+  @Parameters
+  public static Collection<String[]> testConditions() {
+    String inputs [][] = {
+    {"vserver","(1)", "\n      -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"},
+    {"ctag-pool","(2)", "\n      -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"},
+    {"pserver","(3)", "\n      -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"},
+    {"oam-network","(4)", "\n      -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"},
+    {"dvs-switch","(1)", "\n      -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"},
+    {"availability-zone","(3)", "\n      -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"}
+    };
+    return (Arrays.asList(inputs));
+  }
 
-       public DeleteFootnoteSetTest(String targetNode, String flavor, String result) {
-               super();
-               this.targetNode = targetNode;
-               this.flavor = flavor;
-               this.result=result;
-       }
+  public DeleteFootnoteSetTest(String targetNode, String flavor, String result) {
+    super();
+    this.targetNode = targetNode;
+    this.flavor = flavor;
+    this.result=result;
+  }
 
-       @Before
-       public void setUp() throws Exception {
-               footnotes = new DeleteFootnoteSet(this.targetNode);
-       }
+  @Before
+  public void setUp() throws Exception {
+    footnotes = new DeleteFootnoteSet(this.targetNode);
+  }
 
-       @Test
-       public void testDeleteFootnoteSet() {
-               assertThat(footnotes.targetNode, is(this.targetNode));
-       }
+  @Test
+  public void testDeleteFootnoteSet() {
+    assertThat(footnotes.targetNode, is(this.targetNode));
+  }
 
-       @Test
-       public void testAdd() {
-               footnotes.add(this.flavor);
-               assertThat(footnotes.footnotes.size(), is(1));
-       }
+  @Test
+  public void testAdd() {
+    footnotes.add(this.flavor);
+    assertThat(footnotes.footnotes.size(), is(1));
+  }
 
-       @Test
-       public void testToString() {
-               footnotes.add(this.flavor);
-               assertThat(footnotes.toString(), is(this.result));
-       }
+  @Test
+  public void testToString() {
+    footnotes.add(this.flavor);
+    assertThat(footnotes.toString(), is(this.result));
+  }
 
 }
index 9b0bae8..0f44954 100644 (file)
@@ -33,49 +33,49 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(Parameterized.class)
 public class DeleteOperationTest {
-       private String useOpId;
-       private String xmlRootElementName;
-       private String tag;
-       private String path;
-       private String pathParams;
-       private String result;
+  private String useOpId;
+  private String xmlRootElementName;
+  private String tag;
+  private String path;
+  private String pathParams;
+  private String result;
 
-       @Parameters
-       public static Collection<String []> testConditions() {
-               String inputs [][] = {
-               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n","    delete:\n      tags:\n        - Network\n      summary: delete an existing generic-vnf\n      description: delete an existing generic-vnf\n      operationId: deleteNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n        - name: resource-version\n          in: query\n          description: resource-version for concurrency\n          required: true\n          type: string\n"},
-//             if ( StringUtils.isEmpty(tag) )
-               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n",""},
-//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
-               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
-//             {"","ctag-pool","","","",""},
-//             {"","pserver","","","",""},
-//             {"","oam-network","","","",""},
-//             {"","dvs-switch","","","",""},
-//             {"","availability-zone","","","",""}
-               };
-               return Arrays.asList(inputs);
-       }
+  @Parameters
+  public static Collection<String []> testConditions() {
+    String inputs [][] = {
+    {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n","    delete:\n      tags:\n        - Network\n      summary: delete an existing generic-vnf\n      description: delete an existing generic-vnf\n      operationId: deleteNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n        - name: resource-version\n          in: query\n          description: resource-version for concurrency\n          required: true\n          type: string\n"},
+//    if ( StringUtils.isEmpty(tag) )
+    {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n",""},
+//    Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+    {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+//    {"","ctag-pool","","","",""},
+//    {"","pserver","","","",""},
+//    {"","oam-network","","","",""},
+//    {"","dvs-switch","","","",""},
+//    {"","availability-zone","","","",""}
+    };
+    return Arrays.asList(inputs);
+  }
 
-       public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
-               super();
-               this.useOpId = useOpId;
-               this.xmlRootElementName = xmlRootElementName;
-               this.tag = tag;
-               this.path = path;
-               this.pathParams=pathParams;
-               this.result = result;
-       }
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
+  public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+    super();
+    this.useOpId = useOpId;
+    this.xmlRootElementName = xmlRootElementName;
+    this.tag = tag;
+    this.path = path;
+    this.pathParams=pathParams;
+    this.result = result;
+  }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
 
-       }
+  }
 
-       @Test
-       public void testToString() {
-               DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
-               String modResult = delete.toString();
-               assertThat(modResult, is(this.result));
-       }
+  @Test
+  public void testToString() {
+    DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+    String modResult = delete.toString();
+    assertThat(modResult, is(this.result));
+  }
 
 }
index ceddafe..b17901f 100644 (file)
@@ -53,296 +53,296 @@ import static org.junit.Assert.assertTrue;
 
 
 public class EdgeDescriptionTest  {
-       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
-       @Autowired
+  private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+  @Autowired
     ConfigTranslator ct;
-       @Autowired
+  @Autowired
     EdgeIngestor edgeIngestor;
-       String nodeName = "availability-zone";
-       String toNode = "complex";
-       SchemaVersion v10 = new SchemaVersion("v10");
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-               String json = "{"
-                               + "     \"rules\": ["
-                               + "             {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"complex\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.LocatedIn\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"this description\""
-                               + "             },"
-                               + "    {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"service-capability\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"cloud-region\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.BelongsTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"!${direction}\","
-                               + "                     \"delete-other-v\": \"!${direction}\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"NONE\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"ctag-pool\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"${direction}\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"dvs-switch\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"generic-vnf\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"${direction}\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"pserver\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.MemberOf\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"${direction}\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"vce\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "     ]}";
-               BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw.write(json);
-               bw.close();
-       }
-       @AfterClass
-       public static void tearDownAfterClass() throws Exception {
-               File edges = new File(EDGEFILENAME);
-               edges.delete();
-       }
-       @Before
-       public void setUp() throws Exception {
+  String nodeName = "availability-zone";
+  String toNode = "complex";
+  SchemaVersion v10 = new SchemaVersion("v10");
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+    String json = "{"
+        + "  \"rules\": ["
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"complex\","
+        + "      \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"this description\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"service-capability\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"cloud-region\","
+        + "      \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"!${direction}\","
+        + "      \"delete-other-v\": \"!${direction}\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"NONE\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"ctag-pool\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"${direction}\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"dvs-switch\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"generic-vnf\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.Uses\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"${direction}\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"pserver\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.MemberOf\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"${direction}\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"vce\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.Uses\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "  ]}";
+    BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw.write(json);
+    bw.close();
+  }
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception {
+    File edges = new File(EDGEFILENAME);
+    edges.delete();
+  }
+  @Before
+  public void setUp() throws Exception {
 
-       }
-       @Test
-       public void test() {
+  }
+  @Test
+  public void test() {
 
-               Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
-               assertTrue(edges.containsKey(v10));
-               assertTrue(1 == edges.get(v10).size());
-               assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0)));
-       }
-       @Test
-       public void testGetDeleteOtherV() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"NONE";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } );
-               }
-       }
+    Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
+    assertTrue(edges.containsKey(v10));
+    assertTrue(1 == edges.get(v10).size());
+    assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0)));
+  }
+  @Test
+  public void testGetDeleteOtherV() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"NONE";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetPreventDelete() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"IN";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetPreventDelete() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"IN";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException {
-//             String toNode="cloud-region";
-//             String target = "availability-zone"+"|"+toNode+"-"+"(4)";
-               List<String> notedTypes = Arrays.asList("cloud-region", "ctag-pool");
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } );
-               }
+  @Test
+  public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException {
+//    String toNode="cloud-region";
+//    String target = "availability-zone"+"|"+toNode+"-"+"(4)";
+    List<String> notedTypes = Arrays.asList("cloud-region", "ctag-pool");
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } );
+    }
 /*
-               for (EdgeDescription ed : edges) {
-                       String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
-                       assertThat(modResult, is(target));
-                       ed.setDeleteOtherV("IN");
-                       target = "availability-zone"+"|"+"complex"+"-"+"(4)";
-                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
-                       assertThat(modResult, is(target));
-                       target = "availability-zone"+"|"+"complex"+"-"+"(1)";
-                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
-                       assertThat(modResult, is(target));
-                       ed.setDeleteOtherV("OUT");
-                       target = "availability-zone"+"|"+"complex"+"-"+"(2)";
-                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
-                       assertThat(modResult, is(target));
-                       target = "availability-zone"+"|"+"complex"+"-"+"(3)";
-                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
-                       assertThat(modResult, is(target));
-               }
+    for (EdgeDescription ed : edges) {
+      String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+      assertThat(modResult, is(target));
+      ed.setDeleteOtherV("IN");
+      target = "availability-zone"+"|"+"complex"+"-"+"(4)";
+      modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+      assertThat(modResult, is(target));
+      target = "availability-zone"+"|"+"complex"+"-"+"(1)";
+      modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+      assertThat(modResult, is(target));
+      ed.setDeleteOtherV("OUT");
+      target = "availability-zone"+"|"+"complex"+"-"+"(2)";
+      modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+      assertThat(modResult, is(target));
+      target = "availability-zone"+"|"+"complex"+"-"+"(3)";
+      modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+      assertThat(modResult, is(target));
+    }
 */
-       }
+  }
 
-       @Test
-       public void testGetTo() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+toNode;
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetTo() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+toNode;
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetFrom() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"availability-zone";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetFrom() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"availability-zone";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetRuleKey() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode;
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetRuleKey() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode;
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetMultiplicity() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetMultiplicity() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetDirection() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"OUT";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetDirection() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"OUT";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetDescription() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"this description";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetDescription() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"this description";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetRelationshipDescription() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"this description";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetRelationshipDescription() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"this description";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetType() throws EdgeRuleNotFoundException {
-               String toNode = "cloud-region";
-               String target = "availability-zone"+"|"+toNode+"-"+"PARENT";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetType() throws EdgeRuleNotFoundException {
+    String toNode = "cloud-region";
+    String target = "availability-zone"+"|"+toNode+"-"+"PARENT";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetLabel() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetLabel() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } );
+    }
+  }
 
-       @Test
-       public void testGetShortLabel() throws EdgeRuleNotFoundException {
-               String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn";
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } );
-               }
-       }
+  @Test
+  public void testGetShortLabel() throws EdgeRuleNotFoundException {
+    String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn";
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } );
+    }
+  }
 }
 
 
index 1540a30..74fa60b 100644 (file)
@@ -36,71 +36,71 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(Parameterized.class)
 public class GetOperationTest {
-       private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class");
-       private String useOpId;
-       private String xmlRootElementName;
-       private String tag;
-       private String path;
-       private String pathParams;
-       private String result;
+  private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class");
+  private String useOpId;
+  private String xmlRootElementName;
+  private String tag;
+  private String path;
+  private String pathParams;
+  private String result;
 
-       @Parameters
-       public static Collection<String []> testConditions() {
-               String inputs [][] = {
-               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /network/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Network\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/generic-vnf\"\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
-               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
-               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n    get:\n      tags:\n        - CloudInfrastructure\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/p-interfaces\"\n        \"default\":\n          null      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
-               //              {"","ctag-pool","","","",""},
-//             {"","pserver","","","",""},
-//             {"","oam-network","","","",""},
-//             {"","dvs-switch","","","",""},
-//             {"","availability-zone","","","",""}
-               };
-               return Arrays.asList(inputs);
-       }
+  @Parameters
+  public static Collection<String []> testConditions() {
+    String inputs [][] = {
+    {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /network/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Network\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/generic-vnf\"\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
+    {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+    {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n    get:\n      tags:\n        - CloudInfrastructure\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/p-interfaces\"\n        \"default\":\n          null      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
+    //    {"","ctag-pool","","","",""},
+//    {"","pserver","","","",""},
+//    {"","oam-network","","","",""},
+//    {"","dvs-switch","","","",""},
+//    {"","availability-zone","","","",""}
+    };
+    return Arrays.asList(inputs);
+  }
 
-       public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
-               super();
-               this.useOpId = useOpId;
-               this.xmlRootElementName = xmlRootElementName;
-               this.tag = tag;
-               this.path = path;
-               this.pathParams=pathParams;
-               this.result = result;
-       }
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-               String container = "p-interfaces";
-               String queryProps[] = {
-               "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
-               "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
-               };
-               Vector<String> containerProps = new Vector<String>();
-               for(String prop : queryProps) {
-                       containerProps.add(prop);
-               }
-               GetOperation.addContainerProps(container, containerProps);
-       }
+  public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+    super();
+    this.useOpId = useOpId;
+    this.xmlRootElementName = xmlRootElementName;
+    this.tag = tag;
+    this.path = path;
+    this.pathParams=pathParams;
+    this.result = result;
+  }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+    String container = "p-interfaces";
+    String queryProps[] = {
+    "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
+    "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
+    };
+    Vector<String> containerProps = new Vector<String>();
+    for(String prop : queryProps) {
+      containerProps.add(prop);
+    }
+    GetOperation.addContainerProps(container, containerProps);
+  }
 
-       @Test
-       public void testAddContainerProps() {
-               String container = this.xmlRootElementName;
-               String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
-               Vector<String> queryProps = new Vector<String>();
-               queryProps.add(prop);
-               for(String p : queryProps) {
-                       logger.debug("qProp="+p);
-               }
-               logger.debug("Done="+this.xmlRootElementName);
-               GetOperation.addContainerProps(container, queryProps);
-               assertThat(GetOperation.containers.get(container).get(0), is(prop));
-       }
+  @Test
+  public void testAddContainerProps() {
+    String container = this.xmlRootElementName;
+    String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
+    Vector<String> queryProps = new Vector<String>();
+    queryProps.add(prop);
+    for(String p : queryProps) {
+      logger.debug("qProp="+p);
+    }
+    logger.debug("Done="+this.xmlRootElementName);
+    GetOperation.addContainerProps(container, queryProps);
+    assertThat(GetOperation.containers.get(container).get(0), is(prop));
+  }
 
-       @Test
-       public void testToString() {
-               GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
-               String modResult = get.toString();
-               assertThat(modResult, is(this.result));
-       }
+  @Test
+  public void testToString() {
+    GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+    String modResult = get.toString();
+    assertThat(modResult, is(this.result));
+  }
 
 }
index 27b7037..b5d9489 100644 (file)
@@ -54,327 +54,327 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {
-                SchemaVersions.class,
+     SchemaVersions.class,
         SchemaLocationsBean.class,
         TestUtilConfigTranslatorforBusiness.class,
         EdgeIngestor.class,
         NodeIngestor.class,
-               SwaggerGenerationConfiguration.class
+    SwaggerGenerationConfiguration.class
 
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai",
-               "schema.xsd.maxoccurs = 5000"
+    "schema.uri.base.path = /aai",
+    "schema.xsd.maxoccurs = 5000"
 })
 public class HTMLfromOXMTest {
-       private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class");
-       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
-       public static AnnotationConfigApplicationContext ctx = null;
-       private static String testXML;
-       protected static final String SERVICE_NAME = "JUNIT";
+  private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class");
+  private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+  public static AnnotationConfigApplicationContext ctx = null;
+  private static String testXML;
+  protected static final String SERVICE_NAME = "JUNIT";
 
 
-       @Autowired
-       HTMLfromOXM htmlFromOxm;
+  @Autowired
+  HTMLfromOXM htmlFromOxm;
 
-       @Autowired
+  @Autowired
     SchemaVersions schemaVersions;
 
-       @BeforeClass
-       public static void setUpContext() throws Exception {
+  @BeforeClass
+  public static void setUpContext() throws Exception {
 
-       }
-       @BeforeClass
+  }
+  @BeforeClass
     public static void setupBundleconfig() throws Exception {
         System.setProperty("AJSC_HOME", ".");
         System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
         System.setProperty("aai.service.name", SERVICE_NAME);
     }
 
-       @Before
-       public void setUp() throws Exception {
-               setUp(0);
-       }
+  @Before
+  public void setUp() throws Exception {
+    setUp(0);
+  }
 
-       public void setUp(int sbopt) throws Exception
-       {
-               XSDElementTest x = new XSDElementTest();
-               x.setUp(sbopt);
-               testXML = x.testXML;
-               logger.debug(testXML);
-               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
-               bw.write(testXML);
-               bw.close();
-       }
+  public void setUp(int sbopt) throws Exception
+  {
+    XSDElementTest x = new XSDElementTest();
+    x.setUp(sbopt);
+    testXML = x.testXML;
+    logger.debug(testXML);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+    bw.write(testXML);
+    bw.close();
+  }
 
-       @Test
-       public void testGetDocumentHeader() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String header = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       htmlFromOxm.setSchemaVersions(schemaVersions);
-                       header = htmlFromOxm.getDocumentHeader();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               logger.debug("Header:");
-               logger.debug(header);
-               assertThat(header, is(HTMLheader()));
-       }
+  @Test
+  public void testGetDocumentHeader() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String header = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      htmlFromOxm.setSchemaVersions(schemaVersions);
+      header = htmlFromOxm.getDocumentHeader();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    logger.debug("Header:");
+    logger.debug(header);
+    assertThat(header, is(HTMLheader()));
+  }
 
-       @Test
-       public void testProcess() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String fileContent = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = htmlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               logger.debug("FileContent-I:");
-               logger.debug(fileContent);
-               assertThat(fileContent, is(HTMLresult(0)));
-       }
+  @Test
+  public void testProcess() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String fileContent = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      fileContent = htmlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    logger.debug("FileContent-I:");
+    logger.debug(fileContent);
+    assertThat(fileContent, is(HTMLresult(0)));
+  }
 
-       @Test
-       public void testProcessWithCombiningJavaTypes() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String fileContent = null;
-               try {
-                       setUp(1);
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = htmlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               logger.debug("FileContent-I:");
-               logger.debug(fileContent);
-               assertThat(fileContent, is(HTMLresult(1)));
-       }
+  @Test
+  public void testProcessWithCombiningJavaTypes() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String fileContent = null;
+    try {
+      setUp(1);
+      htmlFromOxm.setXmlVersion(testXML, v);
+      fileContent = htmlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    logger.debug("FileContent-I:");
+    logger.debug(fileContent);
+    assertThat(fileContent, is(HTMLresult(1)));
+  }
 
-       @Test
-       public void testHTMLfromOXMFileVersion() throws IOException {
-               String outfileName = "testXML.xml";
-               File XMLfile = new File(outfileName);
-               XMLfile.createNewFile();
-               BufferedWriter bw = null;
-               Charset charset = Charset.forName("UTF-8");
-               Path path = Paths.get(outfileName);
-               bw = Files.newBufferedWriter(path, charset);
-               bw.write(testXML);
-               bw.close();
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String fileContent = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = htmlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               XMLfile.delete();
-               logger.debug("FileContent-I:");
-               logger.debug(fileContent);
-               assertThat(fileContent, is(HTMLresult(0)));
-       }
+  @Test
+  public void testHTMLfromOXMFileVersion() throws IOException {
+    String outfileName = "testXML.xml";
+    File XMLfile = new File(outfileName);
+    XMLfile.createNewFile();
+    BufferedWriter bw = null;
+    Charset charset = Charset.forName("UTF-8");
+    Path path = Paths.get(outfileName);
+    bw = Files.newBufferedWriter(path, charset);
+    bw.write(testXML);
+    bw.close();
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String fileContent = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      fileContent = htmlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    XMLfile.delete();
+    logger.debug("FileContent-I:");
+    logger.debug(fileContent);
+    assertThat(fileContent, is(HTMLresult(0)));
+  }
 
-       @Test
-       public void testHTMLfromOXMStringVersion() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String fileContent = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = htmlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               logger.debug("FileContent-II:");
-               logger.debug(fileContent);
-               assertThat(fileContent, is(HTMLresult(0)));
-       }
+  @Test
+  public void testHTMLfromOXMStringVersion() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String fileContent = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      fileContent = htmlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    logger.debug("FileContent-II:");
+    logger.debug(fileContent);
+    assertThat(fileContent, is(HTMLresult(0)));
+  }
 
-       @Test
-       public void testProcessJavaTypeElement() {
-               String target = "Element=java-type/Customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               Element customer = null;
-               try {
-                       htmlFromOxm.setXmlVersion(testXML, v);
-                       htmlFromOxm.process();
-                       customer = htmlFromOxm.getJavaTypeElementSwagger("Customer");
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               logger.debug("Element:");
-               logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"));
-               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));    }
+  @Test
+  public void testProcessJavaTypeElement() {
+    String target = "Element=java-type/Customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    Element customer = null;
+    try {
+      htmlFromOxm.setXmlVersion(testXML, v);
+      htmlFromOxm.process();
+      customer = htmlFromOxm.getJavaTypeElementSwagger("Customer");
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    logger.debug("Element:");
+    logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"));
+    assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));  }
 
-       public String HTMLresult() {
-               return HTMLresult(0);
-       }
+  public String HTMLresult() {
+    return HTMLresult(0);
+  }
 
-       public String HTMLresult(int sbopt) {
-               StringBuilder sb = new StringBuilder(32368);
-               sb.append(HTMLheader());
-               sb.append(HTMLdefs(sbopt));
-               return sb.toString();
-       }
+  public String HTMLresult(int sbopt) {
+    StringBuilder sb = new StringBuilder(32368);
+    sb.append(HTMLheader());
+    sb.append(HTMLdefs(sbopt));
+    return sb.toString();
+  }
 
-       public String HTMLheader() {
-               StringBuilder sb = new StringBuilder(1500);
-                sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + OxmFileProcessor.LINE_SEPARATOR);
-                sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://org.onap.aai.inventory/v11\" xmlns:tns=\"http://org.onap.aai.inventory/v11\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\""  + OxmFileProcessor.LINE_SEPARATOR + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\"" + OxmFileProcessor.LINE_SEPARATOR);
-                sb.append("    jaxb:version=\"2.1\"" + OxmFileProcessor.LINE_SEPARATOR);
-                sb.append("    xmlns:annox=\"http://annox.dev.java.net\"" + OxmFileProcessor.LINE_SEPARATOR);
-                sb.append("    jaxb:extensionBindingPrefixes=\"annox\">" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               return sb.toString();
-       }
+  public String HTMLheader() {
+    StringBuilder sb = new StringBuilder(1500);
+     sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + OxmFileProcessor.LINE_SEPARATOR);
+     sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://org.onap.aai.inventory/v11\" xmlns:tns=\"http://org.onap.aai.inventory/v11\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\""  + OxmFileProcessor.LINE_SEPARATOR + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\"" + OxmFileProcessor.LINE_SEPARATOR);
+     sb.append("    jaxb:version=\"2.1\"" + OxmFileProcessor.LINE_SEPARATOR);
+     sb.append("    xmlns:annox=\"http://annox.dev.java.net\"" + OxmFileProcessor.LINE_SEPARATOR);
+     sb.append("    jaxb:extensionBindingPrefixes=\"annox\">" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    return sb.toString();
+  }
 
-       public String HTMLdefs() {
-               return HTMLdefs(0);
-       }
-       public String HTMLdefs(int sbopt) {
-               StringBuilder sb = new StringBuilder(1500);
-               sb.append("  <xs:element name=\"service-subscription\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element name=\"service-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element name=\"temp-ub-sub-account-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  <xs:element name=\"service-subscriptions\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element ref=\"tns:service-subscription\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  <xs:element name=\"customer\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               if ( sbopt == 0 ) {
-                       sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               } else {
-                       sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               }
-               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element name=\"global-customer-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element name=\"subscriber-name\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               if ( sbopt == 0 ) {
-                       sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               } else {
-                       sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+  public String HTMLdefs() {
+    return HTMLdefs(0);
+  }
+  public String HTMLdefs(int sbopt) {
+    StringBuilder sb = new StringBuilder(1500);
+    sb.append("  <xs:element name=\"service-subscription\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element name=\"service-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element name=\"temp-ub-sub-account-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  <xs:element name=\"service-subscriptions\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element ref=\"tns:service-subscription\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  <xs:element name=\"customer\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    if ( sbopt == 0 ) {
+      sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    } else {
+      sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    }
+    sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element name=\"global-customer-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element name=\"subscriber-name\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    if ( sbopt == 0 ) {
+      sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    } else {
+      sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+      sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
 
-               }
-               sb.append("        <xs:element ref=\"tns:service-subscriptions\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  <xs:element name=\"customers\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element ref=\"tns:customer\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  <xs:element name=\"business\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element ref=\"tns:customers\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  <xs:element name=\"inventory\">" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        <xs:element ref=\"tns:business\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("</xs:schema>" + OxmFileProcessor.LINE_SEPARATOR);
-               return sb.toString();
-       }
+    }
+    sb.append("        <xs:element ref=\"tns:service-subscriptions\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  <xs:element name=\"customers\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element ref=\"tns:customer\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  <xs:element name=\"business\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element ref=\"tns:customers\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  <xs:element name=\"inventory\">" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        <xs:element ref=\"tns:business\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("</xs:schema>" + OxmFileProcessor.LINE_SEPARATOR);
+    return sb.toString();
+  }
 }
 
index 648142a..8ecc8b5 100644 (file)
@@ -36,73 +36,73 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(Parameterized.class)
 public class NodeGetOperationTest {
-       private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class");
-       private String useOpId;
-       private String xmlRootElementName;
-       private String tag;
-       private String path;
-       private String pathParams;
-       private String result;
+  private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class");
+  private String useOpId;
+  private String xmlRootElementName;
+  private String tag;
+  private String path;
+  private String pathParams;
+  private String result;
 
-       @Parameters
-       public static Collection<String []> testConditions() {
-               String inputs [][] = {
-               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Operations\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/generic-vnf\"\n        \"default\":\n          null\n      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
-               {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
-               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /nodes/p-interfaces?parameter=value[&parameter2=value2]:\n    get:\n      tags:\n        - Operations\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/p-interfaces\"\n        \"default\":\n          null\n      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__\n        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
-               //              {"","ctag-pool","","","",""},
-//             {"","pserver","","","",""},
-//             {"","oam-network","","","",""},
-//             {"","dvs-switch","","","",""},
-//             {"","availability-zone","","","",""}
-               };
-               return Arrays.asList(inputs);
-       }
+  @Parameters
+  public static Collection<String []> testConditions() {
+    String inputs [][] = {
+    {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Operations\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/generic-vnf\"\n        \"default\":\n          null\n      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
+    {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+    {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /nodes/p-interfaces?parameter=value[&parameter2=value2]:\n    get:\n      tags:\n        - Operations\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/p-interfaces\"\n        \"default\":\n          null\n      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__\n        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
+    //    {"","ctag-pool","","","",""},
+//    {"","pserver","","","",""},
+//    {"","oam-network","","","",""},
+//    {"","dvs-switch","","","",""},
+//    {"","availability-zone","","","",""}
+    };
+    return Arrays.asList(inputs);
+  }
 
-       public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
-               super();
-               this.useOpId = useOpId;
-               this.xmlRootElementName = xmlRootElementName;
-               this.tag = tag;
-               this.path = path;
-               this.pathParams=pathParams;
-               this.result = result;
-       }
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-               String container = "p-interfaces";
-               String queryProps[] = {
-               "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
-               "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
-               };
-               Vector<String> containerProps = new Vector<String>();
-               for(String prop : queryProps) {
-                       containerProps.add(prop);
-               }
-               NodeGetOperation.addContainerProps(container, containerProps);
-       }
+  public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+    super();
+    this.useOpId = useOpId;
+    this.xmlRootElementName = xmlRootElementName;
+    this.tag = tag;
+    this.path = path;
+    this.pathParams=pathParams;
+    this.result = result;
+  }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+    String container = "p-interfaces";
+    String queryProps[] = {
+    "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
+    "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
+    };
+    Vector<String> containerProps = new Vector<String>();
+    for(String prop : queryProps) {
+      containerProps.add(prop);
+    }
+    NodeGetOperation.addContainerProps(container, containerProps);
+  }
 
-       @Test
-       public void testAddContainerProps() {
-               String container = this.xmlRootElementName;
-               String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
-               Vector<String> queryProps = new Vector<String>();
-               queryProps.add(prop);
-               String props=null;
-               for(String p : queryProps) {
-                       props += "qProp="+p+"\n";
-//                     logger.debug("qProp="+p);
-               }
-//             logger.debug("Done="+this.xmlRootElementName);
-               NodeGetOperation.addContainerProps(container, queryProps);
-               assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop));
-       }
+  @Test
+  public void testAddContainerProps() {
+    String container = this.xmlRootElementName;
+    String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
+    Vector<String> queryProps = new Vector<String>();
+    queryProps.add(prop);
+    String props=null;
+    for(String p : queryProps) {
+      props += "qProp="+p+"\n";
+//      logger.debug("qProp="+p);
+    }
+//    logger.debug("Done="+this.xmlRootElementName);
+    NodeGetOperation.addContainerProps(container, queryProps);
+    assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop));
+  }
 
-       @Test
-       public void testToString() {
-               NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
-               String modResult = get.toString();
-               assertThat(modResult, is(this.result));
-       }
+  @Test
+  public void testToString() {
+    NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+    String modResult = get.toString();
+    assertThat(modResult, is(this.result));
+  }
 
 }
index 2207a90..ed403e0 100644 (file)
@@ -53,201 +53,201 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {
-               SchemaVersions.class,
+    SchemaVersions.class,
         SchemaLocationsBean.class,
         TestUtilConfigTranslatorforEdges.class,
         EdgeIngestor.class,
         NodeIngestor.class,
-               SwaggerGenerationConfiguration.class
+    SwaggerGenerationConfiguration.class
 
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai",
-               "schema.xsd.maxoccurs = 5000"
+    "schema.uri.base.path = /aai",
+    "schema.xsd.maxoccurs = 5000"
 })
 public class NodesYAMLfromOXMTest {
 //public class NodesYAMLfromOXMTest extends AAISetup {
-       private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class");
-       private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml";
-       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
-       public static AnnotationConfigApplicationContext ctx = null;
-       private static String testXML;
+  private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class");
+  private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml";
+  private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+  public static AnnotationConfigApplicationContext ctx = null;
+  private static String testXML;
 
-       @Autowired
-       NodesYAMLfromOXM nodesYamlFromOxm;
-       @Autowired
+  @Autowired
+  NodesYAMLfromOXM nodesYamlFromOxm;
+  @Autowired
     SchemaVersions schemaVersions;
 
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
 
-               XSDElementTest x = new XSDElementTest();
-               x.setUp();
-               testXML = x.testXML;
-               logger.debug(testXML);
-               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
-               bw.write(testXML);
-               bw.close();
-               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw1.write(YAMLfromOXMTest.EdgeDefs());
-               bw1.close();
+    XSDElementTest x = new XSDElementTest();
+    x.setUp();
+    testXML = x.testXML;
+    logger.debug(testXML);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+    bw.write(testXML);
+    bw.close();
+    BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw1.write(YAMLfromOXMTest.EdgeDefs());
+    bw1.close();
 
 
-       }
+  }
 
-       @Before
-       public void setUp() throws Exception {
+  @Before
+  public void setUp() throws Exception {
 
-               NodeGetOperation.checklist.clear();
-               XSDElementTest x = new XSDElementTest();
-               x.setUp();
-               testXML = x.testXML;
+    NodeGetOperation.checklist.clear();
+    XSDElementTest x = new XSDElementTest();
+    x.setUp();
+    testXML = x.testXML;
 
-               logger.debug(testXML);
-       }
+    logger.debug(testXML);
+  }
 
-       @Test
-       public void testGetDocumentHeader() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String header = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       nodesYamlFromOxm.process();
-                       header = nodesYamlFromOxm.getDocumentHeader();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Header:\n"+header,header, is(YAMLheader()));
-       }
+  @Test
+  public void testGetDocumentHeader() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String header = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      nodesYamlFromOxm.process();
+      header = nodesYamlFromOxm.getDocumentHeader();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Header:\n"+header,header, is(YAMLheader()));
+  }
 
-       @Test
-       public void testProcess() {
+  @Test
+  public void testProcess() {
 
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = nodesYamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult()));
-       }
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = nodesYamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult()));
+  }
 
-       @Test
-       public void testNodesYAMLfromOXMFileVersionFile() throws IOException {
-               String outfileName = "testXML.xml";
-               File XMLfile = new File(outfileName);
-               XMLfile.createNewFile();
-               BufferedWriter bw = null;
-               Charset charset = Charset.forName("UTF-8");
-               Path path = Paths.get(outfileName);
-               bw = Files.newBufferedWriter(path, charset);
-               bw.write(testXML);
-               bw.close();
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = nodesYamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               XMLfile.delete();
-               assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult()));
-        }
+  @Test
+  public void testNodesYAMLfromOXMFileVersionFile() throws IOException {
+    String outfileName = "testXML.xml";
+    File XMLfile = new File(outfileName);
+    XMLfile.createNewFile();
+    BufferedWriter bw = null;
+    Charset charset = Charset.forName("UTF-8");
+    Path path = Paths.get(outfileName);
+    bw = Files.newBufferedWriter(path, charset);
+    bw.write(testXML);
+    bw.close();
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = nodesYamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    XMLfile.delete();
+    assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult()));
+   }
 
-       @Test
-       public void testNodesYAMLfromOXMStringVersionFile() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = nodesYamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult()));
-       }
+  @Test
+  public void testNodesYAMLfromOXMStringVersionFile() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = nodesYamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult()));
+  }
 
-       @Test
-       public void testAppendDefinitions() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String definitions = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       nodesYamlFromOxm.process();
-                       definitions = nodesYamlFromOxm.appendDefinitions();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs()));
-       }
+  @Test
+  public void testAppendDefinitions() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String definitions = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      nodesYamlFromOxm.process();
+      definitions = nodesYamlFromOxm.appendDefinitions();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs()));
+  }
 
-       @Test
-       public void testGetXMLRootElementName() {
-               String target = "RootElement=customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               Element customer = null;
-               String root = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       nodesYamlFromOxm.process();
-                       customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
-                       root = nodesYamlFromOxm.getXMLRootElementName(customer);
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("RootElement="+root, is(target));
-       }
+  @Test
+  public void testGetXMLRootElementName() {
+    String target = "RootElement=customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    Element customer = null;
+    String root = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      nodesYamlFromOxm.process();
+      customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+      root = nodesYamlFromOxm.getXMLRootElementName(customer);
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("RootElement="+root, is(target));
+  }
 
-       @Test
-       public void testGetXmlRootElementName() {
-               String target = "RootElement=customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String root = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       nodesYamlFromOxm.process();
-                       root = nodesYamlFromOxm.getXmlRootElementName("Customer");
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("RootElement="+root, is(target));
-       }
+  @Test
+  public void testGetXmlRootElementName() {
+    String target = "RootElement=customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String root = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      nodesYamlFromOxm.process();
+      root = nodesYamlFromOxm.getXmlRootElementName("Customer");
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("RootElement="+root, is(target));
+  }
 
-       @Test
-       public void testGetJavaTypeElementSwagger() {
-               String target = "Element=java-type/Customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               Element customer = null;
-               try {
-                       nodesYamlFromOxm.setXmlVersion(testXML, v);
-                       nodesYamlFromOxm.process();
-                       customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
-       }
+  @Test
+  public void testGetJavaTypeElementSwagger() {
+    String target = "Element=java-type/Customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    Element customer = null;
+    try {
+      nodesYamlFromOxm.setXmlVersion(testXML, v);
+      nodesYamlFromOxm.process();
+      customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
+  }
 
-       public String YAMLresult() {
-               StringBuilder sb = new StringBuilder(32368);
-               sb.append(YAMLheader());
-               sb.append(YAMLops());
-               sb.append(YAMLgetDefs());
-               return sb.toString();
-       }
-       public String YAMLheader() {
-               StringBuilder sb = new StringBuilder(1500);
+  public String YAMLresult() {
+    StringBuilder sb = new StringBuilder(32368);
+    sb.append(YAMLheader());
+    sb.append(YAMLops());
+    sb.append(YAMLgetDefs());
+    return sb.toString();
+  }
+  public String YAMLheader() {
+    StringBuilder sb = new StringBuilder(1500);
         sb.append("swagger: \"2.0\"\n");
         sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
         sb.append("  description: |\n");
@@ -274,203 +274,203 @@ public class NodesYAMLfromOXMTest {
         sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
         sb.append("  - https\n");
         sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
-               return sb.toString();
-       }
+    return sb.toString();
+  }
 
-       public String YAMLops() {
-               StringBuilder sb = new StringBuilder(16384);
-               sb.append("  /nodes/customers/customer/{global-customer-id}:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Operations\n");
-               sb.append("      summary: returns customer\n");
-               sb.append("      description: returns customer\n");
-               sb.append("      operationId: getBusinessCustomersCustomer\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/customer\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null\n      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("  /nodes/customers?parameter=value[&parameter2=value2]:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Operations\n");
-               sb.append("      summary: returns customers\n");
-               sb.append("      description: returns customers\n");
-               sb.append("      operationId: getBusinessCustomers\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/customers\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null\n      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("        - name: subscriber-name\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("        - name: subscriber-type\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("  /nodes/service-subscriptions/service-subscription/{service-type}:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Operations\n");
-               sb.append("      summary: returns service-subscription\n");
-               sb.append("      description: returns service-subscription\n");
-               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/service-subscription\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null\n      parameters:\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Value defined by orchestration to identify this service.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __SERVICE-TYPE__\n");
-               sb.append("  /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Operations\n");
-               sb.append("      summary: returns service-subscriptions\n");
-               sb.append("      description: returns service-subscriptions\n");
-               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/service-subscriptions\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null\n      parameters:\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               return sb.toString();
-       }
+  public String YAMLops() {
+    StringBuilder sb = new StringBuilder(16384);
+    sb.append("  /nodes/customers/customer/{global-customer-id}:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Operations\n");
+    sb.append("      summary: returns customer\n");
+    sb.append("      description: returns customer\n");
+    sb.append("      operationId: getBusinessCustomersCustomer\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/customer\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null\n      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("  /nodes/customers?parameter=value[&parameter2=value2]:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Operations\n");
+    sb.append("      summary: returns customers\n");
+    sb.append("      description: returns customers\n");
+    sb.append("      operationId: getBusinessCustomers\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/customers\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null\n      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("        - name: subscriber-name\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("        - name: subscriber-type\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("  /nodes/service-subscriptions/service-subscription/{service-type}:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Operations\n");
+    sb.append("      summary: returns service-subscription\n");
+    sb.append("      description: returns service-subscription\n");
+    sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/service-subscription\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null\n      parameters:\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Value defined by orchestration to identify this service.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __SERVICE-TYPE__\n");
+    sb.append("  /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Operations\n");
+    sb.append("      summary: returns service-subscriptions\n");
+    sb.append("      description: returns service-subscriptions\n");
+    sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/service-subscriptions\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null\n      parameters:\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    return sb.toString();
+  }
 
-       public String YAMLgetDefs() {
-               StringBuilder sb = new StringBuilder(8092);
-               sb.append("definitions:\n");
-               sb.append("  business:\n");
-               sb.append("    description: |\n");
-               sb.append("      Namespace for business related constructs\n");
-               sb.append("    properties:\n");
-               sb.append("      customers:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:\n");
-               sb.append("          $ref: \"#/definitions/customer\"\n");
-               sb.append("  customer:\n");
-               sb.append("    description: |\n");
-               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
-               sb.append("    required:\n");
-               sb.append("    - global-customer-id\n");
-               sb.append("    - subscriber-name\n");
-               sb.append("    - subscriber-type\n");
-               sb.append("    properties:\n");
-               sb.append("      global-customer-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("      subscriber-name:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
-               sb.append("      subscriber-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
-               sb.append("      resource-version:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
-               sb.append("      service-subscriptions:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:\n");
-               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
-               sb.append("  customers:\n");
-               sb.append("    description: |\n");
-               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("    properties:\n");
-               sb.append("      customer:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:          \n");
-               sb.append("          $ref: \"#/definitions/customer\"\n");
-               sb.append("  inventory:\n");
-               sb.append("    properties:\n");
-               sb.append("      business:\n");
-               sb.append("        type: object\n");
-               sb.append("        $ref: \"#/definitions/business\"\n");
-               sb.append("  nodes:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    properties:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        type: array" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        items:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  service-subscription:\n");
-               sb.append("    description: |\n");
-               sb.append("      Object that group service instances.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
-               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
-               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
-               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
-               sb.append("    required:\n");
-               sb.append("    - service-type\n");
-               sb.append("    properties:\n");
-               sb.append("      service-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Value defined by orchestration to identify this service.\n");
-               sb.append("      temp-ub-sub-account-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
-               sb.append("      resource-version:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
-               sb.append("  service-subscriptions:\n");
-               sb.append("    description: |\n");
-               sb.append("      Collection of objects that group service instances.\n");
-               sb.append("    properties:\n");
-               sb.append("      service-subscription:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:          \n");
-               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
-               return sb.toString();
-       }
+  public String YAMLgetDefs() {
+    StringBuilder sb = new StringBuilder(8092);
+    sb.append("definitions:\n");
+    sb.append("  business:\n");
+    sb.append("    description: |\n");
+    sb.append("      Namespace for business related constructs\n");
+    sb.append("    properties:\n");
+    sb.append("      customers:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:\n");
+    sb.append("          $ref: \"#/definitions/customer\"\n");
+    sb.append("  customer:\n");
+    sb.append("    description: |\n");
+    sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+    sb.append("    required:\n");
+    sb.append("    - global-customer-id\n");
+    sb.append("    - subscriber-name\n");
+    sb.append("    - subscriber-type\n");
+    sb.append("    properties:\n");
+    sb.append("      global-customer-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("      subscriber-name:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+    sb.append("      subscriber-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+    sb.append("      resource-version:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+    sb.append("      service-subscriptions:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:\n");
+    sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+    sb.append("  customers:\n");
+    sb.append("    description: |\n");
+    sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("    properties:\n");
+    sb.append("      customer:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:          \n");
+    sb.append("          $ref: \"#/definitions/customer\"\n");
+    sb.append("  inventory:\n");
+    sb.append("    properties:\n");
+    sb.append("      business:\n");
+    sb.append("        type: object\n");
+    sb.append("        $ref: \"#/definitions/business\"\n");
+    sb.append("  nodes:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    properties:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        type: array" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        items:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  service-subscription:\n");
+    sb.append("    description: |\n");
+    sb.append("      Object that group service instances.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+    sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+    sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+    sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+    sb.append("    required:\n");
+    sb.append("    - service-type\n");
+    sb.append("    properties:\n");
+    sb.append("      service-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Value defined by orchestration to identify this service.\n");
+    sb.append("      temp-ub-sub-account-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+    sb.append("      resource-version:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+    sb.append("  service-subscriptions:\n");
+    sb.append("    description: |\n");
+    sb.append("      Collection of objects that group service instances.\n");
+    sb.append("    properties:\n");
+    sb.append("      service-subscription:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:          \n");
+    sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+    return sb.toString();
+  }
 }
 
index 4fc1c84..098b33b 100644 (file)
@@ -34,50 +34,50 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(Parameterized.class)
 public class PatchOperationTest {
-       private String useOpId;
-       private String xmlRootElementName;
-       private String tag;
-       private String path;
-       private String pathParams;
-       private String result;
-       private static SchemaVersion v = new SchemaVersion("v16");
+  private String useOpId;
+  private String xmlRootElementName;
+  private String tag;
+  private String path;
+  private String pathParams;
+  private String result;
+  private static SchemaVersion v = new SchemaVersion("v16");
 
-       @Parameters
-       public static Collection<String []> testConditions() {
-               String inputs [][] = {
-               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    patch:\n      tags:\n        - Network\n      summary: update an existing generic-vnf\n      description: |\n        Update an existing generic-vnf\n        #\n        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n        The PUT operation will entirely replace an existing object.\n        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n        #\n        Other differences between PUT and PATCH are:\n        #\n        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n      operationId: UpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n      produces:\n        - application/json\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n          required: true\n          schema:\n            $ref: \"#/definitions/generic-vnf\"\n"},
-//             if ( StringUtils.isEmpty(tag) )
-               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
-//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
-               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
-               //              {"","ctag-pool","","","",""},
-//             {"","pserver","","","",""},
-//             {"","oam-network","","","",""},
-//             {"","dvs-switch","","","",""},
-//             {"","availability-zone","","","",""}
-               };
-               return Arrays.asList(inputs);
-       }
+  @Parameters
+  public static Collection<String []> testConditions() {
+    String inputs [][] = {
+    {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    patch:\n      tags:\n        - Network\n      summary: update an existing generic-vnf\n      description: |\n        Update an existing generic-vnf\n        #\n        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n        The PUT operation will entirely replace an existing object.\n        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n        #\n        Other differences between PUT and PATCH are:\n        #\n        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n      operationId: UpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n      produces:\n        - application/json\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n          required: true\n          schema:\n            $ref: \"#/definitions/generic-vnf\"\n"},
+//    if ( StringUtils.isEmpty(tag) )
+    {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+//    Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+    {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+    //    {"","ctag-pool","","","",""},
+//    {"","pserver","","","",""},
+//    {"","oam-network","","","",""},
+//    {"","dvs-switch","","","",""},
+//    {"","availability-zone","","","",""}
+    };
+    return Arrays.asList(inputs);
+  }
 
-       public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
-               super();
-               this.useOpId = useOpId;
-               this.xmlRootElementName = xmlRootElementName;
-               this.tag = tag;
-               this.path = path;
-               this.pathParams=pathParams;
-               this.result = result;
-       }
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
+  public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+    super();
+    this.useOpId = useOpId;
+    this.xmlRootElementName = xmlRootElementName;
+    this.tag = tag;
+    this.path = path;
+    this.pathParams=pathParams;
+    this.result = result;
+  }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
 
-       }
+  }
 
-       @Test
-       public void testToString() {
-               PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path,  pathParams, v, "/aai" );
-               String modResult = patch.toString();
-               assertThat(modResult, is(this.result));
-       }
+  @Test
+  public void testToString() {
+    PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path,  pathParams, v, "/aai" );
+    String modResult = patch.toString();
+    assertThat(modResult, is(this.result));
+  }
 
 }
index 0a60b7f..7c5c00d 100644 (file)
@@ -34,50 +34,50 @@ import static org.junit.Assert.assertThat;
 
 @RunWith(Parameterized.class)
 public class PutOperationTest {
-       private String useOpId;
-       private String xmlRootElementName;
-       private String tag;
-       private String path;
-       private String pathParams;
-       private String result;
-       private static SchemaVersion v = new SchemaVersion("v14");
+  private String useOpId;
+  private String xmlRootElementName;
+  private String tag;
+  private String path;
+  private String pathParams;
+  private String result;
+  private static SchemaVersion v = new SchemaVersion("v14");
 
-       @Parameters
-       public static Collection<String []> testConditions() {
-               String inputs [][] = {
-               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    put:\n      tags:\n        - Network\n      summary: create or update an existing generic-vnf\n      description: |\n        Create or update an existing generic-vnf.\n        #\n        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n      operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n          required: true\n          schema:\n            $ref: \"#/definitions/generic-vnf\"\n"},
-//             if ( StringUtils.isEmpty(tag) )
-               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
-//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
-               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
-               //              {"","ctag-pool","","","",""},
-//             {"","pserver","","","",""},
-//             {"","oam-network","","","",""},
-//             {"","dvs-switch","","","",""},
-//             {"","availability-zone","","","",""}
-               };
-               return Arrays.asList(inputs);
-       }
+  @Parameters
+  public static Collection<String []> testConditions() {
+    String inputs [][] = {
+    {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    put:\n      tags:\n        - Network\n      summary: create or update an existing generic-vnf\n      description: |\n        Create or update an existing generic-vnf.\n        #\n        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n      operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n          required: true\n          schema:\n            $ref: \"#/definitions/generic-vnf\"\n"},
+//    if ( StringUtils.isEmpty(tag) )
+    {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+//    Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+    {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+    //    {"","ctag-pool","","","",""},
+//    {"","pserver","","","",""},
+//    {"","oam-network","","","",""},
+//    {"","dvs-switch","","","",""},
+//    {"","availability-zone","","","",""}
+    };
+    return Arrays.asList(inputs);
+  }
 
-       public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
-               super();
-               this.useOpId = useOpId;
-               this.xmlRootElementName = xmlRootElementName;
-               this.tag = tag;
-               this.path = path;
-               this.pathParams=pathParams;
-               this.result = result;
-       }
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
+  public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+    super();
+    this.useOpId = useOpId;
+    this.xmlRootElementName = xmlRootElementName;
+    this.tag = tag;
+    this.path = path;
+    this.pathParams=pathParams;
+    this.result = result;
+  }
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
 
-       }
+  }
 
-       @Test
-       public void testToString() {
-               PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path,  pathParams, v, "/aai");
-               String modResult = put.toString();
-               assertThat(modResult, is(this.result));
-       }
+  @Test
+  public void testToString() {
+    PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path,  pathParams, v, "/aai");
+    String modResult = put.toString();
+    assertThat(modResult, is(this.result));
+  }
 
 }
index 4799684..526c923 100644 (file)
@@ -43,214 +43,214 @@ import static org.junit.Assert.assertTrue;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {
-       SchemaVersions.class,
-       EdgeIngestor.class
+  SchemaVersions.class,
+  EdgeIngestor.class
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai"
+    "schema.uri.base.path = /aai"
 })
 @Ignore("This test needs to get major rework done as it is written very poorly")
 public class PutRelationPathSetTest {
-       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+  private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
 
-       private static String json;
-       private SchemaVersion v ;
-       private File relationsFile ;
-       private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
-       private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship";
-       private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
-       PutRelationPathSet prp = null;
-        @Autowired
+  private static String json;
+  private SchemaVersion v ;
+  private File relationsFile ;
+  private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+  private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship";
+  private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+  PutRelationPathSet prp = null;
+   @Autowired
      SchemaVersions schemaVersions;
 
-        @Autowired
+   @Autowired
      EdgeIngestor edgeIngestor;
 
 
-       @Before
-       public void setUpBeforeClass() throws Exception {
-           v = schemaVersions.getDefaultVersion();
+  @Before
+  public void setUpBeforeClass() throws Exception {
+      v = schemaVersions.getDefaultVersion();
 
-               relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json");
-               json = "{"
-                               + "     \"rules\": ["
-                               + "             {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"complex\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.LocatedIn\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"this description\""
-                               + "             },"
-                               + "    {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"service-capability\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"availability-zone\","
-                               + "                     \"to\": \"cloud-region\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.BelongsTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"!${direction}\","
-                               + "                     \"delete-other-v\": \"!${direction}\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"NONE\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"ctag-pool\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"dvs-switch\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"generic-vnf\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"${direction}\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"vf-module\","
-                               + "                     \"to\": \"vnfc\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"ONE2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"${direction}\","
-                               + "                     \"prevent-delete\": \"${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"pserver\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.MemberOf\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2ONE\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"${direction}\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "             {"
-                               + "                     \"from\": \"vce\","
-                               + "                     \"to\": \"availability-zone\","
-                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
-                               + "                     \"direction\": \"OUT\","
-                               + "                     \"multiplicity\": \"MANY2MANY\","
-                               + "                     \"contains-other-v\": \"NONE\","
-                               + "                     \"delete-other-v\": \"NONE\","
-                               + "                     \"SVC-INFRA\": \"NONE\","
-                               + "                     \"prevent-delete\": \"!${direction}\","
-                               + "                     \"default\": \"true\","
-                               + "                     \"description\":\"\""
-                               + "             },"
-                               + "     ]}";
+    relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json");
+    json = "{"
+        + "  \"rules\": ["
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"complex\","
+        + "      \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"this description\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"service-capability\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"availability-zone\","
+        + "      \"to\": \"cloud-region\","
+        + "      \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"!${direction}\","
+        + "      \"delete-other-v\": \"!${direction}\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"NONE\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"ctag-pool\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"dvs-switch\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"generic-vnf\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.Uses\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"${direction}\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"vf-module\","
+        + "      \"to\": \"vnfc\","
+        + "      \"label\": \"org.onap.relationships.inventory.Uses\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"ONE2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"${direction}\","
+        + "      \"prevent-delete\": \"${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"pserver\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.MemberOf\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2ONE\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"${direction}\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "    {"
+        + "      \"from\": \"vce\","
+        + "      \"to\": \"availability-zone\","
+        + "      \"label\": \"org.onap.relationships.inventory.Uses\","
+        + "      \"direction\": \"OUT\","
+        + "      \"multiplicity\": \"MANY2MANY\","
+        + "      \"contains-other-v\": \"NONE\","
+        + "      \"delete-other-v\": \"NONE\","
+        + "      \"SVC-INFRA\": \"NONE\","
+        + "      \"prevent-delete\": \"!${direction}\","
+        + "      \"default\": \"true\","
+        + "      \"description\":\"\""
+        + "    },"
+        + "  ]}";
 
-               BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw.write(json);
-               bw.close();
+    BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw.write(json);
+    bw.close();
 
-       }
+  }
 
-       @Before
-       public void setUp() throws Exception {
+  @Before
+  public void setUp() throws Exception {
 
-               DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver");
-               DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce");
-               DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex");
-               DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability");
-               DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region");
-               DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf");
-               DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch");
-               DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool");
+    DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver");
+    DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce");
+    DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex");
+    DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability");
+    DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region");
+    DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf");
+    DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch");
+    DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool");
 
-               DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone");
-               PutRelationPathSet.add(opId, path);
-       }
-       @AfterClass
-       public static void tearDownAfterClass() throws Exception {
-               File edges = new File(EDGEFILENAME);
-               edges.delete();
-       }
-       @Test
-       public void testAdd() {
-               PutRelationPathSet.add(opId, path);
-               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
-               assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
-       }
+    DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone");
+    PutRelationPathSet.add(opId, path);
+  }
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception {
+    File edges = new File(EDGEFILENAME);
+    edges.delete();
+  }
+  @Test
+  public void testAdd() {
+    PutRelationPathSet.add(opId, path);
+    assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+    assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+  }
 
-       @Test
-       public void testPutRelationPathSet() {
+  @Test
+  public void testPutRelationPathSet() {
 
-               this.prp = new PutRelationPathSet(v);
-               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
-               prp.generateRelations(edgeIngestor);
-               assertTrue(this.relationsFile.exists());
-               this.relationsFile.delete();
-       }
+    this.prp = new PutRelationPathSet(v);
+    assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+    prp.generateRelations(edgeIngestor);
+    assertTrue(this.relationsFile.exists());
+    this.relationsFile.delete();
+  }
 
-       @Test
-       public void testPutRelationPathSetStringString() {
-               this.prp = new PutRelationPathSet(opId, path, v);
-               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
-       }
+  @Test
+  public void testPutRelationPathSetStringString() {
+    this.prp = new PutRelationPathSet(opId, path, v);
+    assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+  }
 
-       @Test
-       public void testGenerateRelations() {
-               PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v);
-               prp.generateRelations(edgeIngestor);
-               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
-               assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
-               assertTrue(this.relationsFile.exists());
-//             this.relationsFile.delete();
-       }
+  @Test
+  public void testGenerateRelations() {
+    PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v);
+    prp.generateRelations(edgeIngestor);
+    assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+    assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+    assertTrue(this.relationsFile.exists());
+//    this.relationsFile.delete();
+  }
 
 }
 
index 2ebaee1..7c8dd78 100644 (file)
@@ -47,219 +47,219 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 
 public class XSDElementTest {
-       private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class");
-       private static final int maxSizeForXml = 20000;
-       protected String testXML;
-       protected Document doc = null;
-       protected NodeList javaTypeNodes=null;
-
-       public String getTestXML() {
-               return testXML;
-       }
-
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-       }
-
-       @Before
-       public void setUp() throws Exception {
-               setUp(0);
-       }
-
-       public void setUp( int sbopt ) throws Exception {
-               StringBuilder sb = new StringBuilder(maxSizeForXml);
-               addNamespace(sb);
-               addBusiness(sb);
-               addCustomers(sb);
-               if ( sbopt == 0 ) {
-                       addCustomer(sb);
-               } else {
-                       addCustomerNoSubscriberType(sb);
-                       addCustomerSubscriberType(sb);
-               }
-               addServiceSubscriptions(sb);
-               addServiceSubscription(sb);
-               addEndOfXML(sb);
-               testXML = sb.toString();
-               init();
-       }
-       
-       public void setUpRelationship(  ) throws Exception {
-               StringBuilder sb = new StringBuilder(maxSizeForXml);
-               addNamespaceNoInventory(sb);
-               addRelationship(sb);
-               addRelationshipList(sb);
-               addRelatedToProperty(sb);
-               addRelationshipData(sb);
-               addEndOfXML(sb);
-               testXML = sb.toString();
-               init();
-       }
-
-       private void addNamespace(StringBuilder sb){
-               sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
-               sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
-               sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
-               sb.append("</xml-schema>\n");
-               sb.append("<java-types>\n");
-               sb.append("<java-type name=\"Inventory\">\n");
-               sb.append("<xml-root-element name=\"inventory\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"business\" name=\"business\" type=\"inventory.aai.onap.org.v11.Business\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("</java-type>\n");
-       }
-       
-       private void addNamespaceNoInventory(StringBuilder sb){
-               sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
-               sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
-               sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
-               sb.append("</xml-schema>\n");
-               sb.append("<java-types>\n");
-       }
-
-       private void addBusiness(StringBuilder sb){
-               sb.append("<java-type name=\"Business\">\n");
-               sb.append("<xml-properties>\n");
-                               sb.append("<xml-property name=\"description\" value=\"Namespace for business related constructs\" />\n");
-                               sb.append("</xml-properties>\n");
-                               sb.append("<xml-root-element name=\"business\" />\n");
-                               sb.append("<java-attributes>\n");
-                               sb.append("<xml-element java-attribute=\"customers\" name=\"customers\" type=\"inventory.aai.onap.org.v11.Customers\" />\n");
-                               sb.append("</java-attributes>\n");
-                               sb.append("</java-type>\n");
-       }
-
-       private void addCustomers(StringBuilder sb){
-               sb.append("<java-type name=\"Customers\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Collection of customer identifiers to provide linkage back to BSS information.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("<xml-root-element name=\"customers\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"customer\" name=\"customer\" type=\"inventory.aai.onap.org.v11.Customer\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"maximumDepth\" value=\"0\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</java-type>\n");
-       }
-
-       private void addCustomer(StringBuilder sb){
-               sb.append("<java-type name=\"Customer\">\n");
-               sb.append("<xml-root-element name=\"customer\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
-               sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
-//             sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
-               sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
-               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id,subscriber-type\" />\n");
-               sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
-               sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
-               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
-               sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</java-type>\n");
-       }
-
-       private void addCustomerNoSubscriberType(StringBuilder sb){
-               sb.append("<java-type name=\"Customer\">\n");
-               sb.append("<xml-root-element name=\"customer\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
-               sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
-               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id\" />\n");
-               sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
-               sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
-               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
-               sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</java-type>\n");
-       }
-
-       private void addCustomerSubscriberType(StringBuilder sb){
-               sb.append("<java-type name=\"Customer\">\n");
-               sb.append("<xml-root-element name=\"customer\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
-               sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("</java-attributes>\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-type\" />\n");
-               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</java-type>\n");
-       }
-
-       private void addServiceSubscriptions(StringBuilder sb){
-               sb.append("<java-type name=\"ServiceSubscriptions\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Collection of objects that group service instances.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("<xml-root-element name=\"service-subscriptions\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"serviceSubscription\" name=\"service-subscription\" type=\"inventory.aai.onap.org.v11.ServiceSubscription\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("</java-type>\n");
-       }
-       private void addServiceSubscription(StringBuilder sb){
-               sb.append("<java-type name=\"ServiceSubscription\">\n");
-               sb.append("<xml-root-element name=\"service-subscription\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"serviceType\" name=\"service-type\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"Value defined by orchestration to identify this service.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"tempUbSubAccountId\" name=\"temp-ub-sub-account-id\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\" />\n");
-               sb.append("</xml-properties>\n");
+  private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class");
+  private static final int maxSizeForXml = 20000;
+  protected String testXML;
+  protected Document doc = null;
+  protected NodeList javaTypeNodes=null;
+
+  public String getTestXML() {
+    return testXML;
+  }
+
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+  }
+
+  @Before
+  public void setUp() throws Exception {
+    setUp(0);
+  }
+
+  public void setUp( int sbopt ) throws Exception {
+    StringBuilder sb = new StringBuilder(maxSizeForXml);
+    addNamespace(sb);
+    addBusiness(sb);
+    addCustomers(sb);
+    if ( sbopt == 0 ) {
+      addCustomer(sb);
+    } else {
+      addCustomerNoSubscriberType(sb);
+      addCustomerSubscriberType(sb);
+    }
+    addServiceSubscriptions(sb);
+    addServiceSubscription(sb);
+    addEndOfXML(sb);
+    testXML = sb.toString();
+    init();
+  }
+  
+  public void setUpRelationship(  ) throws Exception {
+    StringBuilder sb = new StringBuilder(maxSizeForXml);
+    addNamespaceNoInventory(sb);
+    addRelationship(sb);
+    addRelationshipList(sb);
+    addRelatedToProperty(sb);
+    addRelationshipData(sb);
+    addEndOfXML(sb);
+    testXML = sb.toString();
+    init();
+  }
+
+  private void addNamespace(StringBuilder sb){
+    sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
+    sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
+    sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
+    sb.append("</xml-schema>\n");
+    sb.append("<java-types>\n");
+    sb.append("<java-type name=\"Inventory\">\n");
+    sb.append("<xml-root-element name=\"inventory\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"business\" name=\"business\" type=\"inventory.aai.onap.org.v11.Business\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("</java-type>\n");
+  }
+  
+  private void addNamespaceNoInventory(StringBuilder sb){
+    sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
+    sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
+    sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
+    sb.append("</xml-schema>\n");
+    sb.append("<java-types>\n");
+  }
+
+  private void addBusiness(StringBuilder sb){
+    sb.append("<java-type name=\"Business\">\n");
+    sb.append("<xml-properties>\n");
+        sb.append("<xml-property name=\"description\" value=\"Namespace for business related constructs\" />\n");
+        sb.append("</xml-properties>\n");
+        sb.append("<xml-root-element name=\"business\" />\n");
+        sb.append("<java-attributes>\n");
+        sb.append("<xml-element java-attribute=\"customers\" name=\"customers\" type=\"inventory.aai.onap.org.v11.Customers\" />\n");
+        sb.append("</java-attributes>\n");
+        sb.append("</java-type>\n");
+  }
+
+  private void addCustomers(StringBuilder sb){
+    sb.append("<java-type name=\"Customers\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Collection of customer identifiers to provide linkage back to BSS information.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("<xml-root-element name=\"customers\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"customer\" name=\"customer\" type=\"inventory.aai.onap.org.v11.Customer\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"maximumDepth\" value=\"0\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</java-type>\n");
+  }
+
+  private void addCustomer(StringBuilder sb){
+    sb.append("<java-type name=\"Customer\">\n");
+    sb.append("<xml-root-element name=\"customer\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+    sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+//    sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+    sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+    sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id,subscriber-type\" />\n");
+    sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+    sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+    sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+    sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</java-type>\n");
+  }
+
+  private void addCustomerNoSubscriberType(StringBuilder sb){
+    sb.append("<java-type name=\"Customer\">\n");
+    sb.append("<xml-root-element name=\"customer\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+    sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+    sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id\" />\n");
+    sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+    sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+    sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+    sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</java-type>\n");
+  }
+
+  private void addCustomerSubscriberType(StringBuilder sb){
+    sb.append("<java-type name=\"Customer\">\n");
+    sb.append("<xml-root-element name=\"customer\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+    sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("</java-attributes>\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-type\" />\n");
+    sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</java-type>\n");
+  }
+
+  private void addServiceSubscriptions(StringBuilder sb){
+    sb.append("<java-type name=\"ServiceSubscriptions\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Collection of objects that group service instances.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("<xml-root-element name=\"service-subscriptions\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"serviceSubscription\" name=\"service-subscription\" type=\"inventory.aai.onap.org.v11.ServiceSubscription\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("</java-type>\n");
+  }
+  private void addServiceSubscription(StringBuilder sb){
+    sb.append("<java-type name=\"ServiceSubscription\">\n");
+    sb.append("<xml-root-element name=\"service-subscription\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"serviceType\" name=\"service-type\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"Value defined by orchestration to identify this service.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"tempUbSubAccountId\" name=\"temp-ub-sub-account-id\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\" />\n");
+    sb.append("</xml-properties>\n");
                 sb.append("</xml-element>\n");
                 sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
                 sb.append("<xml-properties>\n");
@@ -276,380 +276,380 @@ public class XSDElementTest {
                 sb.append("<xml-property name=\"crossEntityReference\" value=\"service-instance,service-type\" />\n");
                 sb.append("</xml-properties>\n");
                 sb.append("</java-type>\n");
-       }
-
-       private void addRelationshipList(StringBuilder sb ) {
-               sb.append("<java-type name=\"RelationshipList\">\n");
-               sb.append("<xml-root-element name=\"relationship-list\" />\n");
-               sb.append("<java-attributes>\n");
-                       sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationship\" name=\"relationship\" type=\"inventory.aai.onap.org.v11.Relationship\" />/n");
-               sb.append("</java-attributes>\n");
-       sb.append("</java-type>\n");
-       }
-
-       private void addRelationship(StringBuilder sb ) {
-               sb.append("<java-type name=\"Relationship\">\n");
-               sb.append("<xml-root-element name=\"relationship\" />\n");
-               sb.append("<java-attributes>\n");
-               sb.append("<xml-element java-attribute=\"relatedTo\" name=\"related-to\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate type of node.\" />\n");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element java-attribute=\"relatedLink\" name=\"related-link\" type=\"java.lang.String\">\n");
-               sb.append("<xml-properties>\n");
-               sb.append("<xml-property name=\"description\" value=\"URL to the object in A&amp;AI.\" />");
-               sb.append("</xml-properties>\n");
-               sb.append("</xml-element>\n");
-               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationshipData\" name=\"relationship-data\" type=\"inventory.aai.onap.org.v11.RelationshipData\" />\n");
-               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relatedToProperty\" name=\"related-to-property\" type=\"inventory.aai.onap.org.v11.RelatedToProperty\" />\n");
-               sb.append("</java-attributes>\n");
-               sb.append("</java-type>\n");
-       }
-
-       private void addRelatedToProperty(StringBuilder sb) {
-               sb.append("<java-type name=\"RelatedToProperty\">\n");
-               sb.append("<xml-root-element name=\"related-to-property\" />\n");
-               sb.append("<java-attributes>\n");
-                       sb.append("<xml-element java-attribute=\"propertyKey\" name=\"property-key\" type=\"java.lang.String\">\n");
-                       sb.append("<xml-properties>\n");
-                       sb.append("<xml-property name=\"description\" value=\"Key part of a key/value pair\" />\n");
-                       sb.append("</xml-properties>\n");
-                       sb.append("</xml-element>\n");
-                       sb.append("<xml-element java-attribute=\"propertyValue\" name=\"property-value\" type=\"java.lang.String\">\n");
-                       sb.append("<xml-properties>\n");
-                       sb.append("<xml-property name=\"description\" value=\"Value part of a key/value pair\" />\n");
-                       sb.append("</xml-properties>\n");
-                       sb.append("</xml-element>\n");
-                       sb.append("</java-attributes>\n");
-                       sb.append("</java-type>\n");
-       }
-
-       private void addRelationshipData(StringBuilder sb){
-               sb.append("<java-type name=\"RelationshipData\">\n");
-               sb.append("<xml-root-element name=\"relationship-data\" />\n");
-               sb.append("<java-attributes>\n");
-                       sb.append("<xml-element java-attribute=\"relationshipKey\" name=\"relationship-key\" required=\"true\" type=\"java.lang.String\">\n");
-                       sb.append("<xml-properties>\n");
-                       sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate an attribute.\" />\n");
-                       sb.append("</xml-properties>\n");
-                       sb.append("</xml-element>\n");
-                       sb.append("<xml-element java-attribute=\"relationshipValue\" name=\"relationship-value\" required=\"true\" type=\"java.lang.String\">\n");
-                       sb.append("<xml-properties>\n");
-                       sb.append("<xml-property name=\"description\" value=\"Value of the attribute.\" />\n");
-                       sb.append("</xml-properties>\n");
-                       sb.append("</xml-element>\n");
-                       sb.append("</java-attributes>\n");
-                       sb.append("</java-type>\n");
-       }
-
-
-       private void addEndOfXML(StringBuilder sb){
-               sb.append("</java-types>\n");
-               sb.append("</xml-bindings>\n");
-       }
-
-       public void init() throws ParserConfigurationException, SAXException, IOException {
-               DocumentBuilder dBuilder = null;
-               try {
-                   DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
-                   dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
-                   dBuilder = dbFactory.newDocumentBuilder();
-               } catch (ParserConfigurationException e) {
-                       throw e;
-               }
-               try {
-                       InputSource isInput = new InputSource(new StringReader(testXML));
-                       doc = dBuilder.parse(isInput);
-               } catch (SAXException e) {
-                       throw e;
-               } catch (IOException e) {
-                       throw e;
-               }
-
-           NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
-               Element bindingElement;
-               NodeList javaTypesNodes;
-               Element javaTypesElement;
-
-               if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
-                       throw new SAXException("OXM file error: missing <binding-nodes> in XML");
-               }
-
-               bindingElement = (Element) bindingsNodes.item(0);
-               javaTypesNodes = bindingElement.getElementsByTagName("java-types");
-               if ( javaTypesNodes.getLength() < 1 ) {
-                       throw new SAXException("OXM file error: missing <binding-nodes><java-types> in XML");
-               }
-               javaTypesElement = (Element) javaTypesNodes.item(0);
-
-               javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
-               if ( javaTypeNodes.getLength() < 1 ) {
-                       throw new SAXException("OXM file error: missing <binding-nodes><java-types><java-type> in XML");
-               }
-               logger.debug(testXML);
-       }
-       @Test
-       public void testXSDElement() {
-               // repeat of testGetIndexedProps() which uses the constructor
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("subscriber-name");
-               target.add("global-customer-id");
-               target.add("subscriber-type");
-               target.add("service-type");
-
-               Vector<String> indexedProps = new Vector<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       indexedProps.addAll(javaTypeElement.getIndexedProps());
-               }
-               assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testName() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("ServiceSubscriptions");
-               target.add("ServiceSubscription");
-               target.add("Inventory");
-               target.add("Business");
-               target.add("Customers");
-               target.add("Customer");
-               ArrayList<String> names = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       names.add(javaTypeElement.name());
-               }
-               logger.debug(String.join("|", names));
-               assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testGetAddTypes() {
-               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
-               HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
-               target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList")));
-               target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions")));
-               target.put("Business", new ArrayList<>(Arrays.asList("Customers")));
-               target.put("Inventory", new ArrayList<>(Arrays.asList("Business")));
-               target.put("Customers", new ArrayList<>(Arrays.asList("Customer")));
-               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList")));
-               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList()));
-               target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription")));
-
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       ArrayList<String> addTypes = new ArrayList<String>();
-                       NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
-                       String name=javaTypeElement.name();
-                       for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
-                               XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
-                               addTypes.addAll(xmlElement.getAddTypes("v11"));
-                               map.put(name,addTypes);
-                       }
-               }
-               for(String key : map.keySet()) {
-                       assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key)));
-               }
-       }
+  }
+
+  private void addRelationshipList(StringBuilder sb ) {
+    sb.append("<java-type name=\"RelationshipList\">\n");
+    sb.append("<xml-root-element name=\"relationship-list\" />\n");
+    sb.append("<java-attributes>\n");
+      sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationship\" name=\"relationship\" type=\"inventory.aai.onap.org.v11.Relationship\" />/n");
+    sb.append("</java-attributes>\n");
+  sb.append("</java-type>\n");
+  }
+
+  private void addRelationship(StringBuilder sb ) {
+    sb.append("<java-type name=\"Relationship\">\n");
+    sb.append("<xml-root-element name=\"relationship\" />\n");
+    sb.append("<java-attributes>\n");
+    sb.append("<xml-element java-attribute=\"relatedTo\" name=\"related-to\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate type of node.\" />\n");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element java-attribute=\"relatedLink\" name=\"related-link\" type=\"java.lang.String\">\n");
+    sb.append("<xml-properties>\n");
+    sb.append("<xml-property name=\"description\" value=\"URL to the object in A&amp;AI.\" />");
+    sb.append("</xml-properties>\n");
+    sb.append("</xml-element>\n");
+    sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationshipData\" name=\"relationship-data\" type=\"inventory.aai.onap.org.v11.RelationshipData\" />\n");
+    sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relatedToProperty\" name=\"related-to-property\" type=\"inventory.aai.onap.org.v11.RelatedToProperty\" />\n");
+    sb.append("</java-attributes>\n");
+    sb.append("</java-type>\n");
+  }
+
+  private void addRelatedToProperty(StringBuilder sb) {
+    sb.append("<java-type name=\"RelatedToProperty\">\n");
+    sb.append("<xml-root-element name=\"related-to-property\" />\n");
+    sb.append("<java-attributes>\n");
+      sb.append("<xml-element java-attribute=\"propertyKey\" name=\"property-key\" type=\"java.lang.String\">\n");
+      sb.append("<xml-properties>\n");
+      sb.append("<xml-property name=\"description\" value=\"Key part of a key/value pair\" />\n");
+      sb.append("</xml-properties>\n");
+      sb.append("</xml-element>\n");
+      sb.append("<xml-element java-attribute=\"propertyValue\" name=\"property-value\" type=\"java.lang.String\">\n");
+      sb.append("<xml-properties>\n");
+      sb.append("<xml-property name=\"description\" value=\"Value part of a key/value pair\" />\n");
+      sb.append("</xml-properties>\n");
+      sb.append("</xml-element>\n");
+      sb.append("</java-attributes>\n");
+      sb.append("</java-type>\n");
+  }
+
+  private void addRelationshipData(StringBuilder sb){
+    sb.append("<java-type name=\"RelationshipData\">\n");
+    sb.append("<xml-root-element name=\"relationship-data\" />\n");
+    sb.append("<java-attributes>\n");
+      sb.append("<xml-element java-attribute=\"relationshipKey\" name=\"relationship-key\" required=\"true\" type=\"java.lang.String\">\n");
+      sb.append("<xml-properties>\n");
+      sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate an attribute.\" />\n");
+      sb.append("</xml-properties>\n");
+      sb.append("</xml-element>\n");
+      sb.append("<xml-element java-attribute=\"relationshipValue\" name=\"relationship-value\" required=\"true\" type=\"java.lang.String\">\n");
+      sb.append("<xml-properties>\n");
+      sb.append("<xml-property name=\"description\" value=\"Value of the attribute.\" />\n");
+      sb.append("</xml-properties>\n");
+      sb.append("</xml-element>\n");
+      sb.append("</java-attributes>\n");
+      sb.append("</java-type>\n");
+  }
+
+
+  private void addEndOfXML(StringBuilder sb){
+    sb.append("</java-types>\n");
+    sb.append("</xml-bindings>\n");
+  }
+
+  public void init() throws ParserConfigurationException, SAXException, IOException {
+    DocumentBuilder dBuilder = null;
+    try {
+        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+        dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+        dBuilder = dbFactory.newDocumentBuilder();
+    } catch (ParserConfigurationException e) {
+      throw e;
+    }
+    try {
+      InputSource isInput = new InputSource(new StringReader(testXML));
+      doc = dBuilder.parse(isInput);
+    } catch (SAXException e) {
+      throw e;
+    } catch (IOException e) {
+      throw e;
+    }
+
+      NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
+    Element bindingElement;
+    NodeList javaTypesNodes;
+    Element javaTypesElement;
+
+    if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
+      throw new SAXException("OXM file error: missing <binding-nodes> in XML");
+    }
+
+    bindingElement = (Element) bindingsNodes.item(0);
+    javaTypesNodes = bindingElement.getElementsByTagName("java-types");
+    if ( javaTypesNodes.getLength() < 1 ) {
+      throw new SAXException("OXM file error: missing <binding-nodes><java-types> in XML");
+    }
+    javaTypesElement = (Element) javaTypesNodes.item(0);
+
+    javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
+    if ( javaTypeNodes.getLength() < 1 ) {
+      throw new SAXException("OXM file error: missing <binding-nodes><java-types><java-type> in XML");
+    }
+    logger.debug(testXML);
+  }
+  @Test
+  public void testXSDElement() {
+    // repeat of testGetIndexedProps() which uses the constructor
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("subscriber-name");
+    target.add("global-customer-id");
+    target.add("subscriber-type");
+    target.add("service-type");
+
+    Vector<String> indexedProps = new Vector<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      indexedProps.addAll(javaTypeElement.getIndexedProps());
+    }
+    assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testName() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("ServiceSubscriptions");
+    target.add("ServiceSubscription");
+    target.add("Inventory");
+    target.add("Business");
+    target.add("Customers");
+    target.add("Customer");
+    ArrayList<String> names = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      names.add(javaTypeElement.name());
+    }
+    logger.debug(String.join("|", names));
+    assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testGetAddTypes() {
+    HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+    HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
+    target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList")));
+    target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions")));
+    target.put("Business", new ArrayList<>(Arrays.asList("Customers")));
+    target.put("Inventory", new ArrayList<>(Arrays.asList("Business")));
+    target.put("Customers", new ArrayList<>(Arrays.asList("Customer")));
+    target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList")));
+    target.put("ServiceSubscription", new ArrayList<>(Arrays.asList()));
+    target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription")));
+
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      ArrayList<String> addTypes = new ArrayList<String>();
+      NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+      String name=javaTypeElement.name();
+      for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+        XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+        addTypes.addAll(xmlElement.getAddTypes("v11"));
+        map.put(name,addTypes);
+      }
+    }
+    for(String key : map.keySet()) {
+      assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key)));
+    }
+  }
 /*
-       @Test
-       public void testGetRequiredElements() {
-               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("global-customer-id\n");
-               target.add("subscriber-name\n");
-               target.add("subscriber-type");
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                               ArrayList<String> requiredItems = new ArrayList<String>();
-                               String name=javaTypeElement.name();
-                               requiredItems.addAll(javaTypeElement.getRequiredElements("v11"));
-                               map.put(name,requiredItems);
-               }
-               for(String key : map.keySet()) {
-                       assertThat(map.get(key),equalTo(target));
-               }
-       }
+  @Test
+  public void testGetRequiredElements() {
+    HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("global-customer-id\n");
+    target.add("subscriber-name\n");
+    target.add("subscriber-type");
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+        ArrayList<String> requiredItems = new ArrayList<String>();
+        String name=javaTypeElement.name();
+        requiredItems.addAll(javaTypeElement.getRequiredElements("v11"));
+        map.put(name,requiredItems);
+    }
+    for(String key : map.keySet()) {
+      assertThat(map.get(key),equalTo(target));
+    }
+  }
 */
-       @Test
-       public void testGetPathDescriptionProperty() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("Namespace for business related constructs");
-               target.add("Collection of customer identifiers to provide linkage back to BSS information.");
-               target.add("customer identifiers to provide linkage back to BSS information.");
-               target.add("Collection of objects that group service instances.");
-               target.add("Object that group service instances.");
-               List<String> descs = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getPathDescriptionProperty() != null)
-                               descs.add(javaTypeElement.getPathDescriptionProperty());
-               }
-               logger.debug(String.join("|", descs));
-               assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testGetIndexedProps() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("subscriber-name");
-               target.add("global-customer-id");
-               target.add("subscriber-type");
-               target.add("service-type");
-
-               Vector<String> indexedProps = new Vector<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       indexedProps.addAll(javaTypeElement.getIndexedProps());
-               }
-               assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testGetContainerProperty() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("service-subscriptions");
-               target.add("customers");
-               List<String> containers = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getContainerProperty() != null)
-                               containers.add(javaTypeElement.getContainerProperty());
-               }
-               logger.debug(String.join("|", containers));
-               assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testGetQueryParamYAML() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("        - name: global-customer-id\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
-               target.add("        - name: subscriber-name\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
-               target.add("        - name: subscriber-type\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
-               Vector<String> indexedProps = new Vector<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getContainerProperty() != null) {
-                               indexedProps.addAll(javaTypeElement.getIndexedProps());
-                               String container = javaTypeElement.getContainerProperty();
-                               Vector<String> containerProps = new Vector<String>();
-                               NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
-                               for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
-                                       XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
-                                       if(indexedProps.contains(xmlElement.name()))
-                                               containerProps.add(xmlElement.getQueryParamYAML());
-                               }
-                               GetOperation.addContainerProps(container, containerProps);
-                       }
-               }
+  @Test
+  public void testGetPathDescriptionProperty() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("Namespace for business related constructs");
+    target.add("Collection of customer identifiers to provide linkage back to BSS information.");
+    target.add("customer identifiers to provide linkage back to BSS information.");
+    target.add("Collection of objects that group service instances.");
+    target.add("Object that group service instances.");
+    List<String> descs = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getPathDescriptionProperty() != null)
+        descs.add(javaTypeElement.getPathDescriptionProperty());
+    }
+    logger.debug(String.join("|", descs));
+    assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testGetIndexedProps() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("subscriber-name");
+    target.add("global-customer-id");
+    target.add("subscriber-type");
+    target.add("service-type");
+
+    Vector<String> indexedProps = new Vector<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      indexedProps.addAll(javaTypeElement.getIndexedProps());
+    }
+    assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testGetContainerProperty() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("service-subscriptions");
+    target.add("customers");
+    List<String> containers = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getContainerProperty() != null)
+        containers.add(javaTypeElement.getContainerProperty());
+    }
+    logger.debug(String.join("|", containers));
+    assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testGetQueryParamYAML() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("        - name: global-customer-id\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
+    target.add("        - name: subscriber-name\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
+    target.add("        - name: subscriber-type\n          in: query\n          description: n/a\n          required: false\n          type: string\n");
+    Vector<String> indexedProps = new Vector<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getContainerProperty() != null) {
+        indexedProps.addAll(javaTypeElement.getIndexedProps());
+        String container = javaTypeElement.getContainerProperty();
+        Vector<String> containerProps = new Vector<String>();
+        NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+        for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+          XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+          if(indexedProps.contains(xmlElement.name()))
+            containerProps.add(xmlElement.getQueryParamYAML());
+        }
+        GetOperation.addContainerProps(container, containerProps);
+      }
+    }
 /*
-               List<String> queryParams = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getQueryParamYAML() != null)
-                               queryParams.add(javaTypeElement.getQueryParamYAML());
-               }
+    List<String> queryParams = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getQueryParamYAML() != null)
+        queryParams.add(javaTypeElement.getQueryParamYAML());
+    }
 */
-               assertThat(GetOperation.containers.get("customers"),equalTo( target));
-       }
-
-       @Test
-       public void testGetPathParamYAML() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("        - name: Inventory\n          in: path\n          description: Inventory\n          required: true\n          example: __INVENTORY__\n");
-               target.add("        - name: Business\n          in: path\n          description: Business\n          required: true\n          example: __BUSINESS__\n");
-               target.add("        - name: Customers\n          in: path\n          description: Customers\n          required: true\n          example: __CUSTOMERS__\n");
-               target.add("        - name: Customer\n          in: path\n          description: Customer\n          required: true\n          example: __CUSTOMER__\n");
-               target.add("        - name: ServiceSubscriptions\n          in: path\n          description: ServiceSubscriptions\n          required: true\n          example: __SERVICESUBSCRIPTIONS__\n");
-               target.add("        - name: ServiceSubscription\n          in: path\n          description: ServiceSubscription\n          required: true\n          example: __SERVICESUBSCRIPTION__\n");
-               List<String> pathParams = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null)
-                               pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name()));
-               }
-               logger.debug(String.join("|", pathParams));
-               assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-       }
-
-       @Test
-       public void testGetHTMLAnnotation() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Business\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customers\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customer\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscriptions\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscription\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
-               List<String> annotes = new ArrayList<String>();
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),"")))
-                               annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), "  "));
-               }
-               logger.debug("result:");
-               logger.debug(String.join("|", annotes));
-               logger.debug("Expected:");
-               logger.debug(String.join("|", target));
-               assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-
-       }
-
-       @Test
-       public void testGetTypePropertyYAML() {
-               ArrayList<String> target = new ArrayList<String>();
-               target.add("      Inventory:\n        type: ");
-               target.add("      Business:\n        type:         description: Namespace for business related constructs\n");
-               target.add("      Customers:\n        type:         description: Collection of customer identifiers to provide linkage back to BSS information.\n");
-               target.add("      Customer:\n        type:         description: customer identifiers to provide linkage back to BSS information.\n");
-               target.add("      ServiceSubscriptions:\n        type:         description: Collection of objects that group service instances.\n");
-               target.add("      ServiceSubscription:\n        type:         description: Object that group service instances.\n");
-               StringBuilder sb = new StringBuilder("      Customer:\n        type:         description: |\n          customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("          *This property can be used as a filter to find the start node for a dsl query\n");
-               String yamlDesc = sb.toString();
-               List<String> types = new ArrayList<String>();
-               String container;
-               String customerDesc = null;
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       if(javaTypeElement.getTypePropertyYAML(false) != null)
-                               types.add(javaTypeElement.getTypePropertyYAML(false));
-                       container = javaTypeElement.getContainerProperty();
-                       if ( "customers".equals(container)) {
-                               customerDesc = javaTypeElement.getTypePropertyYAML(true);
-                       }
-               }
-               assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-               assertEquals(customerDesc, yamlDesc );
-       }
-
-       @Test
-       public void testIsStandardType() {
-               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
-               HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
-               target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version")));
-               target.put("Business", new ArrayList<>());
-               target.put("Inventory", new ArrayList<>());
-               target.put("Customers", new ArrayList<>());
-               target.put("ServiceSubscriptions", new ArrayList<>());
-               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version")));
-
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       ArrayList<String> addTypes = new ArrayList<String>();
-                       NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
-                       String name=javaTypeElement.name();
-                       for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
-                               XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
-                               if(xmlElement.isStandardType())
-                                       addTypes.add(xmlElement.name());
-                       }
-                       map.put(name,addTypes);
-               }
-               for(String key : map.keySet()) {
-                       assertThat(map.get(key),equalTo(target.get(key)));
-               }
-       }
+    assertThat(GetOperation.containers.get("customers"),equalTo( target));
+  }
+
+  @Test
+  public void testGetPathParamYAML() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("        - name: Inventory\n          in: path\n          description: Inventory\n          required: true\n          example: __INVENTORY__\n");
+    target.add("        - name: Business\n          in: path\n          description: Business\n          required: true\n          example: __BUSINESS__\n");
+    target.add("        - name: Customers\n          in: path\n          description: Customers\n          required: true\n          example: __CUSTOMERS__\n");
+    target.add("        - name: Customer\n          in: path\n          description: Customer\n          required: true\n          example: __CUSTOMER__\n");
+    target.add("        - name: ServiceSubscriptions\n          in: path\n          description: ServiceSubscriptions\n          required: true\n          example: __SERVICESUBSCRIPTIONS__\n");
+    target.add("        - name: ServiceSubscription\n          in: path\n          description: ServiceSubscription\n          required: true\n          example: __SERVICESUBSCRIPTION__\n");
+    List<String> pathParams = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null)
+        pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name()));
+    }
+    logger.debug(String.join("|", pathParams));
+    assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+  }
+
+  @Test
+  public void testGetHTMLAnnotation() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Business\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customers\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customer\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscriptions\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscription\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+    List<String> annotes = new ArrayList<String>();
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),"")))
+        annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), "  "));
+    }
+    logger.debug("result:");
+    logger.debug(String.join("|", annotes));
+    logger.debug("Expected:");
+    logger.debug(String.join("|", target));
+    assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+
+  }
+
+  @Test
+  public void testGetTypePropertyYAML() {
+    ArrayList<String> target = new ArrayList<String>();
+    target.add("      Inventory:\n        type: ");
+    target.add("      Business:\n        type:         description: Namespace for business related constructs\n");
+    target.add("      Customers:\n        type:         description: Collection of customer identifiers to provide linkage back to BSS information.\n");
+    target.add("      Customer:\n        type:         description: customer identifiers to provide linkage back to BSS information.\n");
+    target.add("      ServiceSubscriptions:\n        type:         description: Collection of objects that group service instances.\n");
+    target.add("      ServiceSubscription:\n        type:         description: Object that group service instances.\n");
+    StringBuilder sb = new StringBuilder("      Customer:\n        type:         description: |\n          customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("          *This property can be used as a filter to find the start node for a dsl query\n");
+    String yamlDesc = sb.toString();
+    List<String> types = new ArrayList<String>();
+    String container;
+    String customerDesc = null;
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      if(javaTypeElement.getTypePropertyYAML(false) != null)
+        types.add(javaTypeElement.getTypePropertyYAML(false));
+      container = javaTypeElement.getContainerProperty();
+      if ( "customers".equals(container)) {
+        customerDesc = javaTypeElement.getTypePropertyYAML(true);
+      }
+    }
+    assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+    assertEquals(customerDesc, yamlDesc );
+  }
+
+  @Test
+  public void testIsStandardType() {
+    HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+    HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
+    target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version")));
+    target.put("Business", new ArrayList<>());
+    target.put("Inventory", new ArrayList<>());
+    target.put("Customers", new ArrayList<>());
+    target.put("ServiceSubscriptions", new ArrayList<>());
+    target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version")));
+
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      ArrayList<String> addTypes = new ArrayList<String>();
+      NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+      String name=javaTypeElement.name();
+      for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+        XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+        if(xmlElement.isStandardType())
+          addTypes.add(xmlElement.name());
+      }
+      map.put(name,addTypes);
+    }
+    for(String key : map.keySet()) {
+      assertThat(map.get(key),equalTo(target.get(key)));
+    }
+  }
 
 
 }
index 556a281..b961524 100644 (file)
@@ -30,72 +30,72 @@ import static org.junit.Assert.assertThat;
 
 public class XSDJavaTypeTest extends XSDElementTest {
 
-       @Before
-       public void setUp() throws Exception {
-               super.setUp();
-       }
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+  }
 
-       @Test
-       public void testXSDJavaTypeElement() {
-               HashMap<String,String> map = new HashMap<String,String>();
-               HashMap<String,String> target = new HashMap<String,String>();
-               target.put("Customer", "global-customer-id");
-               target.put("Business", "customers");
-               target.put("Inventory", "business");
-               target.put("Customers","customer");
-               target.put("ServiceSubscriptions", "service-subscription");
-               target.put("ServiceSubscription", "service-type");
+  @Test
+  public void testXSDJavaTypeElement() {
+    HashMap<String,String> map = new HashMap<String,String>();
+    HashMap<String,String> target = new HashMap<String,String>();
+    target.put("Customer", "global-customer-id");
+    target.put("Business", "customers");
+    target.put("Inventory", "business");
+    target.put("Customers","customer");
+    target.put("ServiceSubscriptions", "service-subscription");
+    target.put("ServiceSubscription", "service-type");
 
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
-                       map.put(javaType.name(),javaType.getItemName());
-               }
-               for(String key : map.keySet()) {
-                       assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
-               }
-       }
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+      map.put(javaType.name(),javaType.getItemName());
+    }
+    for(String key : map.keySet()) {
+      assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
+    }
+  }
 
-       @Test
-       public void testGetItemName() {
-               HashMap<String,String> map = new HashMap<String,String>();
-               HashMap<String,String> target = new HashMap<String,String>();
-               target.put("Customer", "global-customer-id");
-               target.put("Business", "customers");
-               target.put("Inventory", "business");
-               target.put("Customers","customer");
-               target.put("ServiceSubscriptions", "service-subscription");
-               target.put("ServiceSubscription", "service-type");
+  @Test
+  public void testGetItemName() {
+    HashMap<String,String> map = new HashMap<String,String>();
+    HashMap<String,String> target = new HashMap<String,String>();
+    target.put("Customer", "global-customer-id");
+    target.put("Business", "customers");
+    target.put("Inventory", "business");
+    target.put("Customers","customer");
+    target.put("ServiceSubscriptions", "service-subscription");
+    target.put("ServiceSubscription", "service-type");
 
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
-                       map.put(javaType.name(),javaType.getItemName());
-               }
-               for(String key : map.keySet()) {
-                       assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
-               }
-       }
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+      map.put(javaType.name(),javaType.getItemName());
+    }
+    for(String key : map.keySet()) {
+      assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
+    }
+  }
 
-       @Test
-       public void testGetArrayType() {
-               HashMap<String,String> map = new HashMap<String,String>();
-               HashMap<String,String> target = new HashMap<String,String>();
-               target.put("Customer", null);
-               target.put("Business", null);
-               target.put("Inventory", null);
-               target.put("Customers","customer");
-               target.put("ServiceSubscriptions", "service-subscription");
-               target.put("ServiceSubscription", null);
+  @Test
+  public void testGetArrayType() {
+    HashMap<String,String> map = new HashMap<String,String>();
+    HashMap<String,String> target = new HashMap<String,String>();
+    target.put("Customer", null);
+    target.put("Business", null);
+    target.put("Inventory", null);
+    target.put("Customers","customer");
+    target.put("ServiceSubscriptions", "service-subscription");
+    target.put("ServiceSubscription", null);
 
-               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
-                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
-                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
-                       map.put(javaType.name(),javaType.getArrayType());
-               }
-               for(String key : map.keySet()) {
-                       assertThat(map.get(key),equalTo(target.get(key)));
-               }
-       }
+    for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+      XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+      XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+      map.put(javaType.name(),javaType.getArrayType());
+    }
+    for(String key : map.keySet()) {
+      assertThat(map.get(key),equalTo(target.get(key)));
+    }
+  }
 
 }
index ad4f055..06653c8 100644 (file)
@@ -62,783 +62,783 @@ import static org.junit.Assert.assertTrue;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = {
-               SchemaVersions.class,
+    SchemaVersions.class,
         SchemaLocationsBean.class,
         TestUtilConfigTranslatorforBusiness.class,
         SchemaVersions.class,
         EdgeIngestor.class,
         NodeIngestor.class,
-               SwaggerGenerationConfiguration.class
+    SwaggerGenerationConfiguration.class
 
 })
 @TestPropertySource(properties = {
-               "schema.uri.base.path = /aai",
-               "schema.xsd.maxoccurs = 5000"
+    "schema.uri.base.path = /aai",
+    "schema.xsd.maxoccurs = 5000"
 })
 public class YAMLfromOXMTest {
-       @Autowired
+  @Autowired
     EdgeIngestor edgeIngestor;
 
-       @Autowired
+  @Autowired
     NodeIngestor nodeIngestor;
-       private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class");
-       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
-       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
-       public static AnnotationConfigApplicationContext ctx = null;
-       private static String testXML;
-       protected static final String SERVICE_NAME = "JUNIT";
+  private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class");
+  private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+  private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+  public static AnnotationConfigApplicationContext ctx = null;
+  private static String testXML;
+  protected static final String SERVICE_NAME = "JUNIT";
     boolean first = true;
 
     @Autowired
-       YAMLfromOXM yamlFromOxm;
+  YAMLfromOXM yamlFromOxm;
 
     @Autowired
     SchemaVersions schemaVersions;
 
-       @BeforeClass
-       public static void setUpBeforeClass() throws Exception {
-                System.setProperty("AJSC_HOME", ".");
-               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
-               System.setProperty("aai.service.name", SERVICE_NAME);
-       }
-       
-       
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception {
+     System.setProperty("AJSC_HOME", ".");
+          System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+          System.setProperty("aai.service.name", SERVICE_NAME);
+  }
+  
+  
 
-       @Before
-       public void setUp() throws Exception {
+  @Before
+  public void setUp() throws Exception {
         XSDElementTest x = new XSDElementTest();
-               x.setUp();
-               testXML = x.testXML;
-               logger.debug(testXML);
-               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
-               bw.write(testXML);
-               bw.close();
-               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw1.write(EdgeDefs());
-               bw1.close();
+    x.setUp();
+    testXML = x.testXML;
+    logger.debug(testXML);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+    bw.write(testXML);
+    bw.close();
+    BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw1.write(EdgeDefs());
+    bw1.close();
     }
-       
-       public void setupRelationship() throws Exception{
+  
+  public void setupRelationship() throws Exception{
         XSDElementTest x = new XSDElementTest();
 
-               x.setUpRelationship();
+    x.setUpRelationship();
 
-               testXML = x.testXML;
-               logger.debug(testXML);
-               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+    testXML = x.testXML;
+    logger.debug(testXML);
+    BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
 
-               bw.write(testXML);
+    bw.write(testXML);
 
-               bw.close();
-               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
-               bw1.write(EdgeDefs());
-               bw1.close();
-       }
+    bw.close();
+    BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+    bw1.write(EdgeDefs());
+    bw1.close();
+  }
 
-       @Test
-       public void AtestIngestors() throws EdgeRuleNotFoundException {
-               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion());
-               SortedSet<String> ss=new TreeSet<String>(results.keySet());
-               for(String key : ss) {
-                       results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } );
-               }
-               Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion());
-               assertNotNull(doc);
-       }
+  @Test
+  public void AtestIngestors() throws EdgeRuleNotFoundException {
+    Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion());
+    SortedSet<String> ss=new TreeSet<String>(results.keySet());
+    for(String key : ss) {
+      results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } );
+    }
+    Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion());
+    assertNotNull(doc);
+  }
 
-       @Test
-       public void testGetDocumentHeader() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String header = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       yamlFromOxm.process();
-                       header = yamlFromOxm.getDocumentHeader();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Header:\n"+header,header, is(YAMLheader()));
-       }
+  @Test
+  public void testGetDocumentHeader() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String header = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      yamlFromOxm.process();
+      header = yamlFromOxm.getDocumentHeader();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Header:\n"+header,header, is(YAMLheader()));
+  }
 
-       @Test
-       public void testProcess() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = yamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult()));
-       }
+  @Test
+  public void testProcess() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = yamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult()));
+  }
 
-       @Test
-       public void testYAMLfromOXMFileVersionFile() throws IOException {
-               String outfileName = "testXML.xml";
-               File XMLfile = new File(outfileName);
-               XMLfile.createNewFile();
-               BufferedWriter bw = null;
-               Charset charset = Charset.forName("UTF-8");
-               Path path = Paths.get(outfileName);
-               bw = Files.newBufferedWriter(path, charset);
-               bw.write(testXML);
-               bw.close();
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = yamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               XMLfile.delete();
-               assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
-        }
+  @Test
+  public void testYAMLfromOXMFileVersionFile() throws IOException {
+    String outfileName = "testXML.xml";
+    File XMLfile = new File(outfileName);
+    XMLfile.createNewFile();
+    BufferedWriter bw = null;
+    Charset charset = Charset.forName("UTF-8");
+    Path path = Paths.get(outfileName);
+    bw = Files.newBufferedWriter(path, charset);
+    bw.write(testXML);
+    bw.close();
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = yamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    XMLfile.delete();
+    assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
+   }
 
-       @Test
-       public void testYAMLfromOXMStringVersionFile() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = yamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
-       }
-       
-       @Test
-       public void testRelationshipListYAMLfromOXMStringVersionFile() {
-               try {
-                       setupRelationship();
-               } catch (Exception e1) {
-                       // TODO Auto-generated catch block
-                       e1.printStackTrace();
-               }
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String fileContent = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       fileContent = yamlFromOxm.process();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               boolean matchFound = fileContent.contains(( YAMLRelationshipList()));
-               assertTrue("RelationshipListFormat:\n", matchFound);
-       }
+  @Test
+  public void testYAMLfromOXMStringVersionFile() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = yamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
+  }
+  
+  @Test
+  public void testRelationshipListYAMLfromOXMStringVersionFile() {
+    try {
+      setupRelationship();
+    } catch (Exception e1) {
+      // TODO Auto-generated catch block
+      e1.printStackTrace();
+    }
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String fileContent = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      fileContent = yamlFromOxm.process();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    boolean matchFound = fileContent.contains(( YAMLRelationshipList()));
+    assertTrue("RelationshipListFormat:\n", matchFound);
+  }
 
-       @Test
-       public void testAppendDefinitions() {
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String definitions = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       yamlFromOxm.process();
-                       definitions = yamlFromOxm.appendDefinitions();
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLdefsAddPatch()));
-       }
+  @Test
+  public void testAppendDefinitions() {
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String definitions = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      yamlFromOxm.process();
+      definitions = yamlFromOxm.appendDefinitions();
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLdefsAddPatch()));
+  }
 
-       @Test
-       public void testGetXMLRootElementName() {
-               String target = "RootElement=customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               Element customer = null;
-               String root = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       yamlFromOxm.process();
-                       customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
-                       root = yamlFromOxm.getXMLRootElementName(customer);
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("RootElement="+root, is(target));
-       }
+  @Test
+  public void testGetXMLRootElementName() {
+    String target = "RootElement=customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    Element customer = null;
+    String root = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      yamlFromOxm.process();
+      customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+      root = yamlFromOxm.getXMLRootElementName(customer);
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("RootElement="+root, is(target));
+  }
 
-       @Test
-       public void testGetXmlRootElementName() {
-               String target = "RootElement=customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               String root = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       yamlFromOxm.process();
-                       root = yamlFromOxm.getXmlRootElementName("Customer");
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("RootElement="+root, is(target));
-       }
+  @Test
+  public void testGetXmlRootElementName() {
+    String target = "RootElement=customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    String root = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      yamlFromOxm.process();
+      root = yamlFromOxm.getXmlRootElementName("Customer");
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("RootElement="+root, is(target));
+  }
 
-       @Test
-       public void testGetJavaTypeElementSwagger() {
-               String target = "Element=java-type/Customer";
-               SchemaVersion v = schemaVersions.getAppRootVersion();
-               String apiVersion = v.toString();
-               Element customer = null;
-               try {
-                       yamlFromOxm.setXmlVersion(testXML, v);
-                       yamlFromOxm.process();
-                       customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
-               } catch(Exception e) {
-                       e.printStackTrace();
-               }
-               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
-       }
+  @Test
+  public void testGetJavaTypeElementSwagger() {
+    String target = "Element=java-type/Customer";
+    SchemaVersion v = schemaVersions.getAppRootVersion();
+    String apiVersion = v.toString();
+    Element customer = null;
+    try {
+      yamlFromOxm.setXmlVersion(testXML, v);
+      yamlFromOxm.process();
+      customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+    } catch(Exception e) {
+      e.printStackTrace();
+    }
+    assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
+  }
 
-       public String YAMLresult() {
-               StringBuilder sb = new StringBuilder(32368);
-               sb.append(YAMLheader());
-               sb.append(YAMLops());
-               sb.append(YAMLdefs());
-               sb.append(YAMLdefsAddPatch());
-               return sb.toString();
-       }
-       public String YAMLheader() {
-               StringBuilder sb = new StringBuilder(1500);
-               sb.append("swagger: \"2.0\"\n");
-               sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  description: |\n");
-               sb.append("\n");
-               sb.append("    [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               sb.append("    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               sb.append("    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               sb.append("    You may obtain a copy of the License at\n");
-               sb.append("\n");
-               sb.append("    (https://creativecommons.org/licenses/by/4.0/)"+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               sb.append("    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
-               sb.append("    This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  license:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    name: Apache 2.0\n");
-               sb.append("    url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  contact:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    name: n/a" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    url: n/a" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    email: n/a" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  - https\n");
-               sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
-               return sb.toString();
-       }
+  public String YAMLresult() {
+    StringBuilder sb = new StringBuilder(32368);
+    sb.append(YAMLheader());
+    sb.append(YAMLops());
+    sb.append(YAMLdefs());
+    sb.append(YAMLdefsAddPatch());
+    return sb.toString();
+  }
+  public String YAMLheader() {
+    StringBuilder sb = new StringBuilder(1500);
+    sb.append("swagger: \"2.0\"\n");
+    sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  description: |\n");
+    sb.append("\n");
+    sb.append("    [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    sb.append("    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    sb.append("    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    sb.append("    You may obtain a copy of the License at\n");
+    sb.append("\n");
+    sb.append("    (https://creativecommons.org/licenses/by/4.0/)"+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    sb.append("    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+    sb.append("    This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  license:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    name: Apache 2.0\n");
+    sb.append("    url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  contact:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    name: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    url: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    email: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  - https\n");
+    sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
+    return sb.toString();
+  }
 
-       public String YAMLops() {
-               StringBuilder sb = new StringBuilder(16384);
-               sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: returns service-subscription\n");
-               sb.append("      description: returns service-subscription\n");
-               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/service-subscription\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Value defined by orchestration to identify this service.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __SERVICE-TYPE__\n");
-               sb.append("    put:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: create or update an existing service-subscription\n");
-               sb.append("      description: |\n");
-               sb.append("        Create or update an existing service-subscription.\n");
-               sb.append("        #\n");
-               sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
-               sb.append("      operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Value defined by orchestration to identify this service.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __SERVICE-TYPE__\n");
-               sb.append("        - name: body\n");
-               sb.append("          in: body\n");
-               sb.append("          description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
-               sb.append("          required: true\n");
-               sb.append("          schema:\n");
-               sb.append("            $ref: \"#/definitions/service-subscription\"\n");
-               sb.append("    patch:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: update an existing service-subscription\n");
-               sb.append("      description: |\n");
-               sb.append("        Update an existing service-subscription\n");
-               sb.append("        #\n");
-               sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
-               sb.append("        The PUT operation will entirely replace an existing object.\n");
-               sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
-               sb.append("        #\n");
-               sb.append("        Other differences between PUT and PATCH are:\n");
-               sb.append("        #\n");
-               sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
-               sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
-               sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
-               sb.append("      operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Value defined by orchestration to identify this service.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __SERVICE-TYPE__\n");
-               sb.append("        - name: body\n");
-               sb.append("          in: body\n");
-               sb.append("          description: service-subscription object that needs to be updated.");
-               sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
-               sb.append("          required: true\n");
-               sb.append("          schema:\n");
-               sb.append("            $ref: \"#/definitions/zzzz-patch-service-subscription\"\n");
-               sb.append("    delete:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: delete an existing service-subscription\n");
-               sb.append("      description: delete an existing service-subscription\n");
-               sb.append("      operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Value defined by orchestration to identify this service.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __SERVICE-TYPE__\n");
-               sb.append("        - name: resource-version\n");
-               sb.append("          in: query\n");
-               sb.append("          description: resource-version for concurrency\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: returns service-subscriptions\n");
-               sb.append("      description: returns service-subscriptions\n");
-               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/service-subscriptions\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: service-type\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("  /business/customers/customer/{global-customer-id}:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: returns customer\n");
-               sb.append("      description: returns customer\n");
-               sb.append("      operationId: getBusinessCustomersCustomer\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/customer\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("    put:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: create or update an existing customer\n");
-               sb.append("      description: |\n");
-               sb.append("        Create or update an existing customer.\n");
-               sb.append("        #\n");
-               sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
-               sb.append("      operationId: createOrUpdateBusinessCustomersCustomer\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: body\n");
-               sb.append("          in: body\n");
-               sb.append("          description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
-               sb.append("          required: true\n");
-               sb.append("          schema:\n");
-               sb.append("            $ref: \"#/definitions/customer\"\n");
-               sb.append("    patch:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: update an existing customer\n");
-               sb.append("      description: |\n");
-               sb.append("        Update an existing customer\n");
-               sb.append("        #\n");
-               sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
-               sb.append("        The PUT operation will entirely replace an existing object.\n");
-               sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
-               sb.append("        #\n");
-               sb.append("        Other differences between PUT and PATCH are:\n");
-               sb.append("        #\n");
-               sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
-               sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
-               sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
-               sb.append("      operationId: UpdateBusinessCustomersCustomer\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: body\n");
-               sb.append("          in: body\n");
-               sb.append("          description: customer object that needs to be updated.");
-               sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
-               sb.append("          required: true\n");
-               sb.append("          schema:\n");
-               sb.append("            $ref: \"#/definitions/zzzz-patch-customer\"\n");
-               sb.append("    delete:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: delete an existing customer\n");
-               sb.append("      description: delete an existing customer\n");
-               sb.append("      operationId: deleteBusinessCustomersCustomer\n");
-               sb.append("      consumes:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: path\n");
-               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
-               sb.append("        - name: resource-version\n");
-               sb.append("          in: query\n");
-               sb.append("          description: resource-version for concurrency\n");
-               sb.append("          required: true\n");
-               sb.append("          type: string\n");
-               sb.append("  /business/customers:\n");
-               sb.append("    get:\n");
-               sb.append("      tags:\n");
-               sb.append("        - Business\n");
-               sb.append("      summary: returns customers\n");
-               sb.append("      description: returns customers\n");
-               sb.append("      operationId: getBusinessCustomers\n");
-               sb.append("      produces:\n");
-               sb.append("        - application/json\n");
-               sb.append("        - application/xml\n");
-               sb.append("      responses:\n");
-               sb.append("        \"200\":\n");
-               sb.append("          description: successful operation\n");
-               sb.append("          schema:\n");
-               sb.append("              $ref: \"#/definitions/customers\"\n");
-               sb.append("        \"default\":\n");
-               sb.append("          null      parameters:\n");
-               sb.append("        - name: global-customer-id\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("        - name: subscriber-name\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               sb.append("        - name: subscriber-type\n");
-               sb.append("          in: query\n");
-               sb.append("          description: n/a\n");
-               sb.append("          required: false\n");
-               sb.append("          type: string\n");
-               return sb.toString();
-       }
-       public String YAMLdefs() {
-               StringBuilder sb = new StringBuilder(8092);
-               sb.append("definitions:\n");
-               sb.append("  business:\n");
-               sb.append("    description: |\n");
-               sb.append("      Namespace for business related constructs\n");
-               sb.append("    properties:\n");
-               sb.append("      customers:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:\n");
-               sb.append("          $ref: \"#/definitions/customer\"\n");
-               sb.append("  customer:\n");
-               sb.append("    description: |\n");
-               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
-               sb.append("    required:\n");
-               sb.append("    - global-customer-id\n");
-               sb.append("    - subscriber-name\n");
-               sb.append("    - subscriber-type\n");
-               sb.append("    properties:\n");
-               sb.append("      global-customer-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("      subscriber-name:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
-               sb.append("      subscriber-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
-               sb.append("      resource-version:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
-               sb.append("      service-subscriptions:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:\n");
-               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
-               sb.append("  customers:\n");
-               sb.append("    description: |\n");
-               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("    properties:\n");
-               sb.append("      customer:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:          \n");
-               sb.append("          $ref: \"#/definitions/customer\"\n");
-               sb.append("  inventory:\n");
-               sb.append("    properties:\n");
-               sb.append("      business:\n");
-               sb.append("        type: object\n");
-               sb.append("        $ref: \"#/definitions/business\"\n");
-               sb.append("  nodes:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("    properties:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("      inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        type: array" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("        items:" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("          $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
-               sb.append("  service-subscription:\n");
-               sb.append("    description: |\n");
-               sb.append("      Object that group service instances.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
-               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
-               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
-               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
-               sb.append("    required:\n");
-               sb.append("    - service-type\n");
-               sb.append("    properties:\n");
-               sb.append("      service-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Value defined by orchestration to identify this service.\n");
-               sb.append("      temp-ub-sub-account-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
-               sb.append("      resource-version:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
-               sb.append("  service-subscriptions:\n");
-               sb.append("    description: |\n");
-               sb.append("      Collection of objects that group service instances.\n");
-               sb.append("    properties:\n");
-               sb.append("      service-subscription:\n");
-               sb.append("        type: array\n");
-               sb.append("        items:          \n");
-               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
-               return sb.toString();
-       }
-       public String YAMLdefsAddPatch() {
-               StringBuilder sb = new StringBuilder(8092);
-               sb.append("  zzzz-patch-customer:\n");
-               sb.append("    description: |\n");
-               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
-               sb.append("    properties:\n");
-               sb.append("      global-customer-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
-               sb.append("      subscriber-name:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
-               sb.append("      subscriber-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
-               sb.append("  zzzz-patch-service-subscription:\n");
-               sb.append("    description: |\n");
-               sb.append("      Object that group service instances.\n");
-               sb.append("      ###### Related Nodes\n");
-               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
-               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
-               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
-               sb.append("\n");
-               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
-               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
-               sb.append("    properties:\n");
-               sb.append("      service-type:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: Value defined by orchestration to identify this service.\n");
-               sb.append("      temp-ub-sub-account-id:\n");
-               sb.append("        type: string\n");
-               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
-               return sb.toString();
-       }
-       
-       public String YAMLRelationshipList() {
-               StringBuilder sb = new StringBuilder(8092);
-               sb.append("  relationship-list:\n");
-               sb.append("    properties:\n");
-               sb.append("      relationship:\n");
-               sb.append("        type: object\n");
-               sb.append("        $ref: \"#/definitions/relationship\"\n");
-               return sb.toString();
-       }
-       
-       public static String EdgeDefs() {
-               StringBuilder sb = new StringBuilder(8092);
-               sb.append("{\n" +
-                               "       \"rules\": [\n");
-               sb.append("             {\n");
-               sb.append("                     \"from\": \"service-subscription\",\n");
-               sb.append("                     \"to\": \"customer\",\n" +
-                               "                       \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
-                               "                       \"direction\": \"OUT\",\n" +
-                               "                       \"multiplicity\": \"MANY2ONE\",\n" +
-                               "                       \"contains-other-v\": \"!${direction}\",\n" +
-                               "                       \"delete-other-v\": \"!${direction}\",\n" +
-                               "                       \"prevent-delete\": \"NONE\",\n" +
-                               "                       \"default\": \"true\",\n" +
-                               "                       \"description\":\"\"\n");
-               sb.append("             },\n");
-               sb.append("             {\n" +
-                               "                       \"from\": \"service-instance\",\n" +
-                               "                       \"to\": \"service-subscription\",\n" +
-                               "                       \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
-                               "                       \"direction\": \"OUT\",\n" +
-                               "                       \"multiplicity\": \"MANY2ONE\",\n" +
-                               "                       \"contains-other-v\": \"!${direction}\",\n" +
-                               "                       \"delete-other-v\": \"!${direction}\",\n" +
-                               "                       \"prevent-delete\": \"NONE\",\n" +
-                               "                       \"default\": \"true\",\n" +
-                               "                       \"description\":\"\"\n" +
-                               "               },\n");
-               sb.append("             {\n" +
-                               "                       \"from\": \"service-subscription\",\n" +
-                               "                       \"to\": \"tenant\",\n" +
-                               "                       \"label\": \"org.onap.relationships.inventory.Uses\",\n" +
-                               "                       \"direction\": \"OUT\",\n" +
-                               "                       \"multiplicity\": \"MANY2MANY\",\n" +
-                               "                       \"contains-other-v\": \"NONE\",\n" +
-                               "                       \"delete-other-v\": \"NONE\",\n" +
-                               "                       \"prevent-delete\": \"NONE\",\n" +
-                               "                       \"default\": \"true\",\n" +
-                               "                       \"description\":\"\"\n" +
-                               "               }");
-               sb.append("     ]\n" +
-                               "}\n");
-               return sb.toString();
-       }
+  public String YAMLops() {
+    StringBuilder sb = new StringBuilder(16384);
+    sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: returns service-subscription\n");
+    sb.append("      description: returns service-subscription\n");
+    sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/service-subscription\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Value defined by orchestration to identify this service.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __SERVICE-TYPE__\n");
+    sb.append("    put:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: create or update an existing service-subscription\n");
+    sb.append("      description: |\n");
+    sb.append("        Create or update an existing service-subscription.\n");
+    sb.append("        #\n");
+    sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
+    sb.append("      operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Value defined by orchestration to identify this service.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __SERVICE-TYPE__\n");
+    sb.append("        - name: body\n");
+    sb.append("          in: body\n");
+    sb.append("          description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
+    sb.append("          required: true\n");
+    sb.append("          schema:\n");
+    sb.append("            $ref: \"#/definitions/service-subscription\"\n");
+    sb.append("    patch:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: update an existing service-subscription\n");
+    sb.append("      description: |\n");
+    sb.append("        Update an existing service-subscription\n");
+    sb.append("        #\n");
+    sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+    sb.append("        The PUT operation will entirely replace an existing object.\n");
+    sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
+    sb.append("        #\n");
+    sb.append("        Other differences between PUT and PATCH are:\n");
+    sb.append("        #\n");
+    sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
+    sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+    sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+    sb.append("      operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Value defined by orchestration to identify this service.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __SERVICE-TYPE__\n");
+    sb.append("        - name: body\n");
+    sb.append("          in: body\n");
+    sb.append("          description: service-subscription object that needs to be updated.");
+    sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
+    sb.append("          required: true\n");
+    sb.append("          schema:\n");
+    sb.append("            $ref: \"#/definitions/zzzz-patch-service-subscription\"\n");
+    sb.append("    delete:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: delete an existing service-subscription\n");
+    sb.append("      description: delete an existing service-subscription\n");
+    sb.append("      operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Value defined by orchestration to identify this service.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __SERVICE-TYPE__\n");
+    sb.append("        - name: resource-version\n");
+    sb.append("          in: query\n");
+    sb.append("          description: resource-version for concurrency\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: returns service-subscriptions\n");
+    sb.append("      description: returns service-subscriptions\n");
+    sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/service-subscriptions\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: service-type\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("  /business/customers/customer/{global-customer-id}:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: returns customer\n");
+    sb.append("      description: returns customer\n");
+    sb.append("      operationId: getBusinessCustomersCustomer\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/customer\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("    put:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: create or update an existing customer\n");
+    sb.append("      description: |\n");
+    sb.append("        Create or update an existing customer.\n");
+    sb.append("        #\n");
+    sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
+    sb.append("      operationId: createOrUpdateBusinessCustomersCustomer\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: body\n");
+    sb.append("          in: body\n");
+    sb.append("          description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
+    sb.append("          required: true\n");
+    sb.append("          schema:\n");
+    sb.append("            $ref: \"#/definitions/customer\"\n");
+    sb.append("    patch:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: update an existing customer\n");
+    sb.append("      description: |\n");
+    sb.append("        Update an existing customer\n");
+    sb.append("        #\n");
+    sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+    sb.append("        The PUT operation will entirely replace an existing object.\n");
+    sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
+    sb.append("        #\n");
+    sb.append("        Other differences between PUT and PATCH are:\n");
+    sb.append("        #\n");
+    sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
+    sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+    sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+    sb.append("      operationId: UpdateBusinessCustomersCustomer\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: body\n");
+    sb.append("          in: body\n");
+    sb.append("          description: customer object that needs to be updated.");
+    sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
+    sb.append("          required: true\n");
+    sb.append("          schema:\n");
+    sb.append("            $ref: \"#/definitions/zzzz-patch-customer\"\n");
+    sb.append("    delete:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: delete an existing customer\n");
+    sb.append("      description: delete an existing customer\n");
+    sb.append("      operationId: deleteBusinessCustomersCustomer\n");
+    sb.append("      consumes:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: path\n");
+    sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+    sb.append("        - name: resource-version\n");
+    sb.append("          in: query\n");
+    sb.append("          description: resource-version for concurrency\n");
+    sb.append("          required: true\n");
+    sb.append("          type: string\n");
+    sb.append("  /business/customers:\n");
+    sb.append("    get:\n");
+    sb.append("      tags:\n");
+    sb.append("        - Business\n");
+    sb.append("      summary: returns customers\n");
+    sb.append("      description: returns customers\n");
+    sb.append("      operationId: getBusinessCustomers\n");
+    sb.append("      produces:\n");
+    sb.append("        - application/json\n");
+    sb.append("        - application/xml\n");
+    sb.append("      responses:\n");
+    sb.append("        \"200\":\n");
+    sb.append("          description: successful operation\n");
+    sb.append("          schema:\n");
+    sb.append("              $ref: \"#/definitions/customers\"\n");
+    sb.append("        \"default\":\n");
+    sb.append("          null      parameters:\n");
+    sb.append("        - name: global-customer-id\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("        - name: subscriber-name\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    sb.append("        - name: subscriber-type\n");
+    sb.append("          in: query\n");
+    sb.append("          description: n/a\n");
+    sb.append("          required: false\n");
+    sb.append("          type: string\n");
+    return sb.toString();
+  }
+  public String YAMLdefs() {
+    StringBuilder sb = new StringBuilder(8092);
+    sb.append("definitions:\n");
+    sb.append("  business:\n");
+    sb.append("    description: |\n");
+    sb.append("      Namespace for business related constructs\n");
+    sb.append("    properties:\n");
+    sb.append("      customers:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:\n");
+    sb.append("          $ref: \"#/definitions/customer\"\n");
+    sb.append("  customer:\n");
+    sb.append("    description: |\n");
+    sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+    sb.append("    required:\n");
+    sb.append("    - global-customer-id\n");
+    sb.append("    - subscriber-name\n");
+    sb.append("    - subscriber-type\n");
+    sb.append("    properties:\n");
+    sb.append("      global-customer-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("      subscriber-name:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+    sb.append("      subscriber-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+    sb.append("      resource-version:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+    sb.append("      service-subscriptions:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:\n");
+    sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+    sb.append("  customers:\n");
+    sb.append("    description: |\n");
+    sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("    properties:\n");
+    sb.append("      customer:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:          \n");
+    sb.append("          $ref: \"#/definitions/customer\"\n");
+    sb.append("  inventory:\n");
+    sb.append("    properties:\n");
+    sb.append("      business:\n");
+    sb.append("        type: object\n");
+    sb.append("        $ref: \"#/definitions/business\"\n");
+    sb.append("  nodes:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("    properties:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("      inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        type: array" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("        items:" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("          $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
+    sb.append("  service-subscription:\n");
+    sb.append("    description: |\n");
+    sb.append("      Object that group service instances.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+    sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+    sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+    sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+    sb.append("    required:\n");
+    sb.append("    - service-type\n");
+    sb.append("    properties:\n");
+    sb.append("      service-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Value defined by orchestration to identify this service.\n");
+    sb.append("      temp-ub-sub-account-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+    sb.append("      resource-version:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+    sb.append("  service-subscriptions:\n");
+    sb.append("    description: |\n");
+    sb.append("      Collection of objects that group service instances.\n");
+    sb.append("    properties:\n");
+    sb.append("      service-subscription:\n");
+    sb.append("        type: array\n");
+    sb.append("        items:          \n");
+    sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+    return sb.toString();
+  }
+  public String YAMLdefsAddPatch() {
+    StringBuilder sb = new StringBuilder(8092);
+    sb.append("  zzzz-patch-customer:\n");
+    sb.append("    description: |\n");
+    sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+    sb.append("    properties:\n");
+    sb.append("      global-customer-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+    sb.append("      subscriber-name:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+    sb.append("      subscriber-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+    sb.append("  zzzz-patch-service-subscription:\n");
+    sb.append("    description: |\n");
+    sb.append("      Object that group service instances.\n");
+    sb.append("      ###### Related Nodes\n");
+    sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+    sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+    sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+    sb.append("\n");
+    sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+    sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+    sb.append("    properties:\n");
+    sb.append("      service-type:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: Value defined by orchestration to identify this service.\n");
+    sb.append("      temp-ub-sub-account-id:\n");
+    sb.append("        type: string\n");
+    sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+    return sb.toString();
+  }
+  
+  public String YAMLRelationshipList() {
+    StringBuilder sb = new StringBuilder(8092);
+    sb.append("  relationship-list:\n");
+    sb.append("    properties:\n");
+    sb.append("      relationship:\n");
+    sb.append("        type: object\n");
+    sb.append("        $ref: \"#/definitions/relationship\"\n");
+    return sb.toString();
+  }
+  
+  public static String EdgeDefs() {
+    StringBuilder sb = new StringBuilder(8092);
+    sb.append("{\n" +
+        "  \"rules\": [\n");
+    sb.append("    {\n");
+    sb.append("      \"from\": \"service-subscription\",\n");
+    sb.append("      \"to\": \"customer\",\n" +
+        "      \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
+        "      \"direction\": \"OUT\",\n" +
+        "      \"multiplicity\": \"MANY2ONE\",\n" +
+        "      \"contains-other-v\": \"!${direction}\",\n" +
+        "      \"delete-other-v\": \"!${direction}\",\n" +
+        "      \"prevent-delete\": \"NONE\",\n" +
+        "      \"default\": \"true\",\n" +
+        "      \"description\":\"\"\n");
+    sb.append("    },\n");
+    sb.append("    {\n" +
+        "      \"from\": \"service-instance\",\n" +
+        "      \"to\": \"service-subscription\",\n" +
+        "      \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
+        "      \"direction\": \"OUT\",\n" +
+        "      \"multiplicity\": \"MANY2ONE\",\n" +
+        "      \"contains-other-v\": \"!${direction}\",\n" +
+        "      \"delete-other-v\": \"!${direction}\",\n" +
+        "      \"prevent-delete\": \"NONE\",\n" +
+        "      \"default\": \"true\",\n" +
+        "      \"description\":\"\"\n" +
+        "    },\n");
+    sb.append("    {\n" +
+        "      \"from\": \"service-subscription\",\n" +
+        "      \"to\": \"tenant\",\n" +
+        "      \"label\": \"org.onap.relationships.inventory.Uses\",\n" +
+        "      \"direction\": \"OUT\",\n" +
+        "      \"multiplicity\": \"MANY2MANY\",\n" +
+        "      \"contains-other-v\": \"NONE\",\n" +
+        "      \"delete-other-v\": \"NONE\",\n" +
+        "      \"prevent-delete\": \"NONE\",\n" +
+        "      \"default\": \"true\",\n" +
+        "      \"description\":\"\"\n" +
+        "    }");
+    sb.append("  ]\n" +
+        "}\n");
+    return sb.toString();
+  }
 }
\ No newline at end of file
index 12683b4..e7de26b 100644 (file)
@@ -32,42 +32,42 @@ import java.util.TreeMap;
 
 public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
 
-       public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
-               super(bean, schemaVersions);
-       }
+  public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+    super(bean, schemaVersions);
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getNodeFiles() {
+  @Override
+  public Map<SchemaVersion, List<String>> getNodeFiles() {
 
-               List<String> files11 = new ArrayList<>();
-               files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+    List<String> files11 = new ArrayList<>();
+    files11.add("src/test/resources/oxm/business_oxm_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");
+    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(new SchemaVersion("v11"), files11);
-               input.put(schemaVersions.getDefaultVersion(), files13);
-               return input;
-       }
+    Map<SchemaVersion, List<String>> input = new TreeMap<>();
+    input.put(new SchemaVersion("v11"), files11);
+    input.put(schemaVersions.getDefaultVersion(), files13);
+    return input;
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getEdgeFiles() {
-               List<String> files = new ArrayList<>();
-               files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
-               Map<SchemaVersion, List<String>> input = new TreeMap<>();
-               input.put(schemaVersions.getDefaultVersion(), files);
+  @Override
+  public Map<SchemaVersion, List<String>> getEdgeFiles() {
+    List<String> files = new ArrayList<>();
+    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");
+    List<String> files2 = new ArrayList<>();
+    files2.add("src/test/resources/dbedgerules/test.json");
 
-               List<String> files3 = new ArrayList<>();
-               files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
-               input.put(new SchemaVersion("v11"), files3);
+    List<String> files3 = new ArrayList<>();
+    files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+    input.put(new SchemaVersion("v11"), files3);
 
-               return input;
-       }
+    return input;
+  }
 }
index 5117245..3cee014 100644 (file)
@@ -32,28 +32,28 @@ import java.util.TreeMap;
 
 public class TestUtilConfigTranslatorforDataLink extends ConfigTranslator {
 
-       public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
-               super(bean, schemaVersions);
-       }
-
-       @Override
-       public Map<SchemaVersion, List<String>> getNodeFiles() {
-
-               Map<SchemaVersion, List<String>> input = new TreeMap<>();
-               input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
-               input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
-               input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
-               input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
-               return input;
-       }
-
-       @Override
-       public Map<SchemaVersion, List<String>> getEdgeFiles() {
-               Map<SchemaVersion, List<String>> input = new TreeMap<>();
-               input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
-               input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
-               input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
-               input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
-               return input;
-       }
+  public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+    super(bean, schemaVersions);
+  }
+
+  @Override
+  public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+    Map<SchemaVersion, List<String>> input = new TreeMap<>();
+    input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
+    input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
+    input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
+    input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
+    return input;
+  }
+
+  @Override
+  public Map<SchemaVersion, List<String>> getEdgeFiles() {
+    Map<SchemaVersion, List<String>> input = new TreeMap<>();
+    input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
+    input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
+    input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
+    input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
+    return input;
+  }
 }
index 7eaa6f5..e39986f 100644 (file)
@@ -32,42 +32,42 @@ import java.util.TreeMap;
 
 public class TestUtilConfigTranslatorforEdges extends ConfigTranslator {
 
-       public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
-               super(bean, schemaVersions);
-       }
+  public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+    super(bean, schemaVersions);
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getNodeFiles() {
-               List<String> files11 = new ArrayList<>();
-               files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+  @Override
+  public Map<SchemaVersion, List<String>> getNodeFiles() {
+    List<String> files11 = new ArrayList<>();
+    files11.add("src/test/resources/oxm/business_oxm_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");
+    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(new SchemaVersion("v11"), files11);
-               input.put(new SchemaVersion("v13"), files13);
-               return input;
-       }
+    Map<SchemaVersion, List<String>> input = new TreeMap<>();
+    input.put(new SchemaVersion("v11"), files11);
+    input.put(new SchemaVersion("v13"), files13);
+    return input;
+  }
 
-       @Override
-       public Map<SchemaVersion, List<String>> getEdgeFiles() {
-               List<String> files = new ArrayList<>();
-               files.add("src/test/resources/dbedgerules/test.json");
-               files.add("src/test/resources/dbedgerules/test2.json");
-               Map<SchemaVersion, List<String>> input = new TreeMap<>();
-               input.put(schemaVersions.getDefaultVersion(), files);
+  @Override
+  public Map<SchemaVersion, List<String>> getEdgeFiles() {
+    List<String> files = new ArrayList<>();
+    files.add("src/test/resources/dbedgerules/test.json");
+    files.add("src/test/resources/dbedgerules/test2.json");
+    Map<SchemaVersion, List<String>> input = new TreeMap<>();
+    input.put(schemaVersions.getDefaultVersion(), files);
 
-               List<String> files2 = new ArrayList<>();
-               files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
-               input.put(new SchemaVersion("v10"), files2);
-               List<String> files3 = new ArrayList<>();
-               files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json");
-               input.put(new SchemaVersion("v11"), files3);
+    List<String> files2 = new ArrayList<>();
+    files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+    input.put(new SchemaVersion("v10"), files2);
+    List<String> files3 = new ArrayList<>();
+    files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json");
+    input.put(new SchemaVersion("v11"), files3);
 
-               return input;
-       }
+    return input;
+  }
 }
index 51417b4..38645db 100644 (file)
@@ -41,78 +41,78 @@ public class AAIConfigTranslator extends ConfigTranslator {
     private static final String FILESEP = (System.getProperty("file.separator") == null) ? "/" : System.getProperty("file.separator");
 
     public AAIConfigTranslator(SchemaLocationsBean bean, SchemaVersions 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 a177c6d..e13367d 100644 (file)
@@ -33,34 +33,34 @@ import java.util.Map;
  *
  */
 public abstract class ConfigTranslator {
-       protected SchemaLocationsBean bean;
-       protected SchemaVersions schemaVersions;
+  protected SchemaLocationsBean bean;
+  protected SchemaVersions schemaVersions;
 
-       @Autowired
-       public ConfigTranslator(SchemaLocationsBean schemaLocationbean, SchemaVersions schemaVersions) {
-               this.bean = schemaLocationbean;
-               this.schemaVersions = schemaVersions;
-       }
+  @Autowired
+  public ConfigTranslator(SchemaLocationsBean schemaLocationbean, SchemaVersions schemaVersions) {
+    this.bean = schemaLocationbean;
+    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 Map<SchemaVersion, List<String>> getNodeFiles();
+  /**
+   * 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();
 
-       /**
-        * 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();
 
-       public SchemaVersions getSchemaVersions(){
-               return schemaVersions;
-       }
+  public SchemaVersions getSchemaVersions(){
+    return schemaVersions;
+  }
 }
index e24aa78..042889b 100644 (file)
@@ -31,108 +31,108 @@ import java.util.List;
 @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 8beb537..2459c54 100644 (file)
@@ -286,12 +286,12 @@ public class NodeIngestor {
         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/" +
+            "  <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-schema>\n" +
+            "  <java-types>\n" +
+            "  </java-types>\n" +
             "</xml-bindings>";
         return new ByteArrayInputStream(source.getBytes(StandardCharsets.UTF_8));
     }
index e096a7d..fecc079 100644 (file)
@@ -23,7 +23,7 @@ package org.onap.aai.schemaservice.nodeschema.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 de31212..047760f 100644 (file)
@@ -31,36 +31,36 @@ import java.util.List;
  * 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 ac3a450..fa1c36b 100644 (file)
@@ -46,61 +46,61 @@ import java.util.List;
  */
 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);
+  /* (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);
             docFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
             docFactory.setFeature("http://xml.org/sax/features/external-general-entities", false);
             docFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
             docFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
             docFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "");
-                       final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+      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");
+      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);
-                               }
-                       }
+        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();
-               }
-       }
+      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();
-       }
+  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 acd4095..8f674fc 100644 (file)
@@ -34,39 +34,39 @@ import java.util.Map;
  */
 @Component
 public class DefaultVersionValidationModule implements VersionValidationModule {
-       private ConfigTranslator config;
+  private ConfigTranslator config;
 
-       @Autowired
-       public DefaultVersionValidationModule(ConfigTranslator config) {
-               this.config = config;
-       }
+  @Autowired
+  public DefaultVersionValidationModule(ConfigTranslator config) {
+    this.config = config;
+  }
 
-       /* (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();
-               Map<SchemaVersion, List<String>> edgeConfig = config.getEdgeFiles();
+  /* (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();
+    Map<SchemaVersion, List<String>> edgeConfig = config.getEdgeFiles();
 
-               StringBuilder missingVers = new StringBuilder().append("Missing schema for the following versions: ");
-               boolean isMissing = false;
-               for (SchemaVersion v : config.getSchemaVersions().getVersions()) {
-                       if (nodeConfig.get(v) == null) {
-                               isMissing = true;
-                               missingVers.append(v.toString()).append(" has no OXM configured. ");
-                       }
-                       if (edgeConfig.get(v) == null) {
-                               isMissing = true;
-                               missingVers.append(v.toString()).append(" has no edge rules configured. ");
-                       }
-               }
+    StringBuilder missingVers = new StringBuilder().append("Missing schema for the following versions: ");
+    boolean isMissing = false;
+    for (SchemaVersion v : config.getSchemaVersions().getVersions()) {
+      if (nodeConfig.get(v) == null) {
+        isMissing = true;
+        missingVers.append(v.toString()).append(" has no OXM configured. ");
+      }
+      if (edgeConfig.get(v) == null) {
+        isMissing = true;
+        missingVers.append(v.toString()).append(" has no edge rules configured. ");
+      }
+    }
 
-               if (isMissing) {
-                       return missingVers.toString();
-               } else {
-                       return "";
-               }
-       }
+    if (isMissing) {
+      return missingVers.toString();
+    } else {
+      return "";
+    }
+  }
 
 }
index cb5f5e3..1cab48d 100644 (file)
@@ -34,13 +34,13 @@ import java.util.List;
  * 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 7463a7d..7c05007 100644 (file)
@@ -25,33 +25,33 @@ package org.onap.aai.schemaservice.nodeschema.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 e73331b..bc46e16 100644 (file)
@@ -29,29 +29,29 @@ import java.util.Map.Entry;
 
 @Component
 public class NodeValidator {
-       private ConfigTranslator translator;
-       private SchemaErrorStrategy strat;
-       private DuplicateNodeDefinitionValidationModule dupChecker;
+  private ConfigTranslator translator;
+  private SchemaErrorStrategy strat;
+  private DuplicateNodeDefinitionValidationModule dupChecker;
 
-       @Autowired
-       public NodeValidator(ConfigTranslator translator, SchemaErrorStrategy strategy, DuplicateNodeDefinitionValidationModule dupChecker) {
-               this.translator = translator;
-               this.strat = strategy;
-               this.dupChecker = dupChecker;
-       }
+  @Autowired
+  public NodeValidator(ConfigTranslator translator, SchemaErrorStrategy strategy, DuplicateNodeDefinitionValidationModule dupChecker) {
+    this.translator = translator;
+    this.strat = strategy;
+    this.dupChecker = dupChecker;
+  }
 
-       public boolean validate() {
+  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();
-       }
+    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();
-       }
+  public String getErrorMsg() {
+    return strat.getErrorMsg();
+  }
 }
index 9df66cd..a9cafa5 100644 (file)
@@ -23,36 +23,36 @@ package org.onap.aai.schemaservice.nodeschema.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();
+  /**
+   * 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();
+  /**
+   * 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);
+  /**
+   * 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 607e0df..15ae19a 100644 (file)
@@ -27,11 +27,11 @@ package org.onap.aai.schemaservice.nodeschema.validation;
  */
 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 8394521..0158bc3 100644 (file)
@@ -28,25 +28,25 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class VersionValidator {
-       private SchemaErrorStrategy strat;
-       private VersionValidationModule verMod;
+  private SchemaErrorStrategy strat;
+  private VersionValidationModule verMod;
 
-       @Autowired
-       public VersionValidator(SchemaErrorStrategy strategy, VersionValidationModule verMod) {
-               this.strat = strategy;
-               this.verMod = 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);
-               }
+  public boolean validate() {
+    String result = verMod.validate();
+    if (!"".equals(result)) {
+      strat.notifyOnError(result);
+    }
 
-               return strat.isOK();
-       }
+    return strat.isOK();
+  }
 
-       public String getErrorMsg() {
-               return strat.getErrorMsg();
-       }
+  public String getErrorMsg() {
+    return strat.getErrorMsg();
+  }
 }
index a65ddd9..222ed05 100644 (file)
@@ -311,68 +311,68 @@ public class ValidateOXMTest {
      * @throws ParserConfigurationException
      */
     @Test
-       public void verifyAllUriTemplateHaveNamespace()
-                       throws XPathExpressionException, IOException, SAXException, ParserConfigurationException {
-               boolean foundIssue = false;
-               List<File> fileList = getOxmSchemaFiles();
-               fileList.addAll(getOnapOxmSchemaFiles());
-               StringBuilder msg = new StringBuilder();
-               for (File file : fileList) {
-                       msg.append(file.getAbsolutePath().replaceAll(".*aai-schema", ""));
-                       msg.append("\n");
-                       Document xmlDocument = getDocument(file);
-                       XPath xPath = XPathFactory.newInstance().newXPath();
-                       String expression = "/xml-bindings/java-types/java-type["
-                                       + "count(xml-properties/xml-property[@name='namespace']) > 0 " + "]";
-                       NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
-
-                       for (int i = 0; i < nodeList.getLength(); i++) {
-                               String name = nodeList.item(i).getAttributes().getNamedItem("name").getNodeValue();
-
-                               NodeList childNodeList = (NodeList) nodeList.item(i).getChildNodes();
-                               for (int j = 0; j < childNodeList.getLength(); j++) {
-
-                                       String nodeName = childNodeList.item(j).getNodeName();
-                                       NodeList xmlPropertyNodeList = childNodeList.item(j).getChildNodes();
-                                       if (XMLPROPERTIES.equals(nodeName)) {
-
-                                               String namespaceVal = "";
-                                               String uriTemplateVal = "";
-                                               for (int k = 0; k < xmlPropertyNodeList.getLength(); k++) {
-
-                                                       if ("xml-property".equals(xmlPropertyNodeList.item(k).getNodeName())) {
-
-                                                               NamedNodeMap attributes = xmlPropertyNodeList.item(k).getAttributes();
-
-                                                               if ("namespace".equals(attributes.getNamedItem("name").getNodeValue())) {
-                                                                       namespaceVal = attributes.getNamedItem("value").getNodeValue();
-                                                               }
-                                                               if ("uriTemplate".equals(attributes.getNamedItem("name").getNodeValue())) {
-                                                                       uriTemplateVal = attributes.getNamedItem("value").getNodeValue();
-                                                               }
-
-                                                       }
-
-                                               }
-
-                                               if (!uriTemplateVal.startsWith("/" + namespaceVal + "/")) {
-                                                       foundIssue = true;
-                                                       msg.append("\t");
-                                                       msg.append(uriTemplateVal);
-                                                       msg.append("\n");
-                                               }
-
-                                       }
-                               }
-
-                       }
-               }
-               if (foundIssue) {
-                       System.out.println(msg.toString());
-                       fail("uriTemplate doesnt start with /namespace/.");
-               }
-
-       }
+  public void verifyAllUriTemplateHaveNamespace()
+      throws XPathExpressionException, IOException, SAXException, ParserConfigurationException {
+    boolean foundIssue = false;
+    List<File> fileList = getOxmSchemaFiles();
+    fileList.addAll(getOnapOxmSchemaFiles());
+    StringBuilder msg = new StringBuilder();
+    for (File file : fileList) {
+      msg.append(file.getAbsolutePath().replaceAll(".*aai-schema", ""));
+      msg.append("\n");
+      Document xmlDocument = getDocument(file);
+      XPath xPath = XPathFactory.newInstance().newXPath();
+      String expression = "/xml-bindings/java-types/java-type["
+          + "count(xml-properties/xml-property[@name='namespace']) > 0 " + "]";
+      NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
+
+      for (int i = 0; i < nodeList.getLength(); i++) {
+        String name = nodeList.item(i).getAttributes().getNamedItem("name").getNodeValue();
+
+        NodeList childNodeList = (NodeList) nodeList.item(i).getChildNodes();
+        for (int j = 0; j < childNodeList.getLength(); j++) {
+
+          String nodeName = childNodeList.item(j).getNodeName();
+          NodeList xmlPropertyNodeList = childNodeList.item(j).getChildNodes();
+          if (XMLPROPERTIES.equals(nodeName)) {
+
+            String namespaceVal = "";
+            String uriTemplateVal = "";
+            for (int k = 0; k < xmlPropertyNodeList.getLength(); k++) {
+
+              if ("xml-property".equals(xmlPropertyNodeList.item(k).getNodeName())) {
+
+                NamedNodeMap attributes = xmlPropertyNodeList.item(k).getAttributes();
+
+                if ("namespace".equals(attributes.getNamedItem("name").getNodeValue())) {
+                  namespaceVal = attributes.getNamedItem("value").getNodeValue();
+                }
+                if ("uriTemplate".equals(attributes.getNamedItem("name").getNodeValue())) {
+                  uriTemplateVal = attributes.getNamedItem("value").getNodeValue();
+                }
+
+              }
+
+            }
+
+            if (!uriTemplateVal.startsWith("/" + namespaceVal + "/")) {
+              foundIssue = true;
+              msg.append("\t");
+              msg.append(uriTemplateVal);
+              msg.append("\n");
+            }
+
+          }
+        }
+
+      }
+    }
+    if (foundIssue) {
+      System.out.println(msg.toString());
+      fail("uriTemplate doesnt start with /namespace/.");
+    }
+
+  }
 
 
     /**