From 5469072378877daa9e9d709fa0f49bacc04e3e1d Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 19 Sep 2017 17:33:48 -0400 Subject: Remove mysql dependencies in sli/core 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 --- dblib/features/src/main/resources/features.xml | 2 +- dblib/provider/pom.xml | 5 - .../sli/core/dblib/jdbc/MySQLCachedDataSource.java | 216 --------------------- .../onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java | 2 +- sli/features/src/main/resources/features.xml | 2 +- .../sli/core/sli/provider/SvcLogicActivator.java | 46 +++-- .../features/src/main/resources/features.xml | 5 +- 7 files changed, 27 insertions(+), 251 deletions(-) delete mode 100644 dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/jdbc/MySQLCachedDataSource.java diff --git a/dblib/features/src/main/resources/features.xml b/dblib/features/src/main/resources/features.xml index 36d79413..aa31db75 100755 --- a/dblib/features/src/main/resources/features.xml +++ b/dblib/features/src/main/resources/features.xml @@ -12,7 +12,7 @@ odl-mdsal-broker wrap:mvn:org.apache.tomcat/tomcat-jdbc/${tomcat-jdbc.version}/$DynamicImport-Package=org.mariadb.*&overwrite=merge mvn:org.onap.ccsdk.sli.core/dblib-provider/${project.version} - mvn:org/mariadb/jdbc/mariadb-java-client/${mariadb.connector.version} + mvn:org.mariadb.jdbc/mariadb-java-client/${mariadb.connector.version} diff --git a/dblib/provider/pom.xml b/dblib/provider/pom.xml index 765f7379..8ff10941 100755 --- a/dblib/provider/pom.xml +++ b/dblib/provider/pom.xml @@ -42,11 +42,6 @@ ${slf4j.version} test - - mysql - mysql-connector-java - ${mysql.connector.version} - org.mariadb.jdbc mariadb-java-client 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 index bea0d631..00000000 --- a/dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/jdbc/MySQLCachedDataSource.java +++ /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; - } -} diff --git a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java index 71926e41..1e4b71cd 100644 --- a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java +++ b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicJdbcStore.java @@ -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); diff --git a/sli/features/src/main/resources/features.xml b/sli/features/src/main/resources/features.xml index 692d9ff0..1f17c1a9 100644 --- a/sli/features/src/main/resources/features.xml +++ b/sli/features/src/main/resources/features.xml @@ -33,7 +33,7 @@ mvn:org.onap.ccsdk.sli.core/sli-provider/${project.version} mvn:org.onap.ccsdk.sli.core/sli-recording/${project.version} sdnc-dblib - mvn:org/mariadb/jdbc/mariadb-java-client/${mariadb.connector.version} + mvn:org.mariadb.jdbc/mariadb-java-client/${mariadb.connector.version} diff --git a/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java b/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java index 4a13000a..a578dc6a 100644 --- a/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java +++ b/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java @@ -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 registrations = new LinkedList(); private static HashMap 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)); } - + } } diff --git a/sliPluginUtils/features/src/main/resources/features.xml b/sliPluginUtils/features/src/main/resources/features.xml index e8d0d3cc..f59cea42 100644 --- a/sliPluginUtils/features/src/main/resources/features.xml +++ b/sliPluginUtils/features/src/main/resources/features.xml @@ -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 @@ odl-mdsal-broker sdnc-sli mvn:org.onap.ccsdk.sli.core/sliPluginUtils-provider/${project.version} - mvn:mysql/mysql-connector-java/${mysql.connector.version} -- cgit 1.2.3-korg