update sliapi-springboot 87/103887/1
authorSmokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Wed, 18 Mar 2020 15:58:52 +0000 (15:58 +0000)
committerSmokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Wed, 18 Mar 2020 15:58:52 +0000 (15:58 +0000)
add base plugins to spring boot sli

Issue-ID: CCSDK-2179
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Change-Id: I1e80e3a8b67ced5c2ff72c9569d6aac970c72ddf

sliapi/springboot/pom.xml
sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/ServletFilters.java [deleted file]
sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java
sliapi/springboot/src/main/resources/DEMO_DEMO.xml [new file with mode: 0755]
sliapi/springboot/src/main/resources/graph.versions

index 6bdb139..8e88945 100644 (file)
                        <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 (file)
index bfec1c9..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-\r
- * ============LICENSE_START=======================================================\r
- * ONAP - CCSDK\r
- * ================================================================================\r
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-package org.onap.ccsdk.sli.core.sliapi.springboot.core;\r
-\r
-import javax.servlet.ServletException;\r
-\r
-import org.onap.logging.filter.base.PayloadLoggingServletFilter;\r
-import org.springframework.boot.web.servlet.FilterRegistrationBean;\r
-import org.springframework.context.annotation.Bean;\r
-import org.springframework.context.annotation.Configuration;\r
-\r
-@Configuration\r
-public class ServletFilters {\r
-\r
-/*     @Bean\r
-       public FilterRegistrationBean<PayloadLoggingServletFilter> payloadFilterRegistration() throws ServletException {\r
-               FilterRegistrationBean<PayloadLoggingServletFilter> registration = new FilterRegistrationBean<PayloadLoggingServletFilter>();\r
-               registration.setFilter(new PayloadLoggingServletFilter());\r
-               registration.addUrlPatterns("/*");\r
-               registration.setName("payloadFilter");\r
-               registration.setOrder(0);\r
-               return registration;\r
-       }*/\r
-}
\ No newline at end of file
index a6bda81..9b521e4 100644 (file)
@@ -22,9 +22,12 @@ package org.onap.ccsdk.sli.core.sliapi.springboot.core;
 \r
 import java.io.FileInputStream;\r
 import java.io.IOException;\r
+import java.util.List;\r
 import java.util.Properties;\r
 import org.onap.ccsdk.sli.core.sli.ConfigurationException;\r
+import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;\r
 import org.onap.ccsdk.sli.core.sli.SvcLogicLoader;\r
+import org.onap.ccsdk.sli.core.sli.SvcLogicRecorder;\r
 import org.onap.ccsdk.sli.core.sli.SvcLogicStore;\r
 import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory;\r
 import org.onap.ccsdk.sli.core.sli.provider.base.HashMapResolver;\r
@@ -32,8 +35,14 @@ import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicPropertiesProvider;
 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicResolver;\r
 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase;\r
 import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceImplBase;\r
+import org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder;\r
+import org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils;\r
+import org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils;\r
+import org.onap.ccsdk.sli.plugins.prop.PropertiesNode;\r
+import org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
 import org.springframework.context.annotation.Bean;\r
 import org.springframework.context.annotation.Configuration;\r
 \r
@@ -41,6 +50,12 @@ import org.springframework.context.annotation.Configuration;
 public class SvcLogicFactory {\r
   private static final Logger log = LoggerFactory.getLogger(SvcLogicFactory.class);\r
 \r
+  @Autowired\r
+  List<SvcLogicRecorder> recorders;\r
+\r
+  @Autowired\r
+  List<SvcLogicJavaPlugin> plugins;\r
+\r
   @Bean\r
   public SvcLogicStore getStore() throws Exception {\r
     SvcLogicPropertiesProvider propProvider = new SvcLogicPropertiesProvider() {\r
@@ -84,8 +99,41 @@ public class SvcLogicFactory {
 \r
   @Bean\r
   public SvcLogicServiceBase createService() throws Exception {\r
-    SvcLogicResolver resolver = new HashMapResolver();\r
+    HashMapResolver resolver = new HashMapResolver();\r
+    for (SvcLogicRecorder recorder : recorders) {\r
+      resolver.addSvcLogicRecorder(recorder.getClass().getName(), recorder);\r
+\r
+    }\r
+    for (SvcLogicJavaPlugin plugin : plugins) {\r
+      resolver.addSvcLogicSvcLogicJavaPlugin(plugin.getClass().getName(), plugin);\r
+\r
+    }\r
     return new SvcLogicServiceImplBase(getStore(), resolver);\r
   }\r
 \r
+  @Bean\r
+  public Slf4jRecorder slf4jRecorderNode() {\r
+    return new Slf4jRecorder();\r
+  }\r
+\r
+  @Bean\r
+  public SliPluginUtils sliPluginUtil() {\r
+    return new SliPluginUtils();\r
+  }\r
+\r
+  @Bean\r
+  public SliStringUtils sliStringUtils() {\r
+    return new SliStringUtils();\r
+  }\r
+  \r
+  @Bean\r
+  public RestapiCallNode restapiCallNode() {\r
+      return new RestapiCallNode();\r
+  }\r
+  \r
+  @Bean\r
+  public PropertiesNode propertiesNode() {\r
+      return new PropertiesNode();\r
+  }\r
+\r
 }\r
diff --git a/sliapi/springboot/src/main/resources/DEMO_DEMO.xml b/sliapi/springboot/src/main/resources/DEMO_DEMO.xml
new file mode 100755 (executable)
index 0000000..1b304f1
--- /dev/null
@@ -0,0 +1,35 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DEMO' version='1'>\r
+    <method rpc='DEMO' mode='sync'>\r
+        <block>\r
+            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                <parameter name="logger" value="message-log" />\r
+                <parameter name="level" value="error" />\r
+                <parameter name="field1" value="Slf4jRecorder must be working!" />\r
+            </record>\r
+            <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">\r
+                <parameter name="ctx-destination" value="requestID" />\r
+            </execute>\r
+            <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains" emitsOutcome='true' >\r
+                <parameter name="source" value="TEAM" />\r
+                <parameter name="target" value="I" />\r
+            </execute>\r
+            <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties" >\r
+                <parameter name="fileName" value="%SDNC_CONFIG_DIR%/aaf.properties" />\r
+                <parameter name="contextPrefix" value="tmp.props" />\r
+            </execute>\r
+            <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">\r
+                <parameter name="restapiUrl" value="http://127.0.0.1:8080/restconf/config/SLI-API:test-results/"/>\r
+                <parameter name="restapiUser" value="admin"/>\r
+                <parameter name="restapiPassword" value="test"/>\r
+                <parameter name="format" value="json" />\r
+                <parameter name="httpMethod" value="get" />\r
+                <parameter name="responsePrefix" value="restapi-result" />\r
+            </execute>\r
+            <return status='success'>\r
+                <parameter name='' value='' />\r
+            </return>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file