summaryrefslogtreecommitdiffstats
path: root/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java')
-rw-r--r--common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java100
1 files changed, 0 insertions, 100 deletions
diff --git a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java b/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java
deleted file mode 100644
index 64fd22e431..0000000000
--- a/common/onap-common-configuration-management/onap-configuration-management-core/src/main/java/org/onap/config/impl/ConfigurationDataSource.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package org.onap.config.impl;
-
-import org.apache.commons.configuration2.ImmutableConfiguration;
-import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.commons.lang3.StringUtils;
-import org.onap.config.ConfigurationUtils;
-import org.onap.config.Constants;
-import java.util.*;
-import java.sql.Driver;
-
-/**
- * The type Configuration data source.
- */
-public final class ConfigurationDataSource {
-
- private static BasicDataSource configDBDatasource = null;
- private static Set<String> validCallers = Collections.unmodifiableSet(new HashSet<>(
- Arrays.asList(ConfigurationUtils.class.getName(), CliConfigurationImpl.class.getName())));
-
- private ConfigurationDataSource() {
- //Hide constructor to prevent instantiation using the default implicit constructor
- }
-
- static {
- try {
- configDBDatasource = initDataSource();
- } catch (Exception exception) {
- System.err.println("Datasource initialization error. Configuration management will be using"
- + "in-memory persistence.");
- }
- }
-
- /**
- * Lookup basic data source.
- *
- * @return the basic data source
- * @throws Exception the exception
- */
- public static BasicDataSource lookup() throws Exception {
- if (validCallers.contains(Thread.currentThread().getStackTrace()[2].getClassName())) {
- return configDBDatasource;
- } else {
- return null;
- }
- }
-
- /**
- * Init data source basic data source.
- *
- * @return the basic data source
- * @throws Exception the exception
- */
- public static BasicDataSource initDataSource() throws Exception {
- ImmutableConfiguration dbConfig = ConfigurationRepository.lookup()
- .getConfigurationFor(Constants.DEFAULT_TENANT, Constants.DB_NAMESPACE);
- if (StringUtils.isEmpty(dbConfig.getString("dbhost"))) {
- return null;
- }
- BasicDataSource datasource = new BasicDataSource();
- String driverClassName = dbConfig.getString("driverClassName");
- String jdbcUrl = dbConfig.getString("jdbcURL");
- if (!isDriverSuitable(driverClassName, jdbcUrl)) {
- driverClassName = getDriverFor(jdbcUrl);
- }
- datasource.setDriverClassName(driverClassName);
- datasource.setUrl(jdbcUrl);
- String dbuser = dbConfig.getString("dbuser");
- String dbpassword = dbConfig.getString("dbpassword");
- if (dbuser != null && dbuser.trim().length() > 0) {
- datasource.setUsername(dbuser);
- }
- if (dbpassword != null && dbpassword.trim().length() > 0) {
- datasource.setPassword(dbpassword);
- }
- return datasource;
- }
-
- private static boolean isDriverSuitable(String driverClassName, String url) {
- if (driverClassName == null || driverClassName.trim().length() == 0) {
- return false;
- }
- try {
- Driver driver = Driver.class.cast(Class.forName(driverClassName).newInstance());
- return driver.acceptsURL(url);
- } catch (Exception exception) {
- return false;
- }
- }
-
- private static String getDriverFor(String url) throws Exception {
- ServiceLoader<Driver> loader = ServiceLoader.load(Driver.class);
- for (Driver driver : loader) {
- if (driver.acceptsURL(url)) {
- return driver.getClass().getName();
- }
- }
- throw new RuntimeException("No Suitable driver found for " + url);
- }
-
-}