diff options
5 files changed, 109 insertions, 47 deletions
diff --git a/sliapi/springboot/pom.xml b/sliapi/springboot/pom.xml index 6bdb1395f..8e8894597 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 bfec1c935..000000000 --- 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 a6bda81ae..9b521e4e7 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 @@ package org.onap.ccsdk.sli.core.sliapi.springboot.core; 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.SvcLogicPropertiesProvider; 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 @@ import org.springframework.context.annotation.Configuration; 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 @@ public class SvcLogicFactory { @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 000000000..1b304f18a --- /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 7f75be4c8..d21278aa4 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 |