Remove mysql dependencies in sli/core 07/13607/1
authorDan Timoney <dtimoney@att.com>
Tue, 19 Sep 2017 21:33:48 +0000 (17:33 -0400)
committerDan Timoney <dtimoney@att.com>
Tue, 19 Sep 2017 21:33:52 +0000 (17:33 -0400)
Remove lingering mysql dependencies in sli/core, which prevented odlsli
container from starting up clean.  Note: tested this using bareodl container
and verified that these changes install clean AFTER changing incorrect
driver property name in dblib.properties.  This patch is fine, but a second
patch to ccsdk/distribution is needed to fix that property file.

Change-Id: I6a900d1c29998867bfbae29d5e113c4e392a8bb9
Issue-ID: CCSDK-95
Signed-off-by: Dan Timoney <dtimoney@att.com>
dblib/features/src/main/resources/features.xml
dblib/provider/pom.xml
dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/jdbc/MySQLCachedDataSource.java [deleted file]
sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java
sli/features/src/main/resources/features.xml
sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java
sliPluginUtils/features/src/main/resources/features.xml

index 36d7941..aa31db7 100755 (executable)
@@ -12,7 +12,7 @@
         <feature version="${odl.mdsal.version}">odl-mdsal-broker</feature>
         <bundle>wrap:mvn:org.apache.tomcat/tomcat-jdbc/${tomcat-jdbc.version}/$DynamicImport-Package=org.mariadb.*&amp;overwrite=merge</bundle>
         <bundle>mvn:org.onap.ccsdk.sli.core/dblib-provider/${project.version}</bundle>
-        <bundle>mvn:org/mariadb/jdbc/mariadb-java-client/${mariadb.connector.version}</bundle>
+        <bundle>mvn:org.mariadb.jdbc/mariadb-java-client/${mariadb.connector.version}</bundle>
     </feature>
 
 </features>
index 765f737..8ff1094 100755 (executable)
                        <version>${slf4j.version}</version>
                        <scope>test</scope>
                </dependency>
-               <dependency>
-                       <groupId>mysql</groupId>
-                       <artifactId>mysql-connector-java</artifactId>
-                       <version>${mysql.connector.version}</version>
-               </dependency>
         <dependency>
             <groupId>org.mariadb.jdbc</groupId>
             <artifactId>mariadb-java-client</artifactId>
diff --git a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/jdbc/MySQLCachedDataSource.java b/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/jdbc/MySQLCachedDataSource.java
deleted file mode 100644 (file)
index bea0d63..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * onap
- * ================================================================================
- * Copyright (C) 2016 - 2017 ONAP
- * ================================================================================
- * 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.dblib.jdbc;
-
-import java.sql.SQLFeatureNotSupportedException;
-import java.util.Properties;
-
-import org.onap.ccsdk.sli.core.dblib.CachedDataSource;
-import org.onap.ccsdk.sli.core.dblib.DBConfigException;
-import org.onap.ccsdk.sli.core.dblib.config.BaseDBConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
-
-
-
-/**
- * @version $Revision: 1.7 $
- * Change Log
- * Author         Date     Comments
- * ============== ======== ====================================================
- * Rich Tabedzki
- */
-
-public class MySQLCachedDataSource extends CachedDataSource
-{
-       private String dbUserId;
-       private String dbPasswd;
-       private String dbUrl;
-       
-       private String minLimit;
-       private String maxLimit;
-       private String initialLimit;
-       
-       private static final String AS_CONF_ERROR = "AS_CONF_ERROR: ";
-       
-       private static Logger LOGGER = LoggerFactory.getLogger(MySQLCachedDataSource.class);
-
-       /**
-        * @param jdbcElem
-        */
-       public MySQLCachedDataSource(BaseDBConfiguration jdbcElem)
-       {
-                       super(jdbcElem);
-       }
-
-       @Override
-       protected void configure(BaseDBConfiguration xmlElem) throws DBConfigException 
-       {
-               BaseDBConfiguration jdbcConfig = (BaseDBConfiguration)xmlElem;
-               if(jdbcConfig.getConnTimeout() > 0){
-                       this.CONN_REQ_TIMEOUT = jdbcConfig.getConnTimeout();
-               }
-               if(jdbcConfig.getRequestTimeout() > 0){
-                               this.DATA_REQ_TIMEOUT = jdbcConfig.getRequestTimeout();
-               }
-
-       // set connection pool name
-               String dbConnectionName = jdbcConfig.getDbConnectionName();
-       super.setDbConnectionName(dbConnectionName);
-       // Configure the JDBC connection
-       dbUserId = jdbcConfig.getDbUserId();
-        if (dbUserId == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBCConnection missing dbUserId attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-            throw new DBConfigException(errorMsg);
-        }
-
-        dbPasswd = jdbcConfig.getDbPasswd();
-        if (dbPasswd == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBCConnection missing dbPasswd attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-            throw new DBConfigException(errorMsg);
-        }
-        /*
-        dbDriver = jdbcConfig.getDbDriver();
-        if (dbDriver == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBCConnection missing dbDriver attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-               throw new ScpTblUpdateError(errorMsg);
-        }
-        */
-
-        minLimit = Integer.toString(jdbcConfig.getDbMinLimit());
-        if (minLimit == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBC Connection missing minLimit attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-               throw new DBConfigException(errorMsg);
-        }
-        maxLimit =  Integer.toString(jdbcConfig.getDbMaxLimit());
-        if (maxLimit == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBC Connection missing maxLimit attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-               throw new DBConfigException(errorMsg);
-        }
-        initialLimit =  Integer.toString(jdbcConfig.getDbInitialLimit());
-        if (initialLimit == null)
-        {
-               String errorMsg =  "Invalid XML contents: JDBC Connection missing initialLimit attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-               throw new DBConfigException(errorMsg);
-        }
-
-        dbUrl = jdbcConfig.getDbUrl();
-        if(dbUrl == null){
-               String errorMsg =  "Invalid XML contents: JDBCConnection missing dbUrl attribute";
-               LOGGER.error(AS_CONF_ERROR + errorMsg);
-            throw new DBConfigException(errorMsg);
-        }
-        
-               try {
-                       
-                       MysqlDataSource dataSource = new MysqlDataSource();
-                   dataSource.setUser(dbUserId);
-                   dataSource.setPassword(dbPasswd);
-                   dataSource.setURL(dbUrl);
-//                 dataSource.setInitialSize(5);
-//                 dataSource.setMaxTotal(60);
-//                 dataSource.setMaxActive(100);
-//                 dataSource.setMaxWait(10000);
-//                 dataSource.setMaxIdle(10);
-
-                       Properties connAttr = new Properties();
-
-                       connAttr.setProperty("MinLimit", minLimit);
-                       connAttr.setProperty("MaxLimit", maxLimit);
-                       connAttr.setProperty("InitialLimit", initialLimit);
-                       connAttr.setProperty("TRANSACTION_ISOLATION","SERIALIZABLE");
-                       connAttr.setProperty("CONNECTION_TAG", dbConnectionName.toUpperCase()+"_CONNECTION");
-                       connAttr.setProperty("InactivityTimeout", "900");
-                       connAttr.setProperty("AbandonedConnectionTimeout", "600");
-                       connAttr.setProperty("PropertyCheckInterval", "60");
-                       connAttr.setProperty("ValidateConnection", "true");
-                       
-
-                       synchronized(this)
-                       {
-                               this.ds = dataSource;
-
-                               initialized = true;
-                               LOGGER.info("MySQLDataSource <"+dbConnectionName+"> configured successfully. Using URL: "+dbUrl);
-                       }
-
-//             } catch (SQLException exc) {
-//                     initialized = false;
-//                     StringBuffer sb = new StringBuffer();
-//                     sb.append("Failed to initialize MySQLDataSource<");
-//                     sb.append(dbConnectionName).append(">. Reason: ");
-//                     sb.append(exc.getMessage());
-//                     LOGGER.error("AS_CONF_ERROR: " + sb.toString());
-////                   throw new DBConfigException(e.getMessage());
-               } catch (Exception exc) {
-               initialized = false;
-                       StringBuffer sb = new StringBuffer();
-                       sb.append("Failed to initialize MySQLCachedDataSource <");
-                       sb.append(dbConnectionName).append(">. Reason: ");
-                       sb.append(exc.getMessage());
-                       LOGGER.error("AS_CONF_ERROR: " + sb.toString());
-//             throw new DBConfigException(e.getMessage());
-       }
-    }
-
-       public final String getDbUrl()
-       {
-               return dbUrl;
-       }
-
-       public final String getDbUserId()
-       {
-               return dbUserId;
-       }
-
-       public final String getDbPasswd()
-       {
-               return dbPasswd;
-       }
-
-       public static MySQLCachedDataSource createInstance(BaseDBConfiguration config) /*throws Exception*/ {
-               return new MySQLCachedDataSource(config);
-       }
-       
-       public String toString(){
-               return getDbConnectionName();
-       }
-
-       public java.util.logging.Logger getParentLogger()
-                       throws SQLFeatureNotSupportedException {
-               // TODO Auto-generated method stub
-               return null;
-       }
-}
index 71926e4..1e4b71c 100644 (file)
@@ -73,7 +73,7 @@ public class SvcLogicJdbcStore implements SvcLogicStore {
                jdbcProps.setProperty("password", dbPasswd);
 
                try {
-                       Driver dvr = new com.mysql.jdbc.Driver();
+                       Driver dvr = new org.mariadb.jdbc.Driver();
                        if (dvr.acceptsURL(dbUrl))
                        {
                                LOG.debug("Driver com.mysql.jdbc.Driver accepts {}", dbUrl);
index 692d9ff..1f17c1a 100644 (file)
@@ -33,7 +33,7 @@
         <bundle>mvn:org.onap.ccsdk.sli.core/sli-provider/${project.version}</bundle>
         <bundle>mvn:org.onap.ccsdk.sli.core/sli-recording/${project.version}</bundle>
         <feature>sdnc-dblib</feature>
-        <bundle>mvn:org/mariadb/jdbc/mariadb-java-client/${mariadb.connector.version}</bundle>
+        <bundle>mvn:org.mariadb.jdbc/mariadb-java-client/${mariadb.connector.version}</bundle>
     </feature>
 
 </features>
index 4a13000..a578dc6 100644 (file)
@@ -8,9 +8,9 @@
  * 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.
@@ -41,7 +41,6 @@ import org.osgi.framework.ServiceRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.mysql.jdbc.Driver;
 
 public class SvcLogicActivator implements BundleActivator {
 
@@ -76,47 +75,47 @@ public class SvcLogicActivator implements BundleActivator {
        private static LinkedList<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
 
        private static HashMap<String, SvcLogicAdaptor> adaptorMap = null;
-       
+
        private static final Logger LOG = LoggerFactory
                        .getLogger(SvcLogicActivator.class);
-       
+
        private static Properties props = null;
 
        private static BundleContext bundleCtx = null;
-       
+
        private static SvcLogicService svcLogicServiceImpl = null;
-       
+
        @Override
        public void start(BundleContext ctx) throws Exception {
 
                LOG.info("Activating SLI");
-               
+
                bundleCtx = ctx;
 
                // Read properties
                props = new Properties();
                String propPath = System.getenv(SVCLOGIC_PROP_VAR);
-               
+
                if (propPath == null) {
                        String propDir = System.getenv(SDNC_CONFIG_DIR);
                        if (propDir == null) {
-                               
+
                                propDir = "/opt/sdnc/data/properties";
                        }
                        propPath = propDir + "/svclogic.properties";
                        LOG.warn("Environment variable "+SVCLOGIC_PROP_VAR+" unset - defaulting to "+propPath);
                }
-               
+
                File propFile = new File(propPath);
-               
+
                if (!propFile.exists()) {
-                       
+
                        throw new ConfigurationException(
                                        "Missing configuration properties file : "
                                                        + propFile);
                }
                try {
-                       
+
                        props.load(new FileInputStream(propFile));
                } catch (Exception e) {
                        throw new ConfigurationException(
@@ -168,15 +167,14 @@ public class SvcLogicActivator implements BundleActivator {
                        registrations = null;
                }
        }
-       
+
        public static SvcLogicStore getStore() throws SvcLogicException {
                // Create and initialize SvcLogicStore object - used to access
                // saved service logic.
-               
+
                SvcLogicStore store = null;
-               
+
                try {
-                       Driver dvr = new Driver();
                        store = SvcLogicStoreFactory.getSvcLogicStore(props);
                } catch (Exception e) {
                        throw new ConfigurationException(
@@ -190,12 +188,12 @@ public class SvcLogicActivator implements BundleActivator {
                        throw new ConfigurationException(
                                        "Could not get service logic store", e);
                }
-               
+
                return(store);
        }
-       
+
        private static void registerNodeTypes(SvcLogicStore store) throws SvcLogicException {
-               
+
                if (store == null) {
                        return;
                }
@@ -213,13 +211,13 @@ public class SvcLogicActivator implements BundleActivator {
                        registrations.add(reg);
 
                        store.registerNodeType(nodeType);
-                       
+
                        LOG.info("SLI - registering node executor");
-                       
+
                        ((SvcLogicServiceImpl)svcLogicServiceImpl).registerExecutor(nodeType, BUILTIN_NODES.get(nodeType));
 
                }
-               
+
        }
 
 }
index e8d0d3c..f59cea4 100644 (file)
@@ -9,9 +9,9 @@
   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.
@@ -33,7 +33,6 @@
         <feature version="${odl.mdsal.version}">odl-mdsal-broker</feature>
         <feature>sdnc-sli</feature>
         <bundle>mvn:org.onap.ccsdk.sli.core/sliPluginUtils-provider/${project.version}</bundle>
-        <bundle>mvn:mysql/mysql-connector-java/${mysql.connector.version}</bundle>
     </feature>
 
 </features>