summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java46
-rw-r--r--aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java208
-rw-r--r--aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java116
-rw-r--r--aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java48
-rw-r--r--aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java230
-rw-r--r--aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java44
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java50
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java186
-rw-r--r--aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java96
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java448
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java16
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java88
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java58
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java26
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java2
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java10
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java8
-rw-r--r--aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java58
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java164
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java80
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java80
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java544
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java124
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java578
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java128
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java724
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java82
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java82
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java374
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java1166
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java122
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java1480
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java60
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java48
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java64
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java148
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java52
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java208
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java10
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java6
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java56
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java94
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java60
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java18
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java50
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java42
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java60
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java14
-rw-r--r--aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java34
-rw-r--r--aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java124
50 files changed, 4307 insertions, 4307 deletions
diff --git a/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java b/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java
index b915ee5..53ffa5a 100644
--- a/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java
+++ b/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java
@@ -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 "";
}
diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java
index 6b68e1f..a4a5de9 100644
--- a/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java
+++ b/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java
@@ -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;
+ }
+
}
diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java
index ac2c00b..b392721 100644
--- a/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java
+++ b/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java
@@ -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;
+ }
}
diff --git a/aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java b/aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java
index 5a58923..664c9ca 100644
--- a/aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java
+++ b/aai-queries/src/main/java/org/onap/aai/queries/CustomQueryConfig.java
@@ -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;
+ }
}
diff --git a/aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java b/aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java
index ed4ff99..c726c76 100644
--- a/aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java
+++ b/aai-queries/src/main/java/org/onap/aai/queries/GetCustomQueryConfig.java
@@ -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;
+
+ }
diff --git a/aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java b/aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java
index 3b4a406..509aa88 100644
--- a/aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java
+++ b/aai-queries/src/main/java/org/onap/aai/queries/GremlinServerSingleton.java
@@ -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);
}
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java b/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
index 551c10d..15943b7 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/AAISetup.java
@@ -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();
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java b/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
index 8e890a1..25591e7 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/OnapQueryTest.java
@@ -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);
}
diff --git a/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java b/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
index cda58a0..6bc2705 100644
--- a/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
+++ b/aai-queries/src/test/java/org/onap/aai/queries/VnfToEsrSystemInfoQueryTest.java
@@ -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;
+ }
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java
index a85ecac..9d3f258 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java
@@ -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);
+ }
+
+ }
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java
index 48cd46d..d91cf81 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java
@@ -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);
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java
index 217aa4e..c4db6f9 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java
@@ -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;
+ }
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java
index 7efaed9..a570d6f 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java
@@ -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();
+ }
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java
index a22dfd5..f9d1799 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java
@@ -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);
}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java
index ce45236..01598a0 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java
@@ -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() + ".") ?
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java
index 2561593..bdfdfd6 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java
@@ -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 "";
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java
index 5fe3564..bbdcd70 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java
@@ -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,
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java
index ded5f52..6663dc4 100644
--- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java
+++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java
@@ -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);
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
index b17a0ee..c6d2dde 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
@@ -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());
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
index 5261a56..fe1aa6f 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
index 9b0bae8..0f44954 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
index ceddafe..b17901f 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
@@ -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)); } );
+ }
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
index 1540a30..74fa60b 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
index 27b7037..b5d9489 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
@@ -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();
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
index 648142a..8ecc8b5 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
index 2207a90..ed403e0 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
@@ -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();
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
index 4fc1c84..098b33b 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
index 0a60b7f..7c5c00d 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
@@ -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));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
index 4799684..526c923 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
@@ -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();
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
index 2ebaee1..7c8dd78 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
@@ -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)));
+ }
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
index 556a281..b961524 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
@@ -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)));
+ }
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
index ad4f055..06653c8 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
@@ -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
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
index 12683b4..e7de26b 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
@@ -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;
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
index 5117245..3cee014 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
@@ -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;
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
index 7eaa6f5..e39986f 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
@@ -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;
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java
index 51417b4..38645db 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/AAIConfigTranslator.java
@@ -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;
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java
index a177c6d..e13367d 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/ConfigTranslator.java
@@ -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;
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java
index e24aa78..042889b 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/config/SchemaLocationsBean.java
@@ -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();
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
index 8beb537..2459c54 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/NodeIngestor.java
@@ -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));
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java
index e096a7d..fecc079 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/AAISchemaValidationException.java
@@ -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);
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java
index de31212..047760f 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/CheckEverythingStrategy.java
@@ -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);
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java
index ac3a450..fa1c36b 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultDuplicateNodeDefinitionValidationModule.java
@@ -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();
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java
index acd4095..8f674fc 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DefaultVersionValidationModule.java
@@ -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 "";
+ }
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java
index cb5f5e3..1cab48d 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/DuplicateNodeDefinitionValidationModule.java
@@ -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);
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java
index 7463a7d..7c05007 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/FailFastStrategy.java
@@ -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);
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java
index e73331b..bc46e16 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/NodeValidator.java
@@ -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();
+ }
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java
index 9df66cd..a9cafa5 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/SchemaErrorStrategy.java
@@ -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);
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java
index 607e0df..15ae19a 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidationModule.java
@@ -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();
}
diff --git a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java
index 8394521..0158bc3 100644
--- a/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java
+++ b/aai-schema-service/src/main/java/org/onap/aai/schemaservice/nodeschema/validation/VersionValidator.java
@@ -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();
+ }
}
diff --git a/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java b/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java
index a65ddd9..222ed05 100644
--- a/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java
+++ b/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java
@@ -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/.");
+ }
+
+ }
/**