Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2308 mtayler 1
/*
2
 * Created on 24/03/2005
3
 */
4
package DMS;
5
 
6
import java.sql.Driver;
7
import java.sql.Connection;
8
import java.sql.DriverManager;
9
import java.util.Properties;
10
 
11
/**
12
 * @author mtayler
13
 */
14
public class dbConnector {
15
 
16
	private static Driver FDBDriver;
17
	private static boolean FIsInitialized=false; 
18
	private static configXML config;
19
	private static String FDSName = "";
20
 
21
	public dbConnector() {
22
		//load xml data
23
		config = new configXML();
24
 
25
		configXMLItem configList[] = config.getConfigList();
26
 
27
		for (int i=0;i<configList.length;i++) {		    
28
			createDriver(configList[i]);		
29
			registerDriver(configList[i]);				    
30
		}
31
	}
32
 
33
	private void createDriver(configXMLItem config) {
34
		FDBDriver = null;
35
		Class d = null;
36
		try {
37
			d = Class.forName(config.getDBDriverName());
38
			FDBDriver = (Driver)d.newInstance();
39
		} catch (Exception e) {
40
			e.printStackTrace();
41
		}						
42
	}
43
 
44
    private void registerDriver(configXMLItem config) {
45
		//register driver
46
		try {
47
			DriverManager.registerDriver(FDBDriver);
48
			FIsInitialized = true;
49
		} catch (Exception e) {
50
			e.printStackTrace();
51
		}			    	
52
 
53
    }
54
 
55
	public static Connection getConnection(String DSName)  {
56
	    setDSName(DSName);
57
 
58
	    if (!FIsInitialized) { 
59
			dbConnector db = new dbConnector(); //initialize static structures
60
		}		
61
		Connection conn = null;		
62
		Properties prop = new Properties();
63
 
64
		configXMLItem configItem = config.getConfigByName(FDSName);
65
 
66
		prop.put("DatabaseName", configItem.getDBName());
67
		prop.put("User",configItem.getUserName());
68
		prop.put("Password",configItem.getPassword());
69
 
70
		try {
71
			conn = DriverManager.getConnection(configItem.getDBUrl(),prop);				
72
		} catch (Exception e) {
73
			e.printStackTrace();
74
		}		
75
		return conn;
76
	}
77
 
78
	public static String getDSName()  {
79
	    return FDSName;
80
	}
81
 
82
	public static void setDSName(String dsNameValue)  {
83
	    FDSName=dsNameValue;	    
84
	}
85
 
86
}