Updating the new schema service ingest 36/74636/2
authorArul.Nambi <arul.nambi@amdocs.com>
Thu, 13 Dec 2018 20:34:17 +0000 (15:34 -0500)
committerArul.Nambi <arul.nambi@amdocs.com>
Fri, 14 Dec 2018 15:30:26 +0000 (10:30 -0500)
Issue-ID: AAI-2006
Change-Id: I25360ea42d1e09ada6af00dbe99ceace978ee09a
Signed-off-by: Arul.Nambi <arul.nambi@amdocs.com>
16 files changed:
sparkybe-onap-application/config/application-oxm-default.properties
sparkybe-onap-application/config/application.properties
sparkybe-onap-application/config/schemaIngest.properties
sparkybe-onap-application/config/spring-beans/sparky-oxm-default.xml
sparkybe-onap-application/config/spring-beans/sparky-oxm-override.xml
sparkybe-onap-application/config/spring-beans/sparky-oxm.xml
sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SchemaConfiguration.java [new file with mode: 0644]
sparkybe-onap-service/pom.xml
sparkybe-onap-service/src/main/java/org/onap/aai/sparky/config/oxm/OxmModelLoader.java
sparkybe-onap-service/src/test/java/org/onap/aai/sparky/autosuggestion/sync/AutosuggestionSynchronizerTest.java
sparkybe-onap-service/src/test/java/org/onap/aai/sparky/dal/ActiveInventoryAdapterTest.java
sparkybe-onap-service/src/test/java/org/onap/aai/sparky/synchronizer/GizmoEntitySummarizer.java
sparkybe-onap-service/src/test/java/org/onap/aai/sparky/util/OxmModelAndProcessorHelper.java
sparkybe-onap-service/src/test/resources/oxm-reader/oxm-reader-bean.xml
sparkybe-onap-service/src/test/resources/oxm-reader/sparky-core.xml

index 5c362d8..ef3db64 100644 (file)
@@ -1 +1,12 @@
-oxm.apiVersion=v14
\ No newline at end of file
+oxm.apiVersion=v14\r
+oxm.apiVersionList=v10,v11,v12,v13,v14\r
+\r
+oxm.schemaServiceTranslatorList=config\r
+oxm.schemaServiceBaseUrl=https://<hostname>:<port>/onap/schema-service/v1/\r
+oxm.schemaServiceKeystore=file:${CONFIG_HOME}/auth/tomcat_keystore\r
+oxm.schemaServiceTruststore=file:${CONFIG_HOME}/auth/tomcat_keystore\r
+oxm.schemaServiceKeystorePassword=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10\r
+oxm.schemaServiceTruststorePassword=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10\r
+\r
+# Schema Service need this variable for the time being with 7.0.1-SNAPSHOT\r
+spring.applicationName=sparky
\ No newline at end of file
index c49bf5a..1c37fa7 100644 (file)
@@ -9,7 +9,7 @@ spring.mvc.favicon.enabled=false
 #
 # Gizmo profile
 #
-spring.profiles.active=camel,ssl,fe-dev,oxm-schema-dev,gizmo,oxm-override
+spring.profiles.active=camel,ssl,fe-dev,oxm-schema-dev,gizmo,oxm-default
 
 #
 # Resources profile
@@ -23,4 +23,6 @@ searchservice.client-cert=client-cert-onap.p12
 searchservice.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 searchservice.truststore=tomcat_keystore
 
-spring.mvc.favicon.enabled=false
\ No newline at end of file
+spring.mvc.favicon.enabled=false
+
+schema.ingest.file=${CONFIG_HOME}/schemaIngest.properties
\ No newline at end of file
index 1f5a13a..f88a7ef 100644 (file)
@@ -1,15 +1,32 @@
 # Properties for the SchemaLocationsBean
 # Files named aai_oxm_v*.xml are unpacked here:
-nodeDir=${oxm.schemaNodeDir}
-# Dummy folder/directory:
-edgeDir=
+# Schema Version Related Attributes
+schema.uri.base.path=/aai
+# Lists all of the versions in the schema
+schema.version.list=v9,v10,v11,v12,v13,v14
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start=v10
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start=v10
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start=v11
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start=v12
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start=v12
+# Specifies the version that the application should default to
+schema.version.api.default=v14
+
+# Schema Location Related Attributes
+schema.configuration.location=NA
 
 # New propterties required by the aai-common - aai-schema-ingest lib as of 1.3.0
 schema.configuration.location=N/A
 schema.nodes.location=${oxm.schemaNodeDir}
 schema.edges.location=
 # These versions need to exist if they are included in the list
-schema.version.list=v8,v9,v10,v11,v12,v13,v14
+schema.version.list=${oxm.apiVersionList}
 # Decalares the oxm version to load
 schema.version.api.default=${oxm.apiVersion}
 
@@ -18,4 +35,23 @@ schema.version.depth.start=${oxm.apiVersion}
 schema.version.related.link.start=${oxm.apiVersion}
 schema.version.app.root.start=${oxm.apiVersion}
 schema.version.namespace.change.start=${oxm.apiVersion}
-schema.version.edge.label.start=${oxm.apiVersion}
\ No newline at end of file
+schema.version.edge.label.start=${oxm.apiVersion}
+
+# Properties required by AAI Schema Service MS
+schema.translator.list=config
+schema.service.base.url=${oxm.schemaServiceBaseUrl}
+schema.service.nodes.endpoint=nodes?version=
+schema.service.edges.endpoint=edgerules?version=
+schema.service.versions.endpoint=versions
+schema.local=true
+schema.filename=mockrequests
+#Default rest client is the two-way-ssl
+#schema.service.client=two-way-ssl
+#Replace the below with the A&AI client key store
+schema.service.ssl.key-store=${oxm.schemaServiceKeystore}
+#Replace the below with the A&AI tomcat trust store
+schema.service.ssl.trust-store=${oxm.schemaServiceTruststore}
+schema.service.ssl.key-store-password=${oxm.schemaServiceKeystorePassword}
+schema.service.ssl.trust-store-password=${oxm.schemaServiceTruststorePassword}
+
+spring.application.name=sparky
\ No newline at end of file
index b44d626..5eb2184 100644 (file)
@@ -3,11 +3,10 @@
        xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd">
-  
+
        <bean id="oxmModelLoader" class="org.onap.aai.sparky.config.oxm.OxmModelLoader"
                init-method="loadModel">
                <constructor-arg ref="oxmModelProcessorSet" />
-               <constructor-arg ref="nodeIngestor" />
     <constructor-arg ref="schemaVersions" />
        </bean>
 
index 3c2d76b..c6db248 100644 (file)
@@ -8,7 +8,6 @@
                init-method="loadModel">
                <constructor-arg name="apiVersionOverride" value="${oxm.apiVersion}" />
                <constructor-arg ref="oxmModelProcessorSet" />
-               <constructor-arg ref="nodeIngestor" />
        </bean>
 
 </beans>
\ No newline at end of file
index c392153..a210d12 100644 (file)
                </property>
        </bean>
 
-       <bean id="schemaLocationsBean" class="org.onap.aai.setup.SchemaLocationsBean">
-               <!-- When running with AJSC these properties must be injected directly. 
-                       The reason for this is unknown. -->
-               <property name="nodeDirectory" value="${nodeDir}" />
-               <property name="edgeDirectory" value="${edgeDir}" />
-       </bean>
-
-  <bean id="schemaVersions" class="org.onap.aai.setup.SchemaVersions"/>
-  
-  <bean id="oxmConfigTranslator" class="org.onap.aai.setup.AAIConfigTranslator">
-    <constructor-arg ref="schemaLocationsBean" />
-    <constructor-arg ref="schemaVersions" />
-       </bean>
-  
-       <bean id="nodeIngestor" class="org.onap.aai.nodes.NodeIngestor">
-               <constructor-arg ref="oxmConfigTranslator" />
-       </bean>
-
        <bean id="searchProviderRegistry"
                class="org.onap.aai.sparky.search.registry.SearchProviderRegistry" />
 
index 9958d72..02e390f 100644 (file)
  */
 package org.onap.aai.sparky;
 
+import org.onap.aai.config.EdgesConfiguration;
 import org.onap.aai.sparky.config.PropertyPasswordConfiguration;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.PropertySource;
 
 @SpringBootApplication
+@ComponentScan(basePackages = {"org.onap.aai.config", "org.onap.aai.setup", "org.onap.aai.sparky"}, excludeFilters = {
+@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE,
+value = EdgesConfiguration.class)})
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)
 public class Application {
   
   public static void main(String[] args) {
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SchemaConfiguration.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SchemaConfiguration.java
new file mode 100644 (file)
index 0000000..ccaa833
--- /dev/null
@@ -0,0 +1,43 @@
+/**\r
+ * ============LICENSE_START=======================================================\r
+ * org.onap.aai\r
+ * ================================================================================\r
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.\r
+ * Copyright © 2017-2018 Amdocs\r
+ * ================================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *       http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ * ============LICENSE_END=========================================================\r
+ */\r
+\r
+package org.onap.aai.sparky.config;\r
+\r
+import org.onap.aai.setup.AAIConfigTranslator;\r
+import org.onap.aai.setup.ConfigTranslator;\r
+import org.onap.aai.setup.SchemaLocationsBean;\r
+import org.onap.aai.setup.SchemaVersions;\r
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;\r
+import org.springframework.context.annotation.Bean;\r
+import org.springframework.context.annotation.Configuration;\r
+import org.springframework.context.annotation.PropertySource;\r
+\r
+@Configuration\r
+@PropertySource(value = "classpath:schema-ingest.properties", ignoreResourceNotFound = true)\r
+@PropertySource(value = "file:${schema.ingest.file}", ignoreResourceNotFound = true)\r
+public class SchemaConfiguration {\r
+\r
+    @Bean(name = "configTranslator")\r
+    @ConditionalOnProperty(name = "schema.translator.list", havingValue = "config", matchIfMissing = true)\r
+    public ConfigTranslator configTranslator(SchemaLocationsBean schemaLocationsBean, SchemaVersions schemaVersions) {\r
+        return new AAIConfigTranslator(schemaLocationsBean, schemaVersions);\r
+    }\r
+}\r
index 0bcfd09..e397109 100644 (file)
@@ -23,7 +23,7 @@
                <nexusproxy>https://nexus.onap.org</nexusproxy>
                <camel-spring-boot.version>2.21.1</camel-spring-boot.version>
                <config-home>${basedir}/</config-home>
-               <version.aai.aai-schema-ingest>1.3.0</version.aai.aai-schema-ingest>
+               <version.aai.aai-schema-ingest>1.4.1-SNAPSHOT</version.aai.aai-schema-ingest>
                <version.aai-schema>1.3.0</version.aai-schema>
                <sitePath>/content/sites/site/org/onap/aai/sparky-be/${project.artifactId}/${project.version}</sitePath>
                <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
index 7ad01c7..a5c1525 100644 (file)
@@ -29,7 +29,10 @@ import org.onap.aai.nodes.NodeIngestor;
 import org.onap.aai.setup.SchemaVersion;
 import org.onap.aai.setup.SchemaVersions;
 import org.onap.aai.sparky.logging.AaiUiMsgs;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
+@Component("oxmModelLoader")
 public class OxmModelLoader {
 
   private static final Logger LOG = LoggerFactory.getInstance().getLogger(OxmModelLoader.class);
@@ -48,16 +51,14 @@ public class OxmModelLoader {
 
   private NodeIngestor nodeIngestor;
 
-  public OxmModelLoader(String apiVersionOverride, Set<OxmModelProcessor> oxmModelProcessors, NodeIngestor nodeIngestor) {
+  public OxmModelLoader(String apiVersionOverride, Set<OxmModelProcessor> oxmModelProcessors) {
     this.oxmApiVersion = new SchemaVersion(apiVersionOverride);
     this.processors = oxmModelProcessors;
-    this.nodeIngestor = nodeIngestor;
   }
 
-  public OxmModelLoader(Set<OxmModelProcessor> oxmModelProcessors, NodeIngestor nodeIngestor, SchemaVersions schemaVersions) {
+  public OxmModelLoader(Set<OxmModelProcessor> oxmModelProcessors, SchemaVersions schemaVersions) {
     this.oxmApiVersion = schemaVersions.getDefaultVersion();
     this.processors = oxmModelProcessors;
-    this.nodeIngestor = nodeIngestor;
   }
 
   public SchemaVersion getOxmApiVersion() {
@@ -66,6 +67,15 @@ public class OxmModelLoader {
 
 
 
+  public NodeIngestor getNodeIngestor() {
+    return nodeIngestor;
+  }
+
+  @Autowired
+  public void setNodeIngestor(NodeIngestor nodeIngestor) {
+    this.nodeIngestor = nodeIngestor;
+  }
+
   /**
    * Load an oxm model.
    * 
index 8a83ca7..02d27f3 100644 (file)
@@ -171,7 +171,8 @@ public class AutosuggestionSynchronizerTest {
     suggestionEntityLookup = new SuggestionEntityLookup(filtersConfig);
 
     processors.add(suggestionEntityLookup);
-    OxmModelLoader oxmModelLoader = new OxmModelLoader("v11", processors,nodeInjest);
+    OxmModelLoader oxmModelLoader = new OxmModelLoader("v11", processors);
+    oxmModelLoader.setNodeIngestor(nodeInjest);
     oxmModelLoader.loadModel();
     
     
index 6ec7513..d01c5bb 100644 (file)
@@ -22,7 +22,7 @@ public class ActiveInventoryAdapterTest {
 
   @Before
   public void init() throws Exception {
-    oxmModelLoader = new OxmModelLoader("v11",null,null);
+    oxmModelLoader = new OxmModelLoader("v11",null);
     oxmEntityLookup = new OxmEntityLookup();
     endpointConfig = new RestEndpointConfig();
     queryParams = new ArrayList<String>();
index 435fbfb..b245943 100644 (file)
@@ -71,7 +71,6 @@ public class GizmoEntitySummarizer {
                gizmoConfig.setValidateServerHostname(false);
 
                gizmoAdapter = new GizmoAdapter(oxmModelLoader, gizmoConfig);
-
                gizmoAdapter.setInventoryBasePath("/services/inventory/v12/");
                gizmoAdapter.setRelationshipsBasePath("/services/inventory/relationships/v12/");
 
index 0c72f33..fa05d71 100644 (file)
@@ -56,7 +56,7 @@ public class OxmModelAndProcessorHelper {
                processors.add(searchableEntityLookup);
                processors.add(suggestionEntityLookup);
                processors.add(oxmEntityContainerLookup);
-               this.modelLoader = new OxmModelLoader(API_VERSION_OVERRIDE, processors, null);
+               this.modelLoader = new OxmModelLoader(API_VERSION_OVERRIDE, processors);
                
        }
 
index 3722fdd..76e5f17 100644 (file)
@@ -57,8 +57,7 @@
                init-method="loadModel">
                <!-- <constructor-arg name="apiVersionOverride" value="V11" /> -->
                <constructor-arg ref="oxmModelProcessorSet" />
-               <constructor-arg ref="nodeIngestor" />
-    <constructor-arg ref="schemaVersions" />
+               <constructor-arg ref="schemaVersions" />
        </bean>
 
 </beans>
\ No newline at end of file
index 3a811ed..28ad9b4 100644 (file)
                <property name="nodeDirectory" value="bundleconfig-local/etc/oxm/" />
                <property name="edgeDirectory" value="bundleconfig-local/etc/oxm/" />
        </bean>
-
-  <bean id="schemaVersions" class="org.onap.aai.setup.SchemaVersions"/>
-  
        <bean id="oxmConfigTranslator" class="org.onap.aai.setup.AAIConfigTranslator">
-    <constructor-arg ref="schemaLocationsBean" />
-    <constructor-arg ref="schemaVersions" />
+               <constructor-arg ref="schemaLocationsBean" />
+               <constructor-arg ref="schemaVersions" />
        </bean>
   
        <bean id="nodeIngestor" class="org.onap.aai.nodes.NodeIngestor">