diff options
author | Dan Timoney <dtimoney@att.com> | 2018-02-01 16:57:00 -0500 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2018-02-09 17:08:35 -0500 |
commit | 131cb46f6109a6099a445cb8e1b12ff5b68ae6de (patch) | |
tree | 783f96f27c1bc9292fdd836c488c4dd8a86aeb2d /sli/common | |
parent | e36be89362fe80a7cd3da69a886c6c1f1c99a65c (diff) |
Upgrade sli/core to Nitrogen
Use Apache derby for dblib SingleFeatureTest
Change-Id: I6b41f7ede1a98b33824fceea9100e75c1ce8dda4
Issue-ID: CCSDK-175
Signed-off-by: Dan Timoney <dtimoney@att.com>
Generalization of CCSDK core/utils framework
Changes made:
* Created generalized version of core/utils/dblib as core/utils/common
* Deprecated core/utils/dblib package
Change-Id: I0992c43910278fbe254674d1e39d7e4fcad0a592
Issue-ID: CCSDK-168
Signed-off-by: Rich Tabedzki <richard.tabedzki@att.com>
Use Apache derby for dblib test
Use Apache derby for dblib SingleFeatureTest
Change-Id: Ie497557f162e203fa5c5c82c17ddc55ba0c11b38
Issue-ID: CCSDK-175
Signed-off-by: Dan Timoney <dtimoney@att.com>
Diffstat (limited to 'sli/common')
-rwxr-xr-x | sli/common/pom.xml | 289 | ||||
-rw-r--r-- | sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicDblibStore.java | 42 |
2 files changed, 159 insertions, 172 deletions
diff --git a/sli/common/pom.xml b/sli/common/pom.xml index 4c7daa39..167a776e 100755 --- a/sli/common/pom.xml +++ b/sli/common/pom.xml @@ -1,163 +1,136 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <artifactId>sli</artifactId> - <groupId>org.onap.ccsdk.sli.core</groupId> - <version>0.2.0-SNAPSHOT</version> - </parent> - <artifactId>sli-common</artifactId> - <packaging>bundle</packaging> +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> - <name>SLI - Common Classes</name> - <description>The SLI Common package includes common classes used by the various SLI subcomponents, as well as classes used by clients to interface with the service logic interpreter</description> + <parent> + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>binding-parent</artifactId> + <version>1.0.1-SNAPSHOT</version> + <relativePath/> + </parent> - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>ch.vorburger.mariaDB4j</groupId> - <artifactId>mariaDB4j</artifactId> - <version>2.2.3</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.antlr</groupId> - <artifactId>antlr4</artifactId> - <version>${antlr.version}</version> - <type>jar</type> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>${slf4j.version}</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - <version>1.7.5</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - <version>${commons.lang3.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.mdsal</groupId> - <artifactId>yang-binding</artifactId> - <version>${odl.mdsal.yang.binding.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.yangtools</groupId> - <artifactId>yang-common</artifactId> - <version>${odl.yangtools.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.mdsal.model</groupId> - <artifactId>ietf-inet-types</artifactId> - <version>${odl.ietf-inet-types.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.mdsal.model</groupId> - <artifactId>ietf-yang-types</artifactId> - <version>${odl.ietf-yang-types.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.controller</groupId> - <artifactId>sal-core-api</artifactId> - <version>${odl.mdsal.version}</version> - </dependency> - <dependency> - <groupId>org.opendaylight.yangtools</groupId> - <artifactId>yang-data-impl</artifactId> - <version>${odl.yangtools.version}</version> - </dependency> - <dependency> - <groupId>equinoxSDK381</groupId> - <artifactId>org.eclipse.osgi</artifactId> - <version>${equinox.osgi.version}</version> - </dependency> - <dependency> - <groupId>org.mariadb.jdbc</groupId> - <artifactId>mariadb-java-client</artifactId> - <version>${mariadb.connector.version}</version> - <type>jar</type> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>dblib-provider</artifactId> - <version>${sdnctl.dblib.version}</version> - </dependency> - <dependency> - <groupId>org.onap.ccsdk.sli.core</groupId> - <artifactId>sliapi-model</artifactId> - <version>${project.version}</version> - <scope>test</scope> - </dependency> - </dependencies> + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>sli-common</artifactId> + <version>0.2.1-SNAPSHOT</version> + <packaging>bundle</packaging> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <source>1.7</source> - <target>1.7</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>2.4</version> - <configuration> - <includes>**/*.xsd</includes> - <archive> - <manifest> - <mainClass>org.onap.ccsdk.sli.core.sli.SvcLogicParser</mainClass> - <packageName>org.onap.ccsdk.sli.core.sli</packageName> - <addDefaultImplementationEntries>true</addDefaultImplementationEntries> - </manifest> - </archive> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <instructions> - <Export-Package>org.onap.ccsdk.sli.core.sli;version=${project.version}</Export-Package> - <Import-Package>*</Import-Package> - <Embed-Dependency>*;scope=compile;artifactId=commons-lang|commons-lang3</Embed-Dependency> - <Embed-Transitive>true</Embed-Transitive> - </instructions> - </configuration> - </plugin> - <plugin> - <groupId>org.antlr</groupId> - <artifactId>antlr4-maven-plugin</artifactId> - <version>${antlr.version}</version> - <executions> - <execution> - <configuration> - <outputDirectory>${project.basedir}/src/main/java/</outputDirectory> - </configuration> - <id>antlr</id> - <goals> - <goal>antlr4</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> + <name>ccsdk-sli-core :: sli :: ${project.artifactId}</name> + <description>The SLI Common package includes common classes used by the various SLI subcomponents, as well as classes used by clients to interface with the service logic interpreter</description> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.opendaylight.controller</groupId> + <artifactId>mdsal-artifacts</artifactId> + <version>1.6.1</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> + <dependency> + <groupId>ch.vorburger.mariaDB4j</groupId> + <artifactId>mariaDB4j</artifactId> + <version>2.2.3</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr4</artifactId> + <version>${antlr.version}</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j.version}</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-simple</artifactId> + <version>1.7.5</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + <version>${commons.lang3.version}</version> + </dependency> + <dependency> + <groupId>equinoxSDK381</groupId> + <artifactId>org.eclipse.osgi</artifactId> + <version>${equinox.osgi.version}</version> + </dependency> + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <version>${mariadb.connector.version}</version> + <type>jar</type> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>dblib-provider</artifactId> + <version>${sdnctl.dblib.version}</version> + </dependency> + <dependency> + <groupId>org.onap.ccsdk.sli.core</groupId> + <artifactId>sli-model</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>ietf-inet-types</artifactId> + </dependency> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>ietf-yang-types</artifactId> + </dependency> + <dependency> + <groupId>org.opendaylight.controller</groupId> + <artifactId>sal-core-api</artifactId> + </dependency> + + <dependency> + <groupId>org.opendaylight.controller</groupId> + <artifactId>sal-binding-api</artifactId> + </dependency> + + <!-- Testing Dependencies --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.antlr</groupId> + <artifactId>antlr4-maven-plugin</artifactId> + <version>${antlr.version}</version> + <executions> + <execution> + <configuration> + <outputDirectory>${project.basedir}/src/main/java/</outputDirectory> + </configuration> + <id>antlr</id> + <goals> + <goal>antlr4</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> diff --git a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicDblibStore.java b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicDblibStore.java index 74fa1dd6..ee3bcca5 100644 --- a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicDblibStore.java +++ b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicDblibStore.java @@ -54,10 +54,22 @@ public class SvcLogicDblibStore implements SvcLogicStore { private static final String DBLIB_SERVICE = "org.onap.ccsdk.sli.core.dblib.DbLibService"; + private DbLibService dbSvc; + + public SvcLogicDblibStore() + { + // Does nothing, but needed so that argumentless constructor + // still works. + } + + public SvcLogicDblibStore(DbLibService dbsvc) { + this.dbSvc = dbsvc; + } + @Override public void init(Properties props) throws ConfigurationException { - DbLibService dbSvc = getDbLibService(); + dbSvc = getDbLibService(); if(dbSvc == null) { LOG.error("SvcLogic cannot acquire DBLIB_SERVICE"); return; @@ -74,7 +86,7 @@ public class SvcLogicDblibStore implements SvcLogicStore { public boolean hasGraph(String module, String rpc, String version, String mode) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); + boolean retval = false; CachedRowSet results = null; @@ -124,7 +136,6 @@ public class SvcLogicDblibStore implements SvcLogicStore { public SvcLogicGraph fetch(String module, String rpc, String version, String mode) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); PreparedStatement fetchGraphStmt = null; Connection dbConn = null; SvcLogicGraph retval = null; @@ -210,7 +221,7 @@ public class SvcLogicDblibStore implements SvcLogicStore { public void store(SvcLogicGraph graph) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); + String storeGraphSql = "INSERT INTO SVC_LOGIC (module, rpc, version, mode, active, graph)" + " VALUES(?, ?, ?, ?, ?, ?)"; @@ -283,7 +294,7 @@ public class SvcLogicDblibStore implements SvcLogicStore { public void delete(String module, String rpc, String version, String mode) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); + String deleteGraphSql = "DELETE FROM SVC_LOGIC WHERE module = ? AND rpc = ? AND version = ? AND mode = ?"; @@ -302,7 +313,7 @@ public class SvcLogicDblibStore implements SvcLogicStore { } public void activate(SvcLogicGraph graph) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); + String deactivateSql = "UPDATE SVC_LOGIC SET active = 'N' WHERE module = ? AND rpc = ? AND mode = ?"; @@ -328,8 +339,11 @@ public class SvcLogicDblibStore implements SvcLogicStore { private DbLibService getDbLibService() { + if (dbSvc != null) { + return dbSvc; + } + // Get DbLibService interface object. - DbLibService dblibSvc = null; ServiceReference sref = null; BundleContext bctx = null; @@ -345,8 +359,8 @@ public class SvcLogicDblibStore implements SvcLogicStore { if (sref == null) { LOG.warn("Could not find service reference for DBLIB service ({})", DBLIB_SERVICE); } else { - dblibSvc = (DbLibService) bctx.getService(sref); - if (dblibSvc == null) { + dbSvc = (DbLibService) bctx.getService(sref); + if (dbSvc == null) { LOG.warn("Could not find service reference for DBLIB service ({})", DBLIB_SERVICE); } @@ -385,16 +399,16 @@ public class SvcLogicDblibStore implements SvcLogicStore { } try { - dblibSvc = new DBResourceManager(dblibProps); - JavaSingleton.setInstance(dblibSvc); + dbSvc = new DBResourceManager(dblibProps); + JavaSingleton.setInstance(dbSvc); } catch (Exception e) { LOG.warn("Caught exception trying to create DBResourceManager", e); } } else { - dblibSvc = JavaSingleton.getInstance(); + dbSvc = JavaSingleton.getInstance(); } } - return dblibSvc; + return dbSvc; } @@ -419,7 +433,7 @@ public class SvcLogicDblibStore implements SvcLogicStore { @Override public void activate(String module, String rpc, String version, String mode) throws SvcLogicException { - DbLibService dbSvc = getDbLibService(); + String deactivateSql = "UPDATE SVC_LOGIC SET active = 'N' WHERE module = ? AND rpc = ? AND mode = ?"; |