summaryrefslogtreecommitdiffstats
path: root/sparkybe-onap-application
diff options
context:
space:
mode:
authorda490c <dave.adams@amdocs.com>2018-07-17 14:04:07 -0400
committerda490c <dave.adams@amdocs.com>2018-07-17 14:12:36 -0400
commitf42670da77dabfb638c6b180ac7133ec869ecc69 (patch)
treef788f5ab8461f1f7a72089d31673e7ec11bb7902 /sparkybe-onap-application
parent6977125bf359dbea3533052007930b18fa988976 (diff)
Implement Spring Profile Sparky Config
Issue-ID: AAI-1379 Change-Id: I5d56b766f681452abe7e61b307e008bc5a695814 Signed-off-by: da490c <dave.adams@amdocs.com>
Diffstat (limited to 'sparkybe-onap-application')
-rw-r--r--sparkybe-onap-application/config/application-camel.properties3
-rw-r--r--sparkybe-onap-application/config/application-fe-dev.properties7
-rw-r--r--sparkybe-onap-application/config/application-fe-prod.properties7
-rw-r--r--sparkybe-onap-application/config/application-gizmo.properties7
-rw-r--r--sparkybe-onap-application/config/application-http.properties1
-rw-r--r--sparkybe-onap-application/config/application-oxm-override.properties1
-rw-r--r--sparkybe-onap-application/config/application-oxm-schema-dev.properties1
-rw-r--r--sparkybe-onap-application/config/application-oxm-schema-prod.properties1
-rw-r--r--sparkybe-onap-application/config/application-portal.properties0
-rw-r--r--sparkybe-onap-application/config/application-resources.properties8
-rw-r--r--sparkybe-onap-application/config/application-ssl.properties3
-rw-r--r--sparkybe-onap-application/config/application-sync.properties6
-rw-r--r--sparkybe-onap-application/config/application.properties16
-rw-r--r--sparkybe-onap-application/config/auth/client-cert-onap.p12bin0 -> 2556 bytes
-rw-r--r--sparkybe-onap-application/config/auth/csp-cookie-filter.properties18
-rw-r--r--sparkybe-onap-application/config/auth/tomcat_keystorebin0 -> 2214 bytes
-rw-r--r--sparkybe-onap-application/config/descriptors/aaiEntityNodeDescriptors.json218
-rw-r--r--sparkybe-onap-application/config/filters/aaiui_filters.json95
-rw-r--r--sparkybe-onap-application/config/filters/aaiui_views.json17
-rw-r--r--sparkybe-onap-application/config/filters/subscription_object_inspector_mapping.json16
-rw-r--r--sparkybe-onap-application/config/logging/logback.xml172
-rw-r--r--sparkybe-onap-application/config/portal/BOOT-INF/classes/portal.properties21
-rw-r--r--sparkybe-onap-application/config/portal/portal-authentication.properties3
-rw-r--r--sparkybe-onap-application/config/portal/roles.config6
-rw-r--r--sparkybe-onap-application/config/schemaIngest.properties7
-rw-r--r--sparkybe-onap-application/config/schemas/autoSuggestMappings.json10
-rw-r--r--sparkybe-onap-application/config/schemas/autoSuggestSettings.json21
-rw-r--r--sparkybe-onap-application/config/schemas/dynamicMappings.json14
-rw-r--r--sparkybe-onap-application/config/schemas/entityCountHistoryMappings.json16
-rw-r--r--sparkybe-onap-application/config/schemas/es_mappings.json32
-rw-r--r--sparkybe-onap-application/config/schemas/es_settings.json36
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-aggregate-vnf-search-provider.xml34
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-elasticsearch.xml32
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-filters.xml27
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-gizmo.xml30
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-global-search.xml26
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-oxm-default.xml13
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-oxm-override.xml14
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-oxm.xml185
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-resources.xml30
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-search-service.xml26
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-subscription-service.xml38
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-sync.xml328
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-view-inspect-search-provider.xml35
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-gizmo.xml63
-rw-r--r--sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-resources.xml66
-rw-r--r--sparkybe-onap-application/pom.xml31
-rw-r--r--sparkybe-onap-application/src/main/docker/Dockerfile3
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java84
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/aai/FrontEndLayoutApi.java2
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterAggregationRouter.java (renamed from sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java)23
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterRequestRouter.java (renamed from sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java)23
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/GlobalSearchRouter.java (renamed from sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java)23
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/SubscriptionRouter.java37
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/ViewInspectRouter.java37
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/CamelConfiguration.java19
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/portal/PortalBean.java41
-rw-r--r--sparkybe-onap-application/src/main/scripts/start.sh8
58 files changed, 1928 insertions, 113 deletions
diff --git a/sparkybe-onap-application/config/application-camel.properties b/sparkybe-onap-application/config/application-camel.properties
new file mode 100644
index 0000000..03a7f20
--- /dev/null
+++ b/sparkybe-onap-application/config/application-camel.properties
@@ -0,0 +1,3 @@
+camel.springboot.name = SparkyCamelContext
+#camel.springboot.xmlRests = file:${CONFIG_HOME}/camel-rests/*.xml
+camel.component.servlet.mapping.context-path=/rest/* \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-fe-dev.properties b/sparkybe-onap-application/config/application-fe-dev.properties
new file mode 100644
index 0000000..bba6656
--- /dev/null
+++ b/sparkybe-onap-application/config/application-fe-dev.properties
@@ -0,0 +1,7 @@
+
+server.servlet.context-path=/services/aai/webapp/
+
+#
+# attempt to externalize ui JS classes + resources
+#
+spring.resources.static-locations=file:${APP_HOME}/target/static/ \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-fe-prod.properties b/sparkybe-onap-application/config/application-fe-prod.properties
new file mode 100644
index 0000000..b332358
--- /dev/null
+++ b/sparkybe-onap-application/config/application-fe-prod.properties
@@ -0,0 +1,7 @@
+
+server.servlet.context-path=/services/aai/webapp/
+
+#
+# attempt to externalize ui JS classes + resources
+#
+spring.resources.static-locations=file:${APP_HOME}/static/ \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-gizmo.properties b/sparkybe-onap-application/config/application-gizmo.properties
new file mode 100644
index 0000000..e988873
--- /dev/null
+++ b/sparkybe-onap-application/config/application-gizmo.properties
@@ -0,0 +1,7 @@
+gizmo.hostname=127.0.0.1
+gizmo.port=9520
+gizmo.authType=SSL_CERT
+gizmo.client-cert=client-cert-onap.p12
+gizmo.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+gizmo.trust-store=tomcat_keystore
+gizmo.apiVersion=v12
diff --git a/sparkybe-onap-application/config/application-http.properties b/sparkybe-onap-application/config/application-http.properties
new file mode 100644
index 0000000..f81a597
--- /dev/null
+++ b/sparkybe-onap-application/config/application-http.properties
@@ -0,0 +1 @@
+server.port = 9517 \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-oxm-override.properties b/sparkybe-onap-application/config/application-oxm-override.properties
new file mode 100644
index 0000000..1fa006e
--- /dev/null
+++ b/sparkybe-onap-application/config/application-oxm-override.properties
@@ -0,0 +1 @@
+oxm.apiVersionOverride=V11 \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-oxm-schema-dev.properties b/sparkybe-onap-application/config/application-oxm-schema-dev.properties
new file mode 100644
index 0000000..66efe1d
--- /dev/null
+++ b/sparkybe-onap-application/config/application-oxm-schema-dev.properties
@@ -0,0 +1 @@
+oxm.schemaNodeDir=${APP_HOME}/target/oxm \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-oxm-schema-prod.properties b/sparkybe-onap-application/config/application-oxm-schema-prod.properties
new file mode 100644
index 0000000..111a63f
--- /dev/null
+++ b/sparkybe-onap-application/config/application-oxm-schema-prod.properties
@@ -0,0 +1 @@
+oxm.schemaNodeDir=${APP_HOME}/oxm \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-portal.properties b/sparkybe-onap-application/config/application-portal.properties
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sparkybe-onap-application/config/application-portal.properties
diff --git a/sparkybe-onap-application/config/application-resources.properties b/sparkybe-onap-application/config/application-resources.properties
new file mode 100644
index 0000000..2a7770f
--- /dev/null
+++ b/sparkybe-onap-application/config/application-resources.properties
@@ -0,0 +1,8 @@
+resources.hostname=127.0.0.1
+resources.port=8443
+resources.authType=SSL_BASIC
+resources.basicAuthUserName=AAI
+resources.basicAuthPassword=AAI
+resources.client-cert=client-cert-onap.p12
+resources.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+resources.trust-store=tomcat_keystore
diff --git a/sparkybe-onap-application/config/application-ssl.properties b/sparkybe-onap-application/config/application-ssl.properties
new file mode 100644
index 0000000..04ff25b
--- /dev/null
+++ b/sparkybe-onap-application/config/application-ssl.properties
@@ -0,0 +1,3 @@
+server.port = 8000
+server.ssl.key-store=file:${CONFIG_HOME}/auth/tomcat_keystore
+server.ssl.key-store-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application-sync.properties b/sparkybe-onap-application/config/application-sync.properties
new file mode 100644
index 0000000..4fb10a2
--- /dev/null
+++ b/sparkybe-onap-application/config/application-sync.properties
@@ -0,0 +1,6 @@
+aggregationSyncEnabled=true
+historicalEntitySyncEnabled=true
+autoSuggestSyncEnabled=true
+vnfAliasSyncEnabled=true
+geoSyncEnabled=true
+viewInspectSyncEnabled=true \ No newline at end of file
diff --git a/sparkybe-onap-application/config/application.properties b/sparkybe-onap-application/config/application.properties
new file mode 100644
index 0000000..54f4f40
--- /dev/null
+++ b/sparkybe-onap-application/config/application.properties
@@ -0,0 +1,16 @@
+#
+# disable the default thyme leaf icon on web-pages
+#
+spring.mvc.favicon.enabled=false
+
+#possible values: camel,http,ssl,portal,fe-dev,fe-prod,oxm-default,oxm-override,[resources|gizmo],sync,oxm-schema-prod
+spring.profiles.active=camel,ssl,fe-dev,oxm-schema-dev,resources,sync
+
+elasticsearch.hostname=127.0.0.1
+elasticsearch.port=9200
+
+searchservice.hostname=127.0.0.1
+searchservice.port=9502
+searchservice.client-cert=client-cert-onap.p12
+searchservice.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+searchservice.truststore=tomcat_keystore
diff --git a/sparkybe-onap-application/config/auth/client-cert-onap.p12 b/sparkybe-onap-application/config/auth/client-cert-onap.p12
new file mode 100644
index 0000000..dbf4fca
--- /dev/null
+++ b/sparkybe-onap-application/config/auth/client-cert-onap.p12
Binary files differ
diff --git a/sparkybe-onap-application/config/auth/csp-cookie-filter.properties b/sparkybe-onap-application/config/auth/csp-cookie-filter.properties
new file mode 100644
index 0000000..48984cd
--- /dev/null
+++ b/sparkybe-onap-application/config/auth/csp-cookie-filter.properties
@@ -0,0 +1,18 @@
+# AT&T Global login page. This is the redirect URL
+# Production login page:
+# https://www.e-access.att.com/empsvcs/hrpinmgt/pagLogin/
+#
+# Test login page:
+# https://webtest.csp.att.com/empsvcs/hrpinmgt/pagLogin/
+global.login.url=<%= @GLOBAL_LOGIN_URL %>
+
+# MOTS ID of the application
+application.id=24153
+
+# valid domains for open redirect
+redirect-domain=<%= @VALID_REDIRECT_DOMAIN %>
+
+# Required by esGateKeeper. Valid values are:
+# DEVL - used during development
+# PROD - used in production
+gatekeeper.environment=<%= @GATEKEEPER_ENV %> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/auth/tomcat_keystore b/sparkybe-onap-application/config/auth/tomcat_keystore
new file mode 100644
index 0000000..9eec841
--- /dev/null
+++ b/sparkybe-onap-application/config/auth/tomcat_keystore
Binary files differ
diff --git a/sparkybe-onap-application/config/descriptors/aaiEntityNodeDescriptors.json b/sparkybe-onap-application/config/descriptors/aaiEntityNodeDescriptors.json
new file mode 100644
index 0000000..e72bab0
--- /dev/null
+++ b/sparkybe-onap-application/config/descriptors/aaiEntityNodeDescriptors.json
@@ -0,0 +1,218 @@
+{
+ "generalNodeClass": {
+ "class": "aai-entity-node general-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "16"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "10"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "33"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ }]
+ },
+ "searchedNodeClass": {
+ "class": "aai-entity-node search-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "16"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "10"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "33"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ }]
+ },
+ "selectedSearchedNodeClass": {
+ "class": "aai-entity-node selected-search-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "31"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "20"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "63"
+ }
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_ellipses",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "33",
+ "y": "-35"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_triangle_warning",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "46",
+ "y": "-12"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ }]
+ },
+ "selectedNodeClass": {
+ "class": "aai-entity-node selected-node",
+ "visualElements": [{
+ "type": "circle",
+ "class": "outer",
+ "svgAttributes": {
+ "r": "31"
+ }
+ },
+ {
+ "type": "circle",
+ "class": "inner",
+ "svgAttributes": {
+ "r": "20"
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-type-label",
+ "displayKey": "itemType",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "48"
+ }
+ }
+ },
+ {
+ "type": "text",
+ "class": "id-value-label",
+ "displayKey": "itemNameValue",
+ "shapeAttributes": {
+ "offset": {
+ "x": "0",
+ "y": "63"
+ }
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_ellipses",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "33",
+ "y": "-35"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ },
+ {
+ "type": "button",
+ "name": "icon_triangle_warning",
+ "class": "node-button",
+ "shapeAttributes": {
+ "offset": {
+ "x": "46",
+ "y": "-12"
+ }
+ },
+ "svgAttributes": {
+ "className": "node-button",
+ "r": "10"
+ }
+ }]
+ }
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/filters/aaiui_filters.json b/sparkybe-onap-application/config/filters/aaiui_filters.json
new file mode 100644
index 0000000..e053442
--- /dev/null
+++ b/sparkybe-onap-application/config/filters/aaiui_filters.json
@@ -0,0 +1,95 @@
+{
+ "filters": [{
+ "filterId": "1",
+ "filterName": "Orchestration-Status",
+ "displayName": "Orchestration Status",
+ "dataType": "dropDown",
+ "multiSelect": "false",
+ "watermark": "Any Orchestration Status",
+ "optionsType": "options",
+ "dataSource": {
+ "indexName": "aggregate_generic-vnf_index",
+ "docType": "default",
+ "fieldName": "orchestration-status"
+ }
+ },
+ {
+ "filterId": "2",
+ "filterName": "Prov-Status",
+ "displayName": "Provisioning Status",
+ "dataType": "dropDown",
+ "multiSelect": "false",
+ "watermark": "Any Provisioning Status",
+ "optionsType": "options",
+ "dataSource": {
+ "indexName": "aggregate_generic-vnf_index",
+ "docType": "default",
+ "fieldName": "prov-status"
+ }
+ },
+ {
+ "filterId": "5",
+ "filterName": "Date",
+ "displayName": "Date",
+ "dataType": "date",
+ "multiSelect": "false",
+ "watermark": "Choose Date Range",
+ "defaultValue": {
+ "decode": "Today",
+ "code": "last_0_hours"
+ },
+ "optionsType": "dynamicOptions",
+ "optionsValues": [{
+ "decode": "Today",
+ "code": "last_0_hours"
+ },
+ {
+ "decode": "Since Yesterday",
+ "code": "last_1_days"
+ },
+ {
+ "decode": "Since Last Week",
+ "code": "last_1_weeks"
+ },
+ {
+ "decode": "Since Last Month",
+ "code": "last_1_months"
+ },
+ {
+ "decode": "Since Last Year",
+ "code": "last_1_years"
+ },
+ {
+ "decode": "Custom Range",
+ "code": "custom_range"
+ }]
+ },
+ {
+ "filterId": "7",
+ "filterName": "nf-type",
+ "displayName": "Network Function Type",
+ "dataType": "dropDown",
+ "multiSelect": "false",
+ "watermark": "Any Network Function Type",
+ "optionsType": "options",
+ "dataSource": {
+ "indexName": "aggregate_generic-vnf_index",
+ "docType": "default",
+ "fieldName": "nf-type"
+ }
+ },
+ {
+ "filterId": "8",
+ "filterName": "nf-role",
+ "displayName": "Network Function Role",
+ "dataType": "dropDown",
+ "multiSelect": "false",
+ "watermark": "Any Network Function Role",
+ "optionsType": "options",
+ "dataSource": {
+ "indexName": "aggregate_generic-vnf_index",
+ "docType": "default",
+ "fieldName": "nf-role"
+ }
+ }]
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/filters/aaiui_views.json b/sparkybe-onap-application/config/filters/aaiui_views.json
new file mode 100644
index 0000000..74206fb
--- /dev/null
+++ b/sparkybe-onap-application/config/filters/aaiui_views.json
@@ -0,0 +1,17 @@
+{
+ "views": [{
+ "viewName": "vnfSearch",
+ "filters": [{
+ "filterId": "2"
+ },
+ {
+ "filterId": "1"
+ },
+ {
+ "filterId": "7"
+ },
+ {
+ "filterId": "8"
+ }]
+ }]
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/filters/subscription_object_inspector_mapping.json b/sparkybe-onap-application/config/filters/subscription_object_inspector_mapping.json
new file mode 100644
index 0000000..ad2ab7a
--- /dev/null
+++ b/sparkybe-onap-application/config/filters/subscription_object_inspector_mapping.json
@@ -0,0 +1,16 @@
+{
+ "target": "",
+ "origin": "",
+ "messageType": "",
+ "topic": "",
+ "message": {
+ "applicationName": "",
+ "payload": {
+ "action": "",
+ "params": {
+ "objectName": "",
+ "externalClassId": ""
+ }
+ }
+ }
+}
diff --git a/sparkybe-onap-application/config/logging/logback.xml b/sparkybe-onap-application/config/logging/logback.xml
new file mode 100644
index 0000000..3d132b7
--- /dev/null
+++ b/sparkybe-onap-application/config/logging/logback.xml
@@ -0,0 +1,172 @@
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+
+ <property name="logDir" value="/var/log/onap" />
+
+ <!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy"
+ | "SDNC" | "AC" -->
+ <property name="componentName" value="AAI-UI"></property>
+
+ <!-- default eelf log file names -->
+ <property name="generalLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+
+ <property name="errorLogPattern"
+ value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" />
+ <property name="auditMetricPattern" value="%m%n" />
+
+ <property name="logDirectory" value="${logDir}/${componentName}" />
+
+
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${errorLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+ <appender name="EELF"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+ </fileNamePattern>
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${errorLogPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+
+
+ <!-- EELF Audit Appender. This appender is used to record audit engine related
+ logging events. The audit logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+
+ <appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+ </fileNamePattern>
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${auditMetricPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender>
+
+ <appender name="EELFMetrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+ </fileNamePattern>
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
+ <pattern>${auditMetricPattern}</pattern>
+ </encoder>
+ </appender>
+
+
+ <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics" />
+ </appender>
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+ </fileNamePattern>
+ <maxHistory>60</maxHistory>
+ </rollingPolicy>
+ <encoder>
+ <pattern>${errorLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>false</includeCallerData>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <!-- Spring related loggers -->
+ <logger name="org.springframework" level="WARN" />
+ <logger name="org.springframework.beans" level="WARN" />
+ <logger name="org.springframework.web" level="WARN" />
+ <logger name="com.blog.spring.jms" level="WARN" />
+
+ <!-- Sparky loggers -->
+ <logger name="org.onap" level="INFO" />
+
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger name="net.sf" level="WARN" />
+ <logger name="org.apache.commons.httpclient" level="WARN" />
+ <logger name="org.apache.commons" level="WARN" />
+ <logger name="org.apache.coyote" level="WARN" />
+ <logger name="org.apache.jasper" level="WARN" />
+
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger name="org.apache.camel" level="WARN" />
+ <logger name="org.apache.cxf" level="WARN" />
+ <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.service" level="WARN" />
+ <logger name="org.restlet" level="WARN" />
+ <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+ <!-- logback internals logging -->
+ <logger name="ch.qos.logback.classic" level="WARN" />
+ <logger name="ch.qos.logback.core" level="WARN" />
+
+ <root>
+ <appender-ref ref="asyncEELF" />
+ <!-- <appender-ref ref="asyncEELFDebug" /> -->
+ </root>
+
+</configuration>
diff --git a/sparkybe-onap-application/config/portal/BOOT-INF/classes/portal.properties b/sparkybe-onap-application/config/portal/BOOT-INF/classes/portal.properties
new file mode 100644
index 0000000..ca6b34b
--- /dev/null
+++ b/sparkybe-onap-application/config/portal/BOOT-INF/classes/portal.properties
@@ -0,0 +1,21 @@
+# Java class that implements the ECOMP role and user mgt API
+portal.api.impl.class=org.openecomp.sparky.security.portal.PortalRestAPIServiceImpl
+# Instance of ECOMP Portal where the app has been on-boarded
+# ecomp_rest_url=http://ecomp.homer.att.com/ecompportal/auxapi
+# use insecure http for dev purposes to avoid self-signed certificate
+ecomp_rest_url=<%= @ECOMP_REST_URL %>
+
+### CSP-SSO
+# Standard global logon page
+ecomp_redirect_url=<%= @ECOMP_REDIRECT_URL %>
+# Test global logon page only accepts registered users
+# ecomp_redirect_url=https://webtest.csp.att.com/ecompportal/ecompportal/process_csp
+# CSP settings
+csp_cookie_name=<%= @CSP_COOKIE_NAME %>
+# Alternate values: DEVL, V_DEVL, V_PROD
+csp_gate_keeper_prod_key=PROD
+
+# No use of UEB; however, this key is used to identify the app.
+ueb_listeners_enable=false
+# cl778h demo app
+ueb_app_key=<%= @UEB_APP_KEY %> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/portal/portal-authentication.properties b/sparkybe-onap-application/config/portal/portal-authentication.properties
new file mode 100644
index 0000000..a49cc69
--- /dev/null
+++ b/sparkybe-onap-application/config/portal/portal-authentication.properties
@@ -0,0 +1,3 @@
+username=admin
+password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+onap_enabled=true \ No newline at end of file
diff --git a/sparkybe-onap-application/config/portal/roles.config b/sparkybe-onap-application/config/portal/roles.config
new file mode 100644
index 0000000..b8313bd
--- /dev/null
+++ b/sparkybe-onap-application/config/portal/roles.config
@@ -0,0 +1,6 @@
+[
+ {
+ "id":1,
+ "name":"View"
+ }
+] \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemaIngest.properties b/sparkybe-onap-application/config/schemaIngest.properties
new file mode 100644
index 0000000..4d06763
--- /dev/null
+++ b/sparkybe-onap-application/config/schemaIngest.properties
@@ -0,0 +1,7 @@
+# Properties for the SchemaLocationsBean
+# The AAI Schema jar will be unpacked
+schemaConfig=NA
+# Files named aai_oxm_v*.xml are unpacked here:
+nodeDir=${oxm.schemaNodeDir}
+# Dummy folder/directory:
+edgeDir= \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemas/autoSuggestMappings.json b/sparkybe-onap-application/config/schemas/autoSuggestMappings.json
new file mode 100644
index 0000000..7857617
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/autoSuggestMappings.json
@@ -0,0 +1,10 @@
+{
+ "properties" : {
+ "entity_suggest" : {
+ "type" : "completion",
+ "payloads" : true,
+ "analyzer" : "custom_analyzer",
+ "preserve_position_increments": false
+ }
+ }
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemas/autoSuggestSettings.json b/sparkybe-onap-application/config/schemas/autoSuggestSettings.json
new file mode 100644
index 0000000..4525be1
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/autoSuggestSettings.json
@@ -0,0 +1,21 @@
+{
+ "analysis": {
+ "filter": {
+ "eng_stop": {
+ "type": "stop",
+ "stopwords": "_english_"
+ }
+ },
+ "analyzer": {
+ "custom_analyzer": {
+ "type": "custom",
+ "tokenizer": "standard",
+ "filter": [
+ "lowercase",
+ "asciifolding",
+ "eng_stop"
+ ]
+ }
+ }
+ }
+ } \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemas/dynamicMappings.json b/sparkybe-onap-application/config/schemas/dynamicMappings.json
new file mode 100644
index 0000000..09a00ac
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/dynamicMappings.json
@@ -0,0 +1,14 @@
+{
+ "dynamic_templates": [
+ {
+ "strings": {
+ "match_mapping_type": "string",
+ "match": "*",
+ "mapping": {
+ "type": "string",
+ "index": "not_analyzed"
+ }
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemas/entityCountHistoryMappings.json b/sparkybe-onap-application/config/schemas/entityCountHistoryMappings.json
new file mode 100644
index 0000000..84e3aec
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/entityCountHistoryMappings.json
@@ -0,0 +1,16 @@
+{
+ "properties": {
+ "count": {
+ "type": "long"
+ },
+ "entityType": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "timestamp": {
+ "type": "date",
+ "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+ }
+ }
+}
+
diff --git a/sparkybe-onap-application/config/schemas/es_mappings.json b/sparkybe-onap-application/config/schemas/es_mappings.json
new file mode 100644
index 0000000..216e3d9
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/es_mappings.json
@@ -0,0 +1,32 @@
+{
+ "properties": {
+ "entityType": {
+ "type": "string",
+ "analyzer": "ngram_analyzer",
+ "search_analyzer": "ngram_analyzer"
+ },
+ "entityPrimaryKeyValue": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "searchTagIDs": {
+ "type": "string"
+ },
+ "searchTags": {
+ "type": "string",
+ "analyzer": "ngram_analyzer"
+ },
+ "crossEntityReferenceValues": {
+ "type": "string",
+ "analyzer": "ngram_analyzer"
+ },
+ "link": {
+ "type": "string",
+ "index": "not_analyzed"
+ },
+ "lastmodTimestamp": {
+ "type": "date",
+ "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||yyyy-MM-dd HH:mm:ss||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+ }
+ }
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/schemas/es_settings.json b/sparkybe-onap-application/config/schemas/es_settings.json
new file mode 100644
index 0000000..21a357c
--- /dev/null
+++ b/sparkybe-onap-application/config/schemas/es_settings.json
@@ -0,0 +1,36 @@
+{
+ "analysis": {
+ "filter": {
+ "ngram_filter": {
+ "type": "nGram",
+ "min_gram": 1,
+ "max_gram": 50,
+ "token_chars": [
+ "letter",
+ "digit",
+ "punctuation",
+ "symbol"
+ ]
+ }
+ },
+ "analyzer": {
+ "ngram_analyzer": {
+ "type": "custom",
+ "tokenizer": "whitespace",
+ "filter": [
+ "lowercase",
+ "asciifolding",
+ "ngram_filter"
+ ]
+ },
+ "whitespace_analyzer": {
+ "type": "custom",
+ "tokenizer": "whitespace",
+ "filter": [
+ "lowercase",
+ "asciifolding"
+ ]
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-aggregate-vnf-search-provider.xml b/sparkybe-onap-application/config/spring-beans/sparky-aggregate-vnf-search-provider.xml
new file mode 100644
index 0000000..25da171
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-aggregate-vnf-search-provider.xml
@@ -0,0 +1,34 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="aggregateVnfSearchProvider"
+ class="org.onap.aai.sparky.aggregatevnf.search.AggregateVnfSearchProvider">
+ <constructor-arg ref="searchServiceAdapter" />
+ <constructor-arg name="autoSuggestIndexName" value="entityautosuggestindex" />
+ <constructor-arg name="vnfSearchSuggestionRoute"
+ value="vnfSearch" />
+ </bean>
+
+ <bean id="aggregateSummaryProcessor"
+ class="org.onap.aai.sparky.aggregatevnf.search.AggregateSummaryProcessor">
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="filtersConfig" />
+ <property name="vnfAggregationIndexName" value="aggregate_generic-vnf_index" />
+ </bean>
+
+ <bean id="registerAggregateVnfSearchProvider"
+ class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+ <property name="targetObject" ref="searchProviderRegistry" />
+ <property name="targetMethod">
+ <value>addSearchProviders</value>
+ </property>
+ <property name="arguments">
+ <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
+ <ref bean="aggregateVnfSearchProvider" />
+ </list>
+ </property>
+ </bean>
+</beans>
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-elasticsearch.xml b/sparkybe-onap-application/config/spring-beans/sparky-elasticsearch.xml
new file mode 100644
index 0000000..b697fed
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-elasticsearch.xml
@@ -0,0 +1,32 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="elasticSearchSchemaFactory" class="org.onap.aai.sparky.sync.ElasticSearchSchemaFactory">
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="elasticSearchRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+ <property name="endpointIpAddress" value="${elasticsearch.hostname:127.0.0.1}" />
+ <property name="endpointServerPort" value="${elasticsearch.port:9200}" />
+ <property name="numRequestRetries" value="5" />
+ <property name="restAuthenticationMode" value="HTTP_NOAUTH" />
+ <property name="connectTimeoutInMs" value="60000" />
+ <property name="readTimeoutInMs" value="30000" />
+ </bean>
+
+ <bean id="elasticSearchAdapter" class="org.onap.aai.sparky.dal.ElasticSearchAdapter">
+ <constructor-arg ref="elasticSearchRestEndpointConfig" />
+ </bean>
+
+ <bean id="elasticSearchEndpointConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchEndpointConfig">
+ <property name="esIpAddress" value="${elasticsearch.hostname:127.0.0.1}" />
+ <property name="esServerPort" value="${elasticsearch.port:9200}" />
+ <property name="scrollContextTimeToLiveInMinutes" value="5" />
+ <property name="scrollContextBatchRequestSize" value="5000" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-filters.xml b/sparkybe-onap-application/config/spring-beans/sparky-filters.xml
new file mode 100644
index 0000000..2dc4936
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-filters.xml
@@ -0,0 +1,27 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="filtersConfig" class="org.onap.aai.sparky.search.filters.config.FiltersConfig">
+ <constructor-arg name="filtersFileName" value="/filters/aaiui_filters.json" />
+ <constructor-arg name="viewsFileName" value="/filters/aaiui_views.json" />
+ <constructor-arg name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="filterElasticSearchAdapter"
+ class="org.onap.aai.sparky.search.filters.FilterElasticSearchAdapter">
+ <constructor-arg ref="elasticSearchAdapter" />
+ </bean>
+
+ <bean id="filteredSearchHelper" class="org.onap.aai.sparky.search.filters.FilteredSearchHelper">
+ <constructor-arg ref="filtersConfig" />
+ <constructor-arg ref="filterElasticSearchAdapter" />
+ </bean>
+
+ <bean id="filterProcessor" class="org.onap.aai.sparky.search.filters.FilterProcessor">
+ <property name="filteredSearchHelper" ref="filteredSearchHelper" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-gizmo.xml b/sparkybe-onap-application/config/spring-beans/sparky-gizmo.xml
new file mode 100644
index 0000000..cc6031a
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-gizmo.xml
@@ -0,0 +1,30 @@
+<beans profile="gizmo" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="gizmoRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+ <property name="endpointIpAddress" value="${gizmo.hostname:127.0.0.1}" />
+ <property name="endpointServerPort" value="${gizmo.port:9520}" />
+ <property name="numRequestRetries" value="5" />
+ <property name="restAuthenticationMode" value="${gizmo.authType:SSL_CERT}" />
+ <property name="connectTimeoutInMs" value="60000" />
+ <property name="readTimeoutInMs" value="30000" />
+ <property name="certFileName" value="/auth/${gizmo.client-cert}" />
+ <property name="certPassword" value="OBF:${gizmo.client-cert-password}" />
+ <property name="truststoreFileName" value="/auth/${gizmo.trust-store}" />
+ <property name="validateServerCertChain" value="false" />
+ <property name="validateServerHostname" value="false" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="gizmoAdapter" class="org.onap.aai.sparky.dal.GizmoAdapter">
+ <constructor-arg ref="oxmModelLoader" />
+ <constructor-arg ref="gizmoRestEndpointConfig" />
+ <property name="relationshipsBasePath"
+ value="/services/inventory/relationships/${gizmo.apiVersion:v12}/" />
+ <property name="inventoryBasePath" value="/services/inventory/${gizmo.apiVersion:v12}/" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-global-search.xml b/sparkybe-onap-application/config/spring-beans/sparky-global-search.xml
new file mode 100644
index 0000000..4504f65
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-global-search.xml
@@ -0,0 +1,26 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="searchServiceRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+ <property name="endpointIpAddress" value="${searchservice.hostname:127.0.0.1}" />
+ <property name="endpointServerPort" value="${searchservice.port:9509}" />
+ <property name="numRequestRetries" value="5" />
+ <property name="restAuthenticationMode" value="SSL_CERT" />
+ <property name="connectTimeoutInMs" value="60000" />
+ <property name="readTimeoutInMs" value="30000" />
+ <property name="certFileName" value="/auth/${searchservice.client-cert}" />
+ <property name="certPassword" value="${searchservice.client-cert-password}" />
+ <property name="truststoreFileName" value="/auth/${searchservice.truststore}" />
+ <property name="validateServerCertChain" value="false" />
+ <property name="validateServerHostname" value="false" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
+ <constructor-arg ref="searchServiceRestEndpointConfig" />
+ <constructor-arg name="serviceApiVersion" value="v1" />
+ </bean>
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-oxm-default.xml b/sparkybe-onap-application/config/spring-beans/sparky-oxm-default.xml
new file mode 100644
index 0000000..98ce1ad
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-oxm-default.xml
@@ -0,0 +1,13 @@
+<beans profile="oxm-default" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ 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" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-oxm-override.xml b/sparkybe-onap-application/config/spring-beans/sparky-oxm-override.xml
new file mode 100644
index 0000000..5c6839b
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-oxm-override.xml
@@ -0,0 +1,14 @@
+<beans profile="oxm-override" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ 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 name="apiVersionOverride" value="${oxm.apiVersionOverride}" />
+ <constructor-arg ref="oxmModelProcessorSet" />
+ <constructor-arg ref="nodeIngestor" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml b/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml
new file mode 100644
index 0000000..ed084dc
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-oxm.xml
@@ -0,0 +1,185 @@
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:task="http://www.springframework.org/schema/task"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
+ http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
+
+ <context:property-placeholder
+ location="file:${CONFIG_HOME}/schemaIngest.properties"
+ ignore-unresolvable="true" />
+
+ <bean id="crossEntityReferenceLookup"
+ class="org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup" />
+
+ <bean id="geoEntityLookup" class="org.onap.aai.sparky.config.oxm.GeoEntityLookup" />
+
+ <bean id="oxmEntityLookup" class="org.onap.aai.sparky.config.oxm.OxmEntityLookup" />
+
+ <bean id="searchableEntityLookup" class="org.onap.aai.sparky.config.oxm.SearchableEntityLookup" />
+
+ <bean id="suggestionEntityLookup" class="org.onap.aai.sparky.config.oxm.SuggestionEntityLookup">
+ <constructor-arg ref="filtersConfig" />
+ </bean>
+
+ <bean id="oxmModelProcessorSet" class="org.springframework.beans.factory.config.SetFactoryBean">
+ <property name="targetSetClass" value="java.util.HashSet" />
+ <property name="sourceSet">
+ <set>
+ <ref bean="crossEntityReferenceLookup" />
+ <ref bean="geoEntityLookup" />
+ <ref bean="oxmEntityLookup" />
+ <ref bean="searchableEntityLookup" />
+ <ref bean="suggestionEntityLookup" />
+ </set>
+ </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="oxmConfigTranslator" class="org.onap.aai.sparky.config.oxm.OxmConfigTranslator">
+ <constructor-arg ref="schemaLocationsBean" />
+ </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" />
+
+ <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader">
+ <property name="configHomeEnvVar" value="CONFIG_HOME" />
+ </bean>
+
+ <bean id="unifiedSearchProcessor" class="org.onap.aai.sparky.search.UnifiedSearchProcessor">
+ <property name="searchProviderRegistry" ref="searchProviderRegistry" />
+ </bean>
+
+ <bean id="entityCountHistoryProcessor" class="org.onap.aai.sparky.search.EntityCountHistoryProcessor">
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg name="entityTypesToSummarizeDelimitedList"
+ value="customer,service-instance,complex,pserver,vserver,vnf" />
+ <constructor-arg name="vnfEntityTypesDelimitedList"
+ value="vnf,newvce,vce,vpe" />
+ <constructor-arg name="entityCountHistoryIndexName"
+ value="entitycounthistoryindex" />
+ </bean>
+
+ <bean id="attributeUpdater" class="org.onap.aai.sparky.editattributes.AttributeUpdater">
+ <constructor-arg ref="oxmModelLoader" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ </bean>
+
+ <bean id="attributeEditProcessor"
+ class="org.onap.aai.sparky.editattributes.AttributeEditProcessor">
+ <constructor-arg ref="attributeUpdater" />
+ </bean>
+
+ <bean id="geoVisualizationProcessor" class="org.onap.aai.sparky.inventory.GeoVisualizationProcessor">
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg name="topographicalSearchIndexName"
+ value="topographicalsearchindex" />
+ </bean>
+
+ <bean id="pairingHashMap" class="org.springframework.beans.factory.config.MapFactoryBean">
+ <property name="targetMapClass">
+ <value>java.util.HashMap</value>
+ </property>
+ <property name="sourceMap">
+ <map key-type="java.lang.String" value-type="java.lang.String">
+ <entry key="volume-group-id" value="called" />
+ <entry key="volume-group-name" value="called" />
+ <entry key="physical-location-id" value="called" />
+ <entry key="data-center-code" value="called" />
+ <entry key="complex-name" value="called" />
+ <entry key="tenant-id" value="called" />
+ <entry key="tenant-name" value="called" />
+ <entry key="vserver-id" value="called" />
+ <entry key="vserver-name" value="called" />
+ <entry key="vserver-name2" value="called" />
+ <entry key="hostname" value="called" />
+ <entry key="pserver-name2" value="called" />
+ <entry key="pserver-id" value="called" />
+ <entry key="global-customer-id" value="called" />
+ <entry key="subscriber-name" value="called" />
+ <entry key="service-instance-id" value="called" />
+ <entry key="service-instance-name" value="called" />
+ <entry key="link-name" value="called" />
+ <entry key="vpn-id" value="called" />
+ <entry key="vpn-name" value="called" />
+ <entry key="vpe-id" value="called" />
+ <entry key="vnf-id" value="called" />
+ <entry key="vnf-name" value="called" />
+ <entry key="vnf-name2" value="called" />
+ <entry key="vnfc-name" value="called" />
+ <entry key="network-id" value="called" />
+ <entry key="network-name" value="called" />
+ <entry key="network-policy-id" value="called" />
+ <entry key="vf-module-id" value="called" />
+ <entry key="vf-module-name" value="called" />
+ <entry key="vnf-id2" value="called" />
+ <entry key="pnf-name" value="called" />
+ <entry key="circuit-id" value="called" />
+ <entry key="id" value="called" />
+ <entry key="group-id" value="called" />
+ <entry key="group-name" value="called" />
+ <entry key="street1" value="at" />
+ <entry key="street2" value="at" />
+ <entry key="code" value="at" />
+ <entry key="ipv4-oam-address" value="at" />
+ <entry key="network-policy-fqdn" value="at" />
+ </map>
+ </property>
+ </bean>
+
+ <bean id="suggestiveSearchConfigs" class="org.onap.aai.sparky.search.config.SuggestionConfig">
+ <property name="defaultPairingValue" value="with" />
+ <property name="pairingList" ref="pairingHashMap"></property>
+ <property name="stopWords">
+ <list value-type="java.lang.String">
+ <value>a</value>
+ <value>an</value>
+ <value>and</value>
+ <value>are</value>
+ <value>as</value>
+ <value>at</value>
+ <value>be</value>
+ <value>but</value>
+ <value>by</value>
+ <value>called</value>
+ <value>for</value>
+ <value>if</value>
+ <value>in</value>
+ <value>into</value>
+ <value>is</value>
+ <value>it</value>
+ <value>no</value>
+ <value>not</value>
+ <value>of</value>
+ <value>on</value>
+ <value>or</value>
+ <value>such</value>
+ <value>that</value>
+ <value>the</value>
+ <value>their</value>
+ <value>then</value>
+ <value>there</value>
+ <value>these</value>
+ <value>they</value>
+ <value>this</value>
+ <value>to</value>
+ <value>was</value>
+ <value>will</value>
+ <value>with</value>
+ </list>
+ </property>
+
+ </bean>
+
+</beans>
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-resources.xml b/sparkybe-onap-application/config/spring-beans/sparky-resources.xml
new file mode 100644
index 0000000..2395f82
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-resources.xml
@@ -0,0 +1,30 @@
+<beans profile="resources" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="aaiRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+ <property name="endpointIpAddress" value="${resources.hostname:127.0.0.1}" />
+ <property name="endpointServerPort" value="${resources.port:8443}" />
+ <property name="numRequestRetries" value="5" />
+ <property name="restAuthenticationMode" value="${resources.authType:SSL_BASIC}" />
+ <property name="connectTimeoutInMs" value="60000" />
+ <property name="readTimeoutInMs" value="30000" />
+ <property name="basicAuthUserName" value="${resources.basicAuthUserName:}" />
+ <property name="basicAuthPassword" value="${resources.basicAuthPassword:}" />
+ <property name="certFileName" value="/auth/${resources.client-cert}" />
+ <property name="certPassword" value="OBF:${resources.client-cert-password}" />
+ <property name="truststoreFileName" value="/auth/${resources.trust-store}" />
+ <property name="validateServerCertChain" value="false" />
+ <property name="validateServerHostname" value="false" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="activeInventoryAdapter" class="org.onap.aai.sparky.dal.ActiveInventoryAdapter">
+ <constructor-arg ref="oxmModelLoader" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="aaiRestEndpointConfig" />
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-search-service.xml b/sparkybe-onap-application/config/spring-beans/sparky-search-service.xml
new file mode 100644
index 0000000..c8d20c6
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-search-service.xml
@@ -0,0 +1,26 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="searchServiceRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+ <property name="endpointIpAddress" value="${searchservice.hostname:127.0.0.1}" />
+ <property name="endpointServerPort" value="${searchservice.port:9509}" />
+ <property name="numRequestRetries" value="5" />
+ <property name="restAuthenticationMode" value="SSL_CERT" />
+ <property name="connectTimeoutInMs" value="60000" />
+ <property name="readTimeoutInMs" value="30000" />
+ <property name="certFileName" value="/auth/${searchservice.client-cert:}" />
+ <property name="certPassword" value="OBF:${searchservice.client-cert-password:}" />
+ <property name="truststoreFileName" value="/auth/${searchservice.truststore:}" />
+ <property name="validateServerCertChain" value="false" />
+ <property name="validateServerHostname" value="false" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+ </bean>
+
+ <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
+ <constructor-arg ref="searchServiceRestEndpointConfig" />
+ <constructor-arg name="serviceApiVersion" value="v1" />
+ </bean>
+</beans> \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-subscription-service.xml b/sparkybe-onap-application/config/spring-beans/sparky-subscription-service.xml
new file mode 100644
index 0000000..2057b9c
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-subscription-service.xml
@@ -0,0 +1,38 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+
+ <bean id="subscriptionConfig"
+ class="org.onap.aai.sparky.subscription.config.SubscriptionConfig">
+ <property name="subscriptionTarget" value="" />
+ <property name="subscriptionOrigin" value="" />
+ <property name="subscriptionMessageType" value="" />
+ <property name="subscriptionTopic" value="" />
+ <property name="launchOITarget" value="" />
+ <property name="launchOIOrigin" value="" />
+ <property name="launchOIMessageType" value="" />
+ <property name="launchOITopic" value="" />
+ <property name="annEntitiyTypes">
+ <list value-type="java.lang.String">
+ <value>pserver</value>
+ <value>pnf</value>
+ </list>
+ </property>
+ <property name="isLaunchOIEnabled" value="false" />
+ </bean>
+
+ <bean id="subscriptionService"
+ class="org.onap.aai.sparky.subscription.services.SubscriptionService">
+ <constructor-arg ref="subscriptionConfig" />
+ </bean>
+
+ <bean id="subscriptionServiceProcessor"
+ class="org.onap.aai.sparky.subscription.SubscriptionServiceProcessor">
+ <constructor-arg ref="subscriptionService" />
+ </bean>
+
+</beans>
+ \ No newline at end of file
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-sync.xml b/sparkybe-onap-application/config/spring-beans/sparky-sync.xml
new file mode 100644
index 0000000..34c063b
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-sync.xml
@@ -0,0 +1,328 @@
+<beans profile="sync" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="elasticSearchNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
+ <property name="numSamplesPerThreadForRunningAverage" value="100" />
+ <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
+ <property name="bytesHistogramMaxYAxis" value="1000000" />
+ <property name="bytesHistogramNumBins" value="20" />
+ <property name="bytesHistogramNumDecimalPoints" value="2" />
+ <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
+ <property name="queueLengthHistogramMaxYAxis" value="20000" />
+ <property name="queueLengthHistogramNumBins" value="20" />
+ <property name="queueLengthHistogramNumDecimalPoints" value="2" />
+ <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
+ <property name="taskAgeHistogramMaxYAxis" value="600000" />
+ <property name="taskAgeHistogramNumBins" value="20" />
+ <property name="taskAgeHistogramNumDecimalPoints" value="2" />
+ <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
+ <property name="responseTimeHistogramMaxYAxis" value="1000" />
+ <property name="responseTimeHistogramNumBins" value="20" />
+ <property name="responseTimeHistogramNumDecimalPoints" value="2" />
+ <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
+ <property name="tpsHistogramMaxYAxis" value="100" />
+ <property name="tpsHistogramNumBins" value="20" />
+ <property name="tpsHistogramNumDecimalPoints" value="2" />
+ </bean>
+
+ <bean id="aaiNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
+ <property name="numSamplesPerThreadForRunningAverage" value="100" />
+ <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
+ <property name="bytesHistogramMaxYAxis" value="1000000" />
+ <property name="bytesHistogramNumBins" value="20" />
+ <property name="bytesHistogramNumDecimalPoints" value="2" />
+ <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
+ <property name="queueLengthHistogramMaxYAxis" value="20000" />
+ <property name="queueLengthHistogramNumBins" value="20" />
+ <property name="queueLengthHistogramNumDecimalPoints" value="2" />
+ <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
+ <property name="taskAgeHistogramMaxYAxis" value="600000" />
+ <property name="taskAgeHistogramNumBins" value="20" />
+ <property name="taskAgeHistogramNumDecimalPoints" value="2" />
+ <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
+ <property name="responseTimeHistogramMaxYAxis" value="10000" />
+ <property name="responseTimeHistogramNumBins" value="20" />
+ <property name="responseTimeHistogramNumDecimalPoints" value="2" />
+ <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
+ <property name="tpsHistogramMaxYAxis" value="100" />
+ <property name="tpsHistogramNumBins" value="20" />
+ <property name="tpsHistogramNumDecimalPoints" value="2" />
+ </bean>
+
+
+
+ <bean id="syncControllerRegistry" class="org.onap.aai.sparky.sync.SyncControllerRegistry" />
+
+ <bean id="aggregationSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+ <property name="controllerName" value="Aggregation-Sync-Controller" />
+ <property name="enabled" value="${aggregationSyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="aggregationSyncControllerFactory"
+ class="org.onap.aai.sparky.aggregation.sync.AggregationSyncControllerFactory"
+ init-method="registerController">
+
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="aggregationSyncControllerConfig" />
+ <constructor-arg ref="syncControllerRegistry" />
+ <constructor-arg ref="suggestionEntityLookup" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+ <property name="esAdapter" ref="elasticSearchAdapter" />
+ <property name="esStatConfig" ref="elasticSearchNetworkStatConfig" />
+
+ <property name="aaiAdapter" ref="activeInventoryAdapter" />
+ <property name="aaiStatConfig" ref="aaiNetworkStatConfig" />
+
+ <property name="aggregationEntityToIndexMap">
+ <map>
+ <entry key="generic-vnf" value="aggregate_generic-vnf_index" />
+ </map>
+ </property>
+
+ <property name="indexNameToSchemaConfigMap">
+ <map>
+ <entry key="aggregate_generic-vnf_index">
+ <bean class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="aggregate_generic-vnf_index" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
+ </bean>
+ </entry>
+ </map>
+ </property>
+
+ </bean>
+
+
+ <bean id="historicalEntitySyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+ <property name="controllerName" value="Historical-Entity-Sync-Controller" />
+ <property name="enabled" value="${historicalEntitySyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="historicalEntitySchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="entitycounthistoryindex" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/entityCountHistoryMappings.json" />
+ <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
+ </bean>
+
+ <bean id="historicalEntitySyncController"
+ class="org.onap.aai.sparky.aggregation.sync.HistoricalEntitySyncController"
+ init-method="registerController">
+
+ <constructor-arg ref="historicalEntitySyncControllerConfig" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="historicalEntitySchemaConfig" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg value="60" />
+ <constructor-arg ref="aaiNetworkStatConfig" />
+ <constructor-arg ref="elasticSearchNetworkStatConfig" />
+ <constructor-arg ref="searchableEntityLookup" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+ <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+ </bean>
+
+
+
+ <bean id="autoSuggestionSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+ <property name="controllerName" value="Auto-Suggestion-Sync-Controller" />
+ <property name="enabled" value="${autoSuggestSyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="autoSuggestionEntitySchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="entityautosuggestindex" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
+ <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
+ </bean>
+
+ <bean id="autoSuggestionEntitySyncController"
+ class="org.onap.aai.sparky.autosuggestion.sync.AutoSuggestionSyncController"
+ init-method="registerController">
+
+ <constructor-arg ref="autoSuggestionSyncControllerConfig" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="autoSuggestionEntitySchemaConfig" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="aaiNetworkStatConfig" />
+ <constructor-arg ref="elasticSearchNetworkStatConfig" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="suggestionEntityLookup" />
+ <constructor-arg ref="filtersConfig" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+
+
+ <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+ </bean>
+
+
+
+ <bean id="vnfAliasSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+ <property name="controllerName" value="Vnf-Alias-Sync-Controller" />
+ <property name="enabled" value="${vnfAliasSyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="vnfAliasEntitySchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="entityautosuggestindex" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
+ <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
+ </bean>
+
+ <bean id="vnfAliasSyncController"
+ class="org.onap.aai.sparky.autosuggestion.sync.VnfAliasSyncController"
+ init-method="registerController">
+
+ <constructor-arg ref="vnfAliasSyncControllerConfig" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="vnfAliasEntitySchemaConfig" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="aaiNetworkStatConfig" />
+ <constructor-arg ref="elasticSearchNetworkStatConfig" />
+ <constructor-arg ref="filtersConfig" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+ <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+ </bean>
+
+ <bean id="geoSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+ <property name="controllerName" value="Geo-Sync-Controller" />
+ <property name="enabled" value="${geoSyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="geoEntitySchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="topographicalsearchindex" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
+ </bean>
+
+ <bean id="geoSyncController" class="org.onap.aai.sparky.topology.sync.GeoSyncController"
+ init-method="registerController">
+
+ <constructor-arg ref="geoSyncControllerConfig" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="geoEntitySchemaConfig" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="aaiNetworkStatConfig" />
+ <constructor-arg ref="elasticSearchNetworkStatConfig" />
+ <constructor-arg ref="geoEntityLookup" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+ <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+ </bean>
+
+
+
+ <bean id="viewInspectControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+ <property name="controllerName" value="View-Inspect-Sync-Controller" />
+ <property name="enabled" value="${viewInspectSyncEnabled:true}" />
+ <property name="syncTaskDelayInMs" value="5000" />
+ <property name="syncTaskFrequencyInDays" value="1" />
+ <property name="numSyncControllerWorkers" value="2" />
+ <property name="runOnceSyncEnabled" value="true" />
+ <property name="periodicSyncEnabled" value="false" />
+ <property name="numInternalSyncWorkers" value="2" />
+ <property name="numSyncElasticWorkers" value="5" />
+ <property name="numSyncActiveInventoryWorkers" value="5" />
+ <property name="targetSyncStartTimeStamp" value="06:00:00 UTC+00:00" />
+ </bean>
+
+ <bean id="viewInspectSyncController"
+ class="org.onap.aai.sparky.viewinspect.sync.ViewInspectSyncController"
+ init-method="registerController">
+
+ <constructor-arg ref="viewInspectControllerConfig" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="viewInspectSchemaConfig" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="aaiNetworkStatConfig" />
+ <constructor-arg ref="elasticSearchNetworkStatConfig" />
+ <constructor-arg ref="crossEntityReferenceLookup" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="searchableEntityLookup" />
+ <constructor-arg ref="elasticSearchSchemaFactory" />
+
+ <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+ </bean>
+
+
+
+ <bean id="syncControllerService" class="org.onap.aai.sparky.sync.SyncControllerService"
+ destroy-method="shutdown">
+ <constructor-arg ref="syncControllerRegistry" />
+ <constructor-arg value="5" />
+ <constructor-arg value="5" />
+ </bean>
+</beans>
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-search-provider.xml b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-search-provider.xml
new file mode 100644
index 0000000..ac3c920
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-search-provider.xml
@@ -0,0 +1,35 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="viewInspectSearchProvider"
+ class="org.onap.aai.sparky.viewandinspect.search.ViewInspectSearchProvider">
+ <constructor-arg ref="searchServiceAdapter" />
+ <constructor-arg ref="suggestiveSearchConfigs" />
+ <constructor-arg name="viewInspectIndexName" value="${viewInspectIndex:entity-search-index}" />
+ <constructor-arg name="viewInspectSuggestionRoute"
+ value="schema" />
+ <constructor-arg ref="oxmEntityLookup" />
+
+ <property name="additionalSearchSuggestionText">
+ <value>Schema</value>
+ </property>
+
+ </bean>
+
+ <bean id="registerViewInspectSearchProvider"
+ class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+ <property name="targetObject" ref="searchProviderRegistry" />
+ <property name="targetMethod">
+ <value>addSearchProviders</value>
+ </property>
+ <property name="arguments">
+ <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
+ <ref bean="viewInspectSearchProvider" />
+ </list>
+ </property>
+ </bean>
+
+</beans>
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-gizmo.xml b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-gizmo.xml
new file mode 100644
index 0000000..f709446
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-gizmo.xml
@@ -0,0 +1,63 @@
+<beans profile="gizmo" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="visualizationConfigurations"
+ class="org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs">
+ <property name="maxSelfLinkTraversalDepth" value="2" />
+ <property name="visualizationDebugEnabled" value="false" />
+ <property name="aaiEntityNodeDescriptors" value="/descriptors/aaiEntityNodeDescriptors.json" />
+ <property name="generalNodeClassName" value="generalNodeClass" />
+ <property name="searchNodeClassName" value="searchedNodeClass" />
+ <property name="selectedSearchedNodeClassName" value="selectedSearchedNodeClass" />
+ <property name="numOfThreadsToFetchNodeIntegrity" value="20" />
+ <property name="makeAllNeighborsBidirectional" value="false" />
+ <property name="gizmoEnabled" value="true" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+
+ <property name="shallowEntities">
+ <list value-type="java.lang.String">
+ <value>cloud-region</value>
+ <value>complex</value>
+ <value>vnf-image</value>
+ <value>image</value>
+ <value>flavor</value>
+ <value>availability-zone</value>
+ <value>tenant</value>
+ <value>network-profile</value>
+ <value>l-interface</value>
+ </list>
+ </property>
+
+ </bean>
+
+ <bean id="viewInspectSchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="entity-search-index" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/es_mappings.json" />
+ <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
+ </bean>
+
+ <bean id="baseVisualizationService"
+ class="org.onap.aai.sparky.viewandinspect.services.BaseVisualizationService">
+ <constructor-arg ref="oxmModelLoader" />
+ <constructor-arg ref="visualizationConfigurations" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg ref="gizmoAdapter" />
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="viewInspectSchemaConfig" />
+ <constructor-arg name="numActiveInventoryWorkers" value="50" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="subscriptionConfig" />
+ </bean>
+
+ <bean id="schemaVisualizationProcessor"
+ class="org.onap.aai.sparky.viewandinspect.SchemaVisualizationProcessor">
+ <property name="visualizationService" ref="baseVisualizationService" />
+ </bean>
+
+</beans>
diff --git a/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-resources.xml b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-resources.xml
new file mode 100644
index 0000000..97fa807
--- /dev/null
+++ b/sparkybe-onap-application/config/spring-beans/sparky-view-inspect-with-resources.xml
@@ -0,0 +1,66 @@
+<beans profile="resources" xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+ <bean id="visualizationConfigurations"
+ class="org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs">
+ <property name="maxSelfLinkTraversalDepth" value="2" />
+ <property name="visualizationDebugEnabled" value="false" />
+ <property name="aaiEntityNodeDescriptors" value="/descriptors/aaiEntityNodeDescriptors.json" />
+ <property name="generalNodeClassName" value="generalNodeClass" />
+ <property name="searchNodeClassName" value="searchedNodeClass" />
+ <property name="selectedSearchedNodeClassName" value="selectedSearchedNodeClass" />
+ <property name="numOfThreadsToFetchNodeIntegrity" value="20" />
+ <property name="makeAllNeighborsBidirectional" value="false" />
+ <property name="gizmoEnabled" value="false" />
+ <property name="resourceLoader" ref="sparkyResourceLoader" />
+
+ <property name="shallowEntities">
+ <list value-type="java.lang.String">
+ <value>cloud-region</value>
+ <value>complex</value>
+ <value>vnf-image</value>
+ <value>image</value>
+ <value>flavor</value>
+ <value>availability-zone</value>
+ <value>tenant</value>
+ <value>network-profile</value>
+ <value>l-interface</value>
+ </list>
+ </property>
+
+ </bean>
+
+ <bean id="viewInspectSchemaConfig"
+ class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+ <property name="indexName" value="entity-search-index" />
+ <property name="indexDocType" value="default" />
+ <property name="indexMappingsFileName" value="/schemas/es_mappings.json" />
+ <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
+ </bean>
+
+ <bean id="baseVisualizationService"
+ class="org.onap.aai.sparky.viewandinspect.services.BaseVisualizationService">
+ <constructor-arg ref="oxmModelLoader" />
+ <constructor-arg ref="visualizationConfigurations" />
+ <constructor-arg ref="activeInventoryAdapter" />
+ <constructor-arg name="gizmoAdapter">
+ <null />
+ </constructor-arg>
+ <constructor-arg ref="elasticSearchAdapter" />
+ <constructor-arg ref="elasticSearchEndpointConfig" />
+ <constructor-arg ref="viewInspectSchemaConfig" />
+ <constructor-arg name="numActiveInventoryWorkers"
+ value="50" />
+ <constructor-arg ref="oxmEntityLookup" />
+ <constructor-arg ref="subscriptionConfig" />
+ </bean>
+
+ <bean id="schemaVisualizationProcessor"
+ class="org.onap.aai.sparky.viewandinspect.SchemaVisualizationProcessor">
+ <property name="visualizationService" ref="baseVisualizationService" />
+ </bean>
+
+</beans>
diff --git a/sparkybe-onap-application/pom.xml b/sparkybe-onap-application/pom.xml
index 287debe..622ac67 100644
--- a/sparkybe-onap-application/pom.xml
+++ b/sparkybe-onap-application/pom.xml
@@ -452,6 +452,37 @@
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-config-to-target</id>
+ <phase>package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>target/config</outputDirectory>
+ <overwrite>true</overwrite>
+ <resources>
+ <resource>
+ <directory>${basedir}/config</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ <exclude>**/auth/*</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
diff --git a/sparkybe-onap-application/src/main/docker/Dockerfile b/sparkybe-onap-application/src/main/docker/Dockerfile
index 52e3e84..3f05ff9 100644
--- a/sparkybe-onap-application/src/main/docker/Dockerfile
+++ b/sparkybe-onap-application/src/main/docker/Dockerfile
@@ -16,18 +16,21 @@ RUN export JAVA_HOME
# Build up the deployment folder structure
RUN mkdir -p $MICRO_HOME
RUN mkdir -p $BIN_HOME
+RUN mkdir -p $MICRO_HOME/config/
RUN mkdir -p $MICRO_HOME/lib/
RUN mkdir -p $MICRO_HOME/static/
ADD *.jar $MICRO_HOME/lib/
ADD scripts/* $MICRO_HOME/bin/
COPY static/ $MICRO_HOME/static/
+COPY config/ $MICRO_HOME/config/
COPY oxm $MICRO_HOME/oxm/
RUN chmod 755 $MICRO_HOME/bin/*
RUN chmod 755 $MICRO_HOME/lib/*
RUN chmod 755 $MICRO_HOME/static/*
+RUN chmod 755 $MICRO_HOME/config/*
RUN ln -s /logs $MICRO_HOME/logs
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
index 2334297..9958d72 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
@@ -20,101 +20,19 @@
*/
package org.onap.aai.sparky;
-import javax.servlet.Filter;
-
-import org.apache.camel.component.servlet.CamelHttpTransportServlet;
import org.onap.aai.sparky.config.PropertyPasswordConfiguration;
-import org.onap.aai.sparky.security.filter.LoginFilter;
-import org.openecomp.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.boot.web.servlet.ServletRegistrationBean;
-import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class Application {
- private static final String SPARKY_SSL_ENABLED_PROPERTY = "sparky.ssl.enabled";
- private static final String SPARKY_PORTAL_ENABLED_PROPERTY = "sparky.portal.enabled";
- private static final String SPARKY_SSL_ENABLED_ENV = "SPARKY_SSL_ENABLED";
- private static final String SPARKY_PORTAL_ENABLED_ENV = "SPARKY_PORTAL_ENABLED";
-
- private Filter loginFilter = new LoginFilter();
-
public static void main(String[] args) {
- setDefaultProperties();
SpringApplication app = new SpringApplication(Application.class);
app.addInitializers(new PropertyPasswordConfiguration());
app.run(args);
}
-
- protected static void setDefaultProperties() {
-
- /*
- * By default we want ssl and portal integration, however it is possible to turn these off with
- * properties for local development and interop in some situations.
- */
-
- if (System.getenv(SPARKY_SSL_ENABLED_ENV) == null) {
- System.setProperty(SPARKY_SSL_ENABLED_PROPERTY, "true");
- } else {
- System.setProperty(SPARKY_SSL_ENABLED_PROPERTY, System.getenv(SPARKY_SSL_ENABLED_ENV));
- }
-
- boolean sslEnabled = Boolean.parseBoolean(System.getProperty(SPARKY_SSL_ENABLED_PROPERTY));
-
- if (sslEnabled) {
- System.setProperty("server.ssl.key-store-password", System.getenv("KEYSTORE_PASSWORD"));
- System.setProperty("server.ssl.key-password", System.getenv("KEYSTORE_ALIAS_PASSWORD"));
- }
-
- if (System.getenv(SPARKY_PORTAL_ENABLED_ENV) == null) {
- System.setProperty(SPARKY_PORTAL_ENABLED_PROPERTY, "true");
- } else {
- System.setProperty(SPARKY_PORTAL_ENABLED_PROPERTY, System.getenv(SPARKY_PORTAL_ENABLED_ENV));
- }
- }
-
- /*
- * This initialization code enabled access to aai-ui-proxy-processor
- */
- @Bean
- ServletRegistrationBean servletRegistrationBean() {
- final ServletRegistrationBean servlet =
- new ServletRegistrationBean(new CamelHttpTransportServlet(), "/rest/*");
- servlet.setName("CamelServlet");
- return servlet;
- }
-
- /**
- * bind LoginFilter
- */
- @Bean
- @ConditionalOnProperty(value = "sparky.portal.enabled", havingValue = "true")
- public FilterRegistrationBean loginFilterRegistrationBean() {
- FilterRegistrationBean registration = new FilterRegistrationBean();
-
- registration.setFilter(loginFilter);
- registration.addUrlPatterns("/*");
-
- return registration;
- }
-
- /**
- * Bind the Portal API Proxy
- */
- @Bean
- @ConditionalOnProperty(value = "sparky.portal.enabled", havingValue = "true")
- public ServletRegistrationBean portalApiProxy() {
-
- final ServletRegistrationBean servlet =
- new ServletRegistrationBean(new PortalRestAPIProxy(), "/api/v2/*");
- servlet.setName("PortalRestApiProxy");
- return servlet;
- }
-
+
}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/aai/FrontEndLayoutApi.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/aai/FrontEndLayoutApi.java
index 0590cd6..ab74074 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/aai/FrontEndLayoutApi.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/aai/FrontEndLayoutApi.java
@@ -31,9 +31,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
@RestController
public class FrontEndLayoutApi {
-
public FrontEndLayoutApi() {
-
}
@RequestMapping(value = "/layouts", method = {RequestMethod.GET})
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterAggregationRouter.java
index c216ddd..634dcc5 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterAggregationRouter.java
@@ -1,6 +1,6 @@
/**
* ============LICENSE_START=======================================================
- * org.onap.aai
+ * SPARKY (AAI UI service)
* ================================================================================
* Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
* Copyright © 2017-2018 Amdocs
@@ -18,15 +18,20 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.aai.sparky.config;
+package org.onap.aai.sparky.camel;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
-@Configuration
-@ConditionalOnProperty(value="sparky.ssl.enabled", havingValue = "true")
-@PropertySource("file:${CONFIG_HOME}/sparky-ssl-config.properties")
-public class SparkySslConfigLoader {
+@Component
+public class FilterAggregationRouter extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ rest().post("/search/filterAggregation")
+ .to("bean:aggregateSummaryProcessor?method=getFilteredAggregation");
+
+ }
}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterRequestRouter.java
index f6b739c..849f013 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/FilterRequestRouter.java
@@ -1,6 +1,6 @@
/**
* ============LICENSE_START=======================================================
- * org.onap.aai
+ * SPARKY (AAI UI service)
* ================================================================================
* Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
* Copyright © 2017-2018 Amdocs
@@ -18,15 +18,20 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.aai.sparky.config;
+package org.onap.aai.sparky.camel;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
-@Configuration
-@ConditionalOnProperty(value="sparky.ssl.enabled", havingValue = "false")
-@PropertySource("file:${CONFIG_HOME}/sparky-http-config.properties")
-public class SparkyHttpConfigLoader {
+@Component
+public class FilterRequestRouter extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ rest().post("/search/unifiedFilterRequest")
+ .to("bean:filterProcessor?method=getFiltersWithValues");
+
+ }
}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/GlobalSearchRouter.java
index 5124ce7..ea87254 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/GlobalSearchRouter.java
@@ -1,6 +1,6 @@
/**
* ============LICENSE_START=======================================================
- * org.onap.aai
+ * SPARKY (AAI UI service)
* ================================================================================
* Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
* Copyright © 2017-2018 Amdocs
@@ -18,14 +18,19 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-package org.onap.aai.sparky.config;
+package org.onap.aai.sparky.camel;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.PropertySource;
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class GlobalSearchRouter extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ rest().post("/search/querysearch").to("bean:unifiedSearchProcessor?method=search");
+
+ }
-@Configuration
-@PropertySource("file:${CONFIG_HOME}/sparky-application.properties")
-public class SparkyConfigLoader {
-
-
}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/SubscriptionRouter.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/SubscriptionRouter.java
new file mode 100644
index 0000000..4a28e30
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/SubscriptionRouter.java
@@ -0,0 +1,37 @@
+/**
+ * ============LICENSE_START=======================================================
+ * SPARKY (AAI UI service)
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" 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.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.camel;
+
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SubscriptionRouter extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ rest().get("/subscription/getsubscription")
+ .to("bean:subscriptionServiceProcessor?method=getSubscription");
+
+ }
+
+}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/ViewInspectRouter.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/ViewInspectRouter.java
new file mode 100644
index 0000000..ee2ae04
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/camel/ViewInspectRouter.java
@@ -0,0 +1,37 @@
+/**
+ * ============LICENSE_START=======================================================
+ * SPARKY (AAI UI service)
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" 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.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.camel;
+
+import org.apache.camel.spring.SpringRouteBuilder;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ViewInspectRouter extends SpringRouteBuilder {
+
+ @Override
+ public void configure() throws Exception {
+
+ rest().post("/visualization/prepareVisualization").route()
+ .to("bean:schemaVisualizationProcessor?method=processVisualizationRequest");
+
+ }
+
+}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/CamelConfiguration.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/CamelConfiguration.java
new file mode 100644
index 0000000..8f433db
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/CamelConfiguration.java
@@ -0,0 +1,19 @@
+package org.onap.aai.sparky.config;
+
+import org.apache.camel.component.servlet.CamelHttpTransportServlet;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+@Component
+public class CamelConfiguration {
+
+ @Bean
+ ServletRegistrationBean servletRegistrationBean() {
+ final ServletRegistrationBean servlet =
+ new ServletRegistrationBean(new CamelHttpTransportServlet(), "/rest/*", "/services/*");
+ servlet.setName("CamelServlet");
+ return servlet;
+ }
+
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/portal/PortalBean.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/portal/PortalBean.java
new file mode 100644
index 0000000..86f019e
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/portal/PortalBean.java
@@ -0,0 +1,41 @@
+package org.onap.aai.sparky.portal;
+
+import javax.servlet.Filter;
+
+import org.onap.aai.sparky.security.filter.LoginFilter;
+import org.openecomp.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Profile;
+import org.springframework.stereotype.Component;
+
+@Component
+@Profile("portal")
+public class PortalBean {
+
+ private Filter loginFilter = new LoginFilter();
+
+ /**
+ * bind LoginFilter
+ */
+ @Bean
+ public FilterRegistrationBean loginFilterRegistrationBean() {
+ FilterRegistrationBean registration = new FilterRegistrationBean();
+
+ registration.setFilter(loginFilter);
+ registration.addUrlPatterns("/*");
+
+ return registration;
+ }
+
+ @Bean
+ public ServletRegistrationBean portalApiProxy() {
+
+ final ServletRegistrationBean servlet =
+ new ServletRegistrationBean(new PortalRestAPIProxy(), "/api/v2/*");
+ servlet.setName("PortalRestApiProxy");
+ return servlet;
+ }
+
+} \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/scripts/start.sh b/sparkybe-onap-application/src/main/scripts/start.sh
index a8eba46..c16c9b2 100644
--- a/sparkybe-onap-application/src/main/scripts/start.sh
+++ b/sparkybe-onap-application/src/main/scripts/start.sh
@@ -1,11 +1,17 @@
#!/bin/sh
APP_HOME="/opt/app/sparky"
-CONFIG_HOME=${APP_HOME}/appconfig
+CONFIG_HOME=${APP_HOME}/config
PROPS="-DAPP_HOME=${APP_HOME} -DCONFIG_HOME=${CONFIG_HOME} -Dlogging.config=${CONFIG_HOME}/logging/logback.xml"
set -x
jar ufv ${APP_HOME}/lib/sparkybe-onap-application*.jar -C ${CONFIG_HOME}/portal/ BOOT-INF/classes/portal.properties
+
+#
+# change the working directory so that Spring-Boot will pick up the config folder from the right path
+#
+cd $APP_HOME
+
java -Xms1024m -Xmx4096m $PROPS -jar ${APP_HOME}/lib/sparkybe-onap-application*.jar