update sliapi-springboot

add base plugins to spring boot sli

Issue-ID: CCSDK-2179
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Change-Id: I1e80e3a8b67ced5c2ff72c9569d6aac970c72ddf
diff --git a/sliapi/springboot/pom.xml b/sliapi/springboot/pom.xml
index 6bdb139..8e88945 100644
--- a/sliapi/springboot/pom.xml
+++ b/sliapi/springboot/pom.xml
@@ -94,10 +94,30 @@
 			<artifactId>logging-filter-spring</artifactId>
 			<version>1.6.4</version>
 		</dependency>
-        <dependency>
-            <groupId>javax.ws.rs</groupId>
-            <artifactId>javax.ws.rs-api</artifactId>
-        </dependency>
+		<dependency>
+			<groupId>javax.ws.rs</groupId>
+			<artifactId>javax.ws.rs-api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.core</groupId>
+			<artifactId>sliPluginUtils-provider</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.plugins</groupId>
+			<artifactId>restapi-call-node-provider</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.sli.plugins</groupId>
+			<artifactId>properties-node-provider</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<!-- this jersey jar is needed for rest api call node to function properly -->
+		<dependency>
+			<groupId>org.glassfish.jersey.inject</groupId>
+			<artifactId>jersey-hk2</artifactId>
+		</dependency>
     </dependencies>
 
     <build>
diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/ServletFilters.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/ServletFilters.java
deleted file mode 100644
index bfec1c9..0000000
--- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/ServletFilters.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-

- * ============LICENSE_START=======================================================

- * ONAP - CCSDK

- * ================================================================================

- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.

- * ================================================================================

- * 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.ccsdk.sli.core.sliapi.springboot.core;

-

-import javax.servlet.ServletException;

-

-import org.onap.logging.filter.base.PayloadLoggingServletFilter;

-import org.springframework.boot.web.servlet.FilterRegistrationBean;

-import org.springframework.context.annotation.Bean;

-import org.springframework.context.annotation.Configuration;

-

-@Configuration

-public class ServletFilters {

-

-/*	@Bean

-	public FilterRegistrationBean<PayloadLoggingServletFilter> payloadFilterRegistration() throws ServletException {

-		FilterRegistrationBean<PayloadLoggingServletFilter> registration = new FilterRegistrationBean<PayloadLoggingServletFilter>();

-		registration.setFilter(new PayloadLoggingServletFilter());

-		registration.addUrlPatterns("/*");

-		registration.setName("payloadFilter");

-		registration.setOrder(0);

-		return registration;

-	}*/

-}
\ No newline at end of file
diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java
index a6bda81..9b521e4 100644
--- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java
+++ b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java
@@ -22,9 +22,12 @@
 

 import java.io.FileInputStream;

 import java.io.IOException;

+import java.util.List;

 import java.util.Properties;

 import org.onap.ccsdk.sli.core.sli.ConfigurationException;

+import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;

 import org.onap.ccsdk.sli.core.sli.SvcLogicLoader;

+import org.onap.ccsdk.sli.core.sli.SvcLogicRecorder;

 import org.onap.ccsdk.sli.core.sli.SvcLogicStore;

 import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory;

 import org.onap.ccsdk.sli.core.sli.provider.base.HashMapResolver;

@@ -32,8 +35,14 @@
 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicResolver;

 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase;

 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceImplBase;

+import org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder;

+import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils;

+import org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils;

+import org.onap.ccsdk.sli.plugins.prop.PropertiesNode;

+import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;

 import org.slf4j.Logger;

 import org.slf4j.LoggerFactory;

+import org.springframework.beans.factory.annotation.Autowired;

 import org.springframework.context.annotation.Bean;

 import org.springframework.context.annotation.Configuration;

 

@@ -41,6 +50,12 @@
 public class SvcLogicFactory {

   private static final Logger log = LoggerFactory.getLogger(SvcLogicFactory.class);

 

+  @Autowired

+  List<SvcLogicRecorder> recorders;

+

+  @Autowired

+  List<SvcLogicJavaPlugin> plugins;

+

   @Bean

   public SvcLogicStore getStore() throws Exception {

     SvcLogicPropertiesProvider propProvider = new SvcLogicPropertiesProvider() {

@@ -84,8 +99,41 @@
 

   @Bean

   public SvcLogicServiceBase createService() throws Exception {

-    SvcLogicResolver resolver = new HashMapResolver();

+    HashMapResolver resolver = new HashMapResolver();

+    for (SvcLogicRecorder recorder : recorders) {

+      resolver.addSvcLogicRecorder(recorder.getClass().getName(), recorder);

+

+    }

+    for (SvcLogicJavaPlugin plugin : plugins) {

+      resolver.addSvcLogicSvcLogicJavaPlugin(plugin.getClass().getName(), plugin);

+

+    }

     return new SvcLogicServiceImplBase(getStore(), resolver);

   }

 

+  @Bean

+  public Slf4jRecorder slf4jRecorderNode() {

+    return new Slf4jRecorder();

+  }

+

+  @Bean

+  public SliPluginUtils sliPluginUtil() {

+    return new SliPluginUtils();

+  }

+

+  @Bean

+  public SliStringUtils sliStringUtils() {

+    return new SliStringUtils();

+  }

+  

+  @Bean

+  public RestapiCallNode restapiCallNode() {

+      return new RestapiCallNode();

+  }

+  

+  @Bean

+  public PropertiesNode propertiesNode() {

+      return new PropertiesNode();

+  }

+

 }

diff --git a/sliapi/springboot/src/main/resources/DEMO_DEMO.xml b/sliapi/springboot/src/main/resources/DEMO_DEMO.xml
new file mode 100755
index 0000000..1b304f1
--- /dev/null
+++ b/sliapi/springboot/src/main/resources/DEMO_DEMO.xml
@@ -0,0 +1,35 @@
+<service-logic

+    xmlns='http://www.onap.org/sdnc/svclogic'

+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DEMO' version='1'>

+    <method rpc='DEMO' mode='sync'>

+        <block>

+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">

+                <parameter name="logger" value="message-log" />

+                <parameter name="level" value="error" />

+                <parameter name="field1" value="Slf4jRecorder must be working!" />

+            </record>

+            <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">

+                <parameter name="ctx-destination" value="requestID" />

+            </execute>

+            <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true' >

+                <parameter name="source" value="TEAM" />

+                <parameter name="target" value="I" />

+            </execute>

+            <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties" >

+                <parameter name="fileName" value="%SDNC_CONFIG_DIR%/aaf.properties" />

+                <parameter name="contextPrefix" value="tmp.props" />

+            </execute>

+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">

+                <parameter name="restapiUrl" value="http://127.0.0.1:8080/restconf/config/SLI-API:test-results/"/>

+                <parameter name="restapiUser" value="admin"/>

+                <parameter name="restapiPassword" value="test"/>

+                <parameter name="format" value="json" />

+                <parameter name="httpMethod" value="get" />

+                <parameter name="responsePrefix" value="restapi-result" />

+            </execute>

+            <return status='success'>

+                <parameter name='' value='' />

+            </return>

+        </block>

+    </method>

+</service-logic>
\ No newline at end of file
diff --git a/sliapi/springboot/src/main/resources/graph.versions b/sliapi/springboot/src/main/resources/graph.versions
index 7f75be4..d21278a 100644
--- a/sliapi/springboot/src/main/resources/graph.versions
+++ b/sliapi/springboot/src/main/resources/graph.versions
@@ -1,2 +1,3 @@
 sli healthcheck 0.7.0 sync
 sli vlbcheck 0.7.0 sync
+DEMO DEMO 1 sync