Use MariaDB instead of Derby 01/104501/1
authorDan Timoney <dtimoney@att.com>
Tue, 24 Mar 2020 18:30:24 +0000 (14:30 -0400)
committerDan Timoney <dtimoney@att.com>
Thu, 26 Mar 2020 14:30:45 +0000 (10:30 -0400)
Use MariaDB instead of Derby as backing store for sliboot

Change-Id: Ib9fa4abaaf88bcb1eac2276bc974474f067a06d3
Issue-ID: CCSDK-2188
Signed-off-by: Dan Timoney <dtimoney@att.com>
17 files changed:
artifacts/pom.xml
sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java
sliapi/springboot/pom.xml
sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/SvcLogicFactory.java
sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/core/WebConfig.java
sliapi/springboot/src/main/resources/application.properties
sliapi/springboot/src/main/resources/svclogic.properties
sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/AppTest.java
sliapi/springboot/src/test/java/org/onap/ccsdk/sli/core/sliapi/springboot/RestconfApiControllerTest.java
sliapi/springboot/src/test/resources/DEMO_DEMO.xml [new file with mode: 0755]
sliapi/springboot/src/test/resources/application.properties [new file with mode: 0644]
sliapi/springboot/src/test/resources/graph.versions [new file with mode: 0644]
sliapi/springboot/src/test/resources/log4j2.properties [new file with mode: 0644]
sliapi/springboot/src/test/resources/shiro-users.properties [new file with mode: 0644]
sliapi/springboot/src/test/resources/sli_healthcheck.xml [new file with mode: 0644]
sliapi/springboot/src/test/resources/sli_vlbcheck.xml [new file with mode: 0644]
sliapi/springboot/src/test/resources/svclogic.properties [new file with mode: 0644]

index cf6eb6b..6d6d6b9 100755 (executable)
@@ -6,6 +6,7 @@
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>parent</artifactId>
                <version>2.0.0-SNAPSHOT</version>
+               <relativePath />
        </parent>
 
        <groupId>org.onap.ccsdk.sli.core</groupId>
index 5db2a8c..f23456f 100644 (file)
@@ -106,7 +106,7 @@ public class SvcLogicJdbcStore implements SvcLogicStore {
                 String crTableCmd = "CREATE TABLE " + dbName + ".SVC_LOGIC (" + "module varchar(80) NOT NULL,"
                         + "rpc varchar(80) NOT NULL," + "version varchar(40) NOT NULL," + "mode varchar(5) NOT NULL,"
                         + "active varchar(1) NOT NULL,graph BLOB,"
-                        + "modified_timestamp timestamp DEFAULT NULL,"
+                        + "modified_timestamp timestamp ,"
                         + "md5sum varchar(128) DEFAULT NULL,"
                         + "CONSTRAINT P_SVC_LOGIC PRIMARY KEY(module, rpc, version, mode))";
 
index 2a3fbcb..269caa4 100644 (file)
         <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
-            <scope>runtime</scope>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mariadb.jdbc</groupId>
+            <artifactId>mariadb-java-client</artifactId>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
                <dependency>
                        <groupId>org.onap.logging-analytics</groupId>
                        <artifactId>logging-filter-spring</artifactId>
-                       <version>1.6.4</version>
+            <version>1.6.6</version>
                </dependency>
                <dependency>
                        <groupId>javax.ws.rs</groupId>
index cf8dc5e..0c8480e 100644 (file)
@@ -64,12 +64,14 @@ public class SvcLogicFactory {
       public Properties getProperties() {\r
         Properties props = new Properties();\r
 \r
+\r
         String propPath = System.getProperty("serviceLogicProperties", "");\r
 \r
         if ("".equals(propPath)) {\r
           propPath = System.getenv("SVCLOGIC_PROPERTIES");\r
         }\r
 \r
+\r
         if ((propPath == null) || propPath.length() == 0) {\r
           propPath = "src/main/resources/svclogic.properties";\r
         }\r
index 41d3791..558a82a 100644 (file)
 package org.onap.ccsdk.sli.core.sliapi.springboot.core;\r
 \r
 import org.onap.logging.filter.spring.LoggingInterceptor;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.beans.factory.annotation.Value;\r
 import org.springframework.boot.autoconfigure.domain.EntityScan;\r
 import org.springframework.context.annotation.Bean;\r
 import org.springframework.context.annotation.ComponentScan;\r
 import org.springframework.context.annotation.Configuration;\r
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;\r
+import org.springframework.jdbc.datasource.DriverManagerDataSource;\r
 import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;\r
 import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;\r
 import org.springframework.orm.jpa.JpaTransactionManager;\r
@@ -48,43 +51,5 @@ import javax.sql.DataSource;
 @EnableTransactionManagement\r
 public class WebConfig implements WebMvcConfigurer {\r
 \r
-/*     @Bean\r
-       LoggingInterceptor loggingInterceptor() {\r
-               return new LoggingInterceptor();\r
-       }\r
 \r
-       public void addInterceptors(InterceptorRegistry registry) {     \r
-               registry.addInterceptor(loggingInterceptor()); // handles audit log entries\r
-       }*/\r
-\r
-       @Bean\r
-       public DataSource dataSource() {\r
-\r
-               EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();\r
-               builder.setName("sdnctl");\r
-               return builder.setType(EmbeddedDatabaseType.DERBY).build();\r
-       }\r
-\r
-       @Bean\r
-       public EntityManagerFactory entityManagerFactory() {\r
-\r
-               HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();\r
-               vendorAdapter.setGenerateDdl(true);\r
-\r
-               LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();\r
-               factory.setJpaVendorAdapter(vendorAdapter);\r
-               factory.setPackagesToScan("org.onap.ccsdk.sli.core.sliapi.springboot.*");\r
-               factory.setDataSource(dataSource());\r
-               factory.afterPropertiesSet();\r
-\r
-               return factory.getObject();\r
-       }\r
-\r
-       @Bean\r
-       public PlatformTransactionManager transactionManager() {\r
-\r
-               JpaTransactionManager txManager = new JpaTransactionManager();\r
-               txManager.setEntityManagerFactory(entityManagerFactory());\r
-               return txManager;\r
-       }\r
 }
\ No newline at end of file
index 6a4acc7..f083ed5 100644 (file)
@@ -3,8 +3,16 @@ server.contextPath=/restconf
 server.port=8080
 spring.jackson.date-format=org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger.RFC3339DateFormat
 spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
-spring.datasource.url=jdbc:derby:memory:datasource
-spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.DerbyTenSevenDialect
-spring.jpa.hibernate.ddl-auto=update
 logging.level.com.att=TRACE
-logging.level.org.onap=TRACE
\ No newline at end of file
+logging.level.org.onap=TRACE
+spring.datasource.url=jdbc:mariadb://localhost:3306/sdnctl
+spring.datasource.username=sli
+spring.datasource.password=abc123
+spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.testWhileIdle=true
+spring.datasource.validationQuery=SELECT 1
+spring.jpa.show-sql=true
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
+spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
+spring.jpa.database=mysql
\ No newline at end of file
index 1d90ab9..ae396ad 100644 (file)
 ###
 
 org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:derby:memory:sdnctl;create=true
-org.onap.ccsdk.sli.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
+org.onap.ccsdk.sli.jdbc.url=jdbc:mariadb://localhost:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
 org.onap.ccsdk.sli.jdbc.database = sdnctl
-org.onap.ccsdk.sli.jdbc.user = test
-org.onap.ccsdk.sli.jdbc.password = test
+org.onap.ccsdk.sli.jdbc.user = sli
+org.onap.ccsdk.sli.jdbc.password = abc123
 
 sliapi.serviceLogicDirectory=/opt/onap/sdnc/svclogic/graphs
index c5f452c..5ad6da9 100644 (file)
@@ -18,6 +18,7 @@ public class AppTest {
     @Before
     public void setUp() throws Exception {
         app = new App();
+        System.setProperty("serviceLogicProperties", "src/test/resources/svclogic.properties");
     }
 
     @Test
index b4c6290..ae21cef 100644 (file)
@@ -126,6 +126,10 @@ public class RestconfApiControllerTest {
 
     assertEquals(200, mvcResult.getResponse().getStatus());
 
+    // Delete any existing content before testing insert
+    mvcResult = mvc.perform(MockMvcRequestBuilders.delete(url)).andReturn();
+    assertEquals(200, mvcResult.getResponse().getStatus());
+
     String jsonString = "{\n" +
             "  \"test-results\" : [\n" +
             "        {\n" +
diff --git a/sliapi/springboot/src/test/resources/DEMO_DEMO.xml b/sliapi/springboot/src/test/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
diff --git a/sliapi/springboot/src/test/resources/application.properties b/sliapi/springboot/src/test/resources/application.properties
new file mode 100644 (file)
index 0000000..dbe2633
--- /dev/null
@@ -0,0 +1,18 @@
+springfox.documentation.swagger.v2.path=/api-docs
+server.contextPath=/restconf
+server.port=8080
+spring.jackson.date-format=org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger.RFC3339DateFormat
+spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
+logging.level.com.att=TRACE
+logging.level.org.onap=TRACE
+spring.datasource.url=jdbc:derby:sdnctl;create=true
+spring.datasource.username=sli
+spring.datasource.password=abc123
+spring.datasource.driver-class-name=org.apache.derby.jdbc.EmbeddedDriver
+spring.datasource.testWhileIdle=true
+spring.datasource.validationQuery=SELECT 1
+spring.jpa.show-sql=true
+spring.jpa.hibernate.ddl-auto=update
+spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl
+spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
+spring.jpa.database=derby
\ No newline at end of file
diff --git a/sliapi/springboot/src/test/resources/graph.versions b/sliapi/springboot/src/test/resources/graph.versions
new file mode 100644 (file)
index 0000000..d21278a
--- /dev/null
@@ -0,0 +1,3 @@
+sli healthcheck 0.7.0 sync
+sli vlbcheck 0.7.0 sync
+DEMO DEMO 1 sync
diff --git a/sliapi/springboot/src/test/resources/log4j2.properties b/sliapi/springboot/src/test/resources/log4j2.properties
new file mode 100644 (file)
index 0000000..40d18d1
--- /dev/null
@@ -0,0 +1,160 @@
+ #-
+ # ============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=========================================================
+ #
+
+property.logDir = ${sys:LOG_PATH:-./target}
+
+property.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{currentGraph} - %X{nodeId} | %m%n
+
+#default mdc values
+property.ServiceName = INTERNAL
+property.ErrorCode = 900
+property.ErrorDesc = UnknownError
+
+rootLogger.level = INFO
+rootLogger.appenderRef.AppFile.ref = AppFile
+rootLogger.appenderRef.Console.ref = Console
+rootLogger.appenderRef.DebugFile.ref = DebugFile
+rootLogger.appenderRef.ErrorFile.ref = ErrorFile
+rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter
+rootLogger.appenderRef.Console.filter.threshold.level = DEBUG
+
+appender.console.type = Console
+appender.console.name = Console
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = ${pattern}
+
+appender.app.type = RollingRandomAccessFile
+appender.app.name = AppFile
+appender.app.fileName = ${logDir}/app.log
+appender.app.filePattern = ${logDir}/app.log.%i
+appender.app.immediateFlush = true
+appender.app.append = true
+appender.app.layout.type = PatternLayout
+appender.app.layout.pattern = ${pattern}
+appender.app.policies.type = Policies
+appender.app.policies.size.type = SizeBasedTriggeringPolicy
+appender.app.policies.size.size = 10MB
+appender.app.strategy.type = DefaultRolloverStrategy
+appender.app.strategy.max = 100
+appender.app.strategy.fileIndex = min
+
+appender.debug.type = RollingRandomAccessFile
+appender.debug.name = DebugFile
+appender.debug.fileName = ${logDir}/debug.log
+appender.debug.filePattern = ${logDir}/debug.log.%i
+appender.debug.immediateFlush = true
+appender.debug.append = true
+appender.debug.layout.type = PatternLayout
+appender.debug.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|%-5.5p|%-32.32c{1}|%X{currentGraph} - %X{nodeId}|%m%n
+appender.debug.policies.type = Policies
+appender.debug.policies.size.type = SizeBasedTriggeringPolicy
+appender.debug.policies.size.size = 10MB
+appender.debug.strategy.type = DefaultRolloverStrategy
+appender.debug.strategy.max = 200
+appender.debug.strategy.fileIndex = min
+
+appender.error.type = RollingRandomAccessFile
+appender.error.name = ErrorFile
+appender.error.fileName = ${logDir}/error.log
+appender.error.filePattern = ${logDir}/error.log.%i
+appender.error.immediateFlush = true
+appender.error.append = true
+appender.error.layout.type = PatternLayout
+appender.error.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%-16.16t|$${ctx:ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%p|$${ctx:ErrorCode}|$${ctx:ErrorDesc}|%m%n
+
+appender.error.policies.type = Policies
+appender.error.policies.size.type = SizeBasedTriggeringPolicy
+appender.error.policies.size.size = 10MB
+appender.error.strategy.type = DefaultRolloverStrategy
+appender.error.strategy.max = 100
+appender.error.strategy.fileIndex = min
+appender.error.filter.threshold.type = ThresholdFilter
+appender.error.filter.threshold.level = WARN
+
+appender.metric.type = RollingRandomAccessFile
+appender.metric.name = MetricFile
+appender.metric.fileName = ${logDir}/metric.log
+appender.metric.filePattern = ${logDir}/metric.log.%i
+appender.metric.immediateFlush = true
+appender.metric.append = true
+appender.metric.layout.type = PatternLayout
+appender.metric.layout.pattern=%X{InvokeTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|%p|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|||%X{TargetElement}|%markerSimpleName|%X|%X{currentGraph} - %X{nodeId}||%m%n
+appender.metric.policies.type = Policies
+appender.metric.policies.size.type = SizeBasedTriggeringPolicy
+appender.metric.policies.size.size = 10MB
+appender.metric.strategy.type = DefaultRolloverStrategy
+appender.metric.strategy.max = 100
+appender.metric.strategy.fileIndex = min
+
+appender.audit.type = RollingRandomAccessFile
+appender.audit.name = AuditFile
+appender.audit.fileName = ${logDir}/audit.log
+appender.audit.filePattern = ${logDir}/audit.log.%i
+appender.audit.immediateFlush = true
+appender.audit.append = true
+appender.audit.layout.type = PatternLayout
+appender.audit.layout.pattern=%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|INFO|%X{Severity}|192.168.23.111|%X{ElapsedTime}|${hostName}|%X{ClientIPAddress}|%C{1}|%X{AUDIT-Unused}|%X{AUDIT-ProcessKey}|%markerSimpleName|%X|||%m%n
+appender.audit.policies.type = Policies
+appender.audit.policies.size.type = SizeBasedTriggeringPolicy
+appender.audit.policies.size.size = 10MB
+appender.audit.strategy.type = DefaultRolloverStrategy
+appender.audit.strategy.max = 200
+appender.audit.strategy.fileIndex = min
+
+appender.rr.name = RequestResponseFile
+appender.rr.type = RollingRandomAccessFile
+appender.rr.fileName = ${logDir}/request-response.log
+appender.rr.filePattern = ${logDir}/request-response.log.%i
+appender.rr.immediateFlush = true
+appender.rr.append = true
+appender.rr.layout.type = PatternLayout
+appender.rr.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%X{PartnerName}|%m%n
+appender.rr.policies.type = Policies
+appender.rr.policies.size.type = SizeBasedTriggeringPolicy
+appender.rr.policies.size.size = 10MB
+appender.rr.strategy.type = DefaultRolloverStrategy
+appender.rr.strategy.max = 100
+appender.rr.strategy.fileIndex = min
+
+logger.metric.name = org.onap.ccsdk.sli.core.filters.metric
+logger.metric.level = INFO
+logger.metric.additivity = false
+logger.metric.appenderRef.MetricFile.ref = MetricFile
+
+logger.metric2.name = org.onap.logging.filter.base.AbstractMetricLogFilter
+logger.metric2.level = INFO
+logger.metric2.additivity = false
+logger.metric2.appenderRef.MetricFile.ref = MetricFile
+
+logger.audit.name = org.onap.logging.filter.base.AbstractAuditLogFilter
+logger.audit.level = INFO
+logger.audit.additivity = false
+logger.audit.appenderRef.AuditFile.ref = AuditFile
+
+logger.rr.name = org.onap.logging.filter.base.PayloadLoggingServletFilter
+logger.rr.level = INFO
+logger.rr.additivity = false
+logger.rr.appenderRef.RequestResponseFile.ref = RequestResponseFile
+
+logger.ccsdk.name = org.onap.ccsdk
+logger.ccsdk.level = DEBUG
+
+logger.onaplogging.name = org.onap.logging
+logger.onaplogging.level = DEBUG
\ No newline at end of file
diff --git a/sliapi/springboot/src/test/resources/shiro-users.properties b/sliapi/springboot/src/test/resources/shiro-users.properties
new file mode 100644 (file)
index 0000000..df4b1ae
--- /dev/null
@@ -0,0 +1,3 @@
+user.admin = Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U,service
+role.service = odl-api:*
+
diff --git a/sliapi/springboot/src/test/resources/sli_healthcheck.xml b/sliapi/springboot/src/test/resources/sli_healthcheck.xml
new file mode 100644 (file)
index 0000000..bc8e2f7
--- /dev/null
@@ -0,0 +1,27 @@
+<!--
+  ============LICENSE_START=======================================================
+  openECOMP : SDN-C
+  ================================================================================
+  Copyright (C) 2017 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=========================================================
+  -->
+
+<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='sli' version='0.7.0'><method rpc='healthcheck' mode='sync'>
+<set>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='SDN-C is healthy'/>
+<parameter name='ack-final' value='Y'/>
+</set></method></service-logic>
diff --git a/sliapi/springboot/src/test/resources/sli_vlbcheck.xml b/sliapi/springboot/src/test/resources/sli_vlbcheck.xml
new file mode 100644 (file)
index 0000000..820a85c
--- /dev/null
@@ -0,0 +1,27 @@
+<!--
+  ============LICENSE_START=======================================================
+  openECOMP : SDN-C
+  ================================================================================
+  Copyright (C) 2017 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=========================================================
+  -->
+
+<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='sli' version='0.7.0'><method rpc='vlbcheck' mode='sync'>
+<set>
+<parameter name='error-code' value='200' />
+<parameter name='error-message' value='SDN-C is healthy'/>
+<parameter name='ack-final' value='Y'/>
+</set></method></service-logic>
diff --git a/sliapi/springboot/src/test/resources/svclogic.properties b/sliapi/springboot/src/test/resources/svclogic.properties
new file mode 100644 (file)
index 0000000..1d90ab9
--- /dev/null
@@ -0,0 +1,29 @@
+###
+# ============LICENSE_START=======================================================
+# ONAP : CCSDK
+# ================================================================================
+# Copyright (C) 2017 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=========================================================
+###
+
+org.onap.ccsdk.sli.dbtype = jdbc
+org.onap.ccsdk.sli.jdbc.url=jdbc:derby:memory:sdnctl;create=true
+org.onap.ccsdk.sli.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver
+org.onap.ccsdk.sli.jdbc.database = sdnctl
+org.onap.ccsdk.sli.jdbc.user = test
+org.onap.ccsdk.sli.jdbc.password = test
+
+sliapi.serviceLogicDirectory=/opt/onap/sdnc/svclogic/graphs