6 import com.javaexchange.dbConnectionBroker.*;
10 * Description: Class that allows access to all Database Config values
11 * Copyright: Copyright (c) 2001
13 * @author mh <heckmann@hbe.ca>
18 public class DatabaseConfig {
20 private static HashMap configHash;
21 private static HashMap brokerHash;
22 private static int instances=0;
25 configHash = new HashMap();
26 brokerHash = new HashMap();
27 configHash.put("Database.Host", "localhost");
28 configHash.put("Database.Adaptor", "mir.storage.DatabaseAdaptorPostgresql");
29 configHash.put("Database.Limit", "20");
30 configHash.put("Database.poolMin", "1");
31 configHash.put("Database.poolMax", "10");
32 configHash.put("Database.poolLog", "/tmp/pool.log");
33 configHash.put("Database.poolResetTime", "1.0");
36 configHash.put("Database.Username", "postgres");
37 configHash.put("Database.Password", "");
40 public static void setUsername(String user) {
41 configHash.put("Database.Username", user);
44 public static void setPassword(String pass) {
45 configHash.put("Database.Password", pass);
48 public static void setHost(String host) {
49 configHash.put("Database.Host", host);
52 public static void setAdaptor(String adaptor) {
53 configHash.put("Database.Adaptor", adaptor);
56 public static void setDefaultLimit(int limit) {
57 configHash.put("Database.Limit", Integer.toString(limit));
60 public static void setPoolMin(int min) {
61 configHash.put("Database.poolMin", Integer.toString(min));
64 public static void setPoolMax(int max) {
65 configHash.put("Database.poolMax", Integer.toString(max));
68 public static void setPoolResetTime(float t) {
69 configHash.put("Database.poolResetTime", Float.toString(t));
72 public static void setPoolLog(String l) {
73 configHash.put("Database.poolLog", l);
77 * Returns the property asked for by pulling it out a HashMap
78 * @param a String containing the property name (key)
79 * @return a String containing the prop. value
81 public static String getProp(String propName) {
82 return (String)configHash.get(propName);
85 public static void addBroker(String driver, String URL){
87 String username,passwd,min,max,log,reset;
89 if(!brokerHash.containsKey("Pool.broker")){
90 username=getProp("Database.Username");
91 passwd=getProp("Database.Password");
92 min=getProp("Database.poolMin");
93 max=getProp("Database.poolMax");
94 log= getProp("Database.poolLog");
95 reset=getProp("Database.poolResetTime");
98 System.err.println("-- making Broker for -"
100 + " log " + log + " user "
101 + username + " pass: " + passwd);
103 DbConnectionBroker br = new DbConnectionBroker(driver,URL,username,passwd,(new Integer(min)).intValue(),
104 (new Integer(max)).intValue(),log,(new Float(reset)).floatValue());
107 brokerHash.put("Pool.broker",br);
109 throw new Exception();
111 } catch(Exception e){
112 System.err.println("Der ConnectionBroker konnte nicht initializiert werden"+ e.toString());e.printStackTrace();
118 * Liefert DBConnectionBroker einer Configuration zurueck
119 * @param confFilename
120 * @return DBConnectionBroker
122 public static DbConnectionBroker getBroker() {
123 DbConnectionBroker broker=null;
124 broker=(DbConnectionBroker)brokerHash.get("Pool.broker");
126 System.err.println("Konnte kein ConnectionPoolBroker initialisiert werden");
132 * Liefert Anzahl der Instantiierten DBConnectionBroker zurueck
135 public static int getBrokerInstances() {
139 public static DbConnectionBroker getBrokerInfo(){
140 return (DbConnectionBroker)brokerHash.get("Pool.broker");
146 public void finalize(){
150 } catch (Throwable t) {}