-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
#
# 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
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
# 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}
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
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>
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
</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" />
*/
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) {
--- /dev/null
+/**\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
<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>
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);
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() {
+ public NodeIngestor getNodeIngestor() {
+ return nodeIngestor;
+ }
+
+ @Autowired
+ public void setNodeIngestor(NodeIngestor nodeIngestor) {
+ this.nodeIngestor = nodeIngestor;
+ }
+
/**
* Load an oxm model.
*
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();
@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>();
gizmoConfig.setValidateServerHostname(false);
gizmoAdapter = new GizmoAdapter(oxmModelLoader, gizmoConfig);
-
gizmoAdapter.setInventoryBasePath("/services/inventory/v12/");
gizmoAdapter.setRelationshipsBasePath("/services/inventory/relationships/v12/");
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);
}
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
<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">