Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

/*
 * Created on 24/03/2005
 */
package DMS;

import java.sql.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

/**
 * @author mtayler
 */
public class dbConnector {

        private static Driver FDBDriver;
        private static boolean FIsInitialized=false; 
        private static configXML config;
        private static String FDSName = "";

        public dbConnector() {
                //load xml data
                config = new configXML();
                
                configXMLItem configList[] = config.getConfigList();
                
                for (int i=0;i<configList.length;i++) {             
                        createDriver(configList[i]);            
                        registerDriver(configList[i]);                              
                }
        }
        
        private void createDriver(configXMLItem config) {
                FDBDriver = null;
                Class d = null;
                try {
                        d = Class.forName(config.getDBDriverName());
                        FDBDriver = (Driver)d.newInstance();
                } catch (Exception e) {
                        e.printStackTrace();
                }                                               
        }

    private void registerDriver(configXMLItem config) {
                //register driver
                try {
                        DriverManager.registerDriver(FDBDriver);
                        FIsInitialized = true;
                } catch (Exception e) {
                        e.printStackTrace();
                }                               
        
    }

        public static Connection getConnection(String DSName)  {
            setDSName(DSName);
            
            if (!FIsInitialized) { 
                        dbConnector db = new dbConnector(); //initialize static structures
                }               
                Connection conn = null;         
                Properties prop = new Properties();
                
                configXMLItem configItem = config.getConfigByName(FDSName);
                
                prop.put("DatabaseName", configItem.getDBName());
                prop.put("User",configItem.getUserName());
                prop.put("Password",configItem.getPassword());
                
                try {
                        conn = DriverManager.getConnection(configItem.getDBUrl(),prop);                         
                } catch (Exception e) {
                        e.printStackTrace();
                }               
                return conn;
        }
        
        public static String getDSName()  {
            return FDSName;
        }

        public static void setDSName(String dsNameValue)  {
            FDSName=dsNameValue;            
        }
        
}