diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java')
-rw-r--r-- | ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java index 0b9e08c7..57c1e31d 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java @@ -37,24 +37,40 @@ */ package org.onap.portalsdk.analytics.util; +import java.sql.Connection; import java.util.HashMap; +import javax.servlet.ServletContext; + import org.onap.portalsdk.analytics.system.DbUtils; import org.onap.portalsdk.analytics.system.Globals; +import org.onap.portalsdk.analytics.system.fusion.adapter.RaptorAdapter; +import org.onap.portalsdk.analytics.system.fusion.adapter.SpringContext; + +import com.mchange.v2.c3p0.ComboPooledDataSource; public class RemDbInfo { private HashMap remDbMap = null; private HashMap remDbTypeMap = null; + private HashMap remDbConnectionMap = null; public RemDbInfo() throws Exception { if (remDbMap == null) { load(); } } + + private RaptorAdapter raptorAdapter; + + + public void initializeDbUtils(ServletContext servletContext) { + raptorAdapter = (RaptorAdapter)SpringContext.getApplicationContext().getBean("raptorAdapter"); + } // initializeDbUtils public void load() throws Exception { remDbMap = new HashMap(); remDbTypeMap = new HashMap(); + remDbConnectionMap = new HashMap(); try { //String query = " SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE, rownum id FROM SCHEMA_INFO a " + // " where schema_id = 'local' union " + @@ -65,20 +81,35 @@ public class RemDbInfo { Globals.getDbUtils(); ds = DbUtils.executeQuery(query); - String prefix = "", desc = "", dbType = ""; + String prefix = "", desc = "", dbType = "", connectionUrl = "", username = "", password = "", driver_class = ""; if(ds.getRowCount() > 0) { for (int i = 0; i < ds.getRowCount(); i++) { - prefix = ds.getItem(i, 0); - desc = ds.getItem(i, 1); - dbType = ds.getItem(i, 2); + prefix = ds.getItem(i, 0); + desc = ds.getItem(i, 1); + dbType = ds.getItem(i, 2); + connectionUrl = ds.getItem(i, 3); + username = ds.getItem(i, 4); + password = ds.getItem(i, 5); + driver_class = ds.getItem(i, 6); + + ComboPooledDataSource cpds = new ComboPooledDataSource(); + cpds.setDriverClass( driver_class ); //loads the jdbc driver + cpds.setJdbcUrl( connectionUrl); + cpds.setUser(username); + cpds.setPassword(password); + + + remDbMap.put(prefix, desc); remDbTypeMap.put(prefix, dbType); + remDbConnectionMap.put(prefix, cpds); } } else { remDbMap.put("local", "local"); remDbTypeMap.put("local", Globals.getDBType()); + remDbConnectionMap.put("local", raptorAdapter.getConnection()); } } catch (Exception e) {} @@ -100,6 +131,19 @@ public class RemDbInfo { return ""; } + + public Connection getDBConnection(String prefix) { + if ((remDbConnectionMap != null) && (remDbConnectionMap.containsKey(prefix))) { + try { + return ((ComboPooledDataSource) remDbConnectionMap.get(prefix)).getConnection(); + } catch (Exception ex) { + ex.printStackTrace(); + return null; + } + } + + return null; + } public HashMap getDbHash() { return remDbMap; |