D:\JavaFrameworks\InsuranceFramework\src\java\db_adapter\BD_Connector.java
  1 /*
  2  * To change this template, choose Tools | Templates
  3  * and open the template in the editor.
  4  */
  5 
  6 package db_adapter;
  7 
  8 /**
  9  *
 10  * @author sameldin
 11  */
 12 import java.io.*;
 13 import java.sql.Connection;
 14 import java.sql.DriverManager;
 15 import java.sql.PreparedStatement;
 16 import java.sql.ResultSet;
 17 import java.sql.SQLException;
 18 import java.util.ArrayList;
 19 import java.util.Hashtable;
 20 import java.util.MissingResourceException;
 21 import java.util.ResourceBundle;
 22 
 23 //import org.apache.log4j.Logger;
 24 //import org.apache.log4j.PropertyConfigurator;
 25 
 26 import utils.*;
 27 import constants.*;
 28 
 29 public class BD_Connector
 30 {
 31     String      urlString;
 32     Connection  localConnection = null;
 33 
 34     public BD_Connector()
 35     {
 36         String defaultDatabaseName = DatabaseKeysPropertyManager.getParameter(Constants.DEFAULT_DATABASE_NAME_LABEL);
 37         urlString = Constants.JDBC_CONNECTION_LABEL + defaultDatabaseName;
 38         try
 39         {
 40           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 41         }
 42         catch(ClassNotFoundException myClassNotFoundException)
 43         {
 44             myClassNotFoundException.printStackTrace();
 45         }
 46         try
 47         {
 48             localConnection = DriverManager.getConnection(urlString);
 49         }
 50         catch(SQLException mySQLException)
 51         {
 52             mySQLException.printStackTrace();
 53         }
 54     }
 55     /*
 56      *
 57      */
 58     public BD_Connector(String dbName)
 59     {
 60         String defaultDatabaseName = DatabaseKeysPropertyManager.getParameter(dbName);
 61         urlString = Constants.JDBC_CONNECTION_LABEL + defaultDatabaseName;
 62         try
 63         {
 64           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 65         }
 66         catch(ClassNotFoundException myClassNotFoundException)
 67         {
 68             myClassNotFoundException.printStackTrace();
 69         }
 70         try
 71         {
 72             localConnection = DriverManager.getConnection(urlString);
 73         }
 74         catch(SQLException mySQLException)
 75         {
 76             mySQLException.printStackTrace();
 77         }
 78     }
 79     /*
 80      *
 81      */
 82     public BD_Connector(String dbName, String loginName, String password)
 83     {
 84         String defaultDatabaseName = DatabaseKeysPropertyManager.getParameter(dbName);
 85         urlString = Constants.JDBC_CONNECTION_LABEL + defaultDatabaseName;
 86         try
 87         {
 88           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 89         }
 90         catch(ClassNotFoundException myClassNotFoundException)
 91         {
 92             myClassNotFoundException.printStackTrace();
 93         }
 94         try
 95         {
 96             localConnection = DriverManager.getConnection(urlString,
 97                                     DatabaseKeysPropertyManager.getParameter( "userid" ),
 98                                     DatabaseKeysPropertyManager.getParameter( "password" ));
 99         }
100         catch(SQLException mySQLException)
101         {
102             mySQLException.printStackTrace();
103         }
104     }
105     /*
106      *
107      */
108     public BD_Connector(String dbName, int bdIndex)
109     {
110         String defaultDatabaseName = DatabaseKeysPropertyManager.getParameter(dbName);
111         urlString = Constants.JDBC_CONNECTION_LABEL + defaultDatabaseName;
112         try
113         {
114             switch(bdIndex)
115             {
116                 case Constants.IBM_DB_INDEX:
117                     //DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());
118                     //connectionHandle = DriverManager.getConnection("jdbc:as400://TBL1/;naming=sql","ELDIN","ELDIN");
119                     Class.forName("com.ibm.as400.access.AS400JDBCDriver");
120                     break;
121                 case Constants.ORARCLE_DB_INDEX:
122                     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
123                     break;
124                 case Constants.MS_DB_INDEX:
125                     Class.forName("ms??????.jdbc.odbc.JdbcOdbcDriver");
126                     break;
127                 default:
128                     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
129             }
130         }
131         catch(ClassNotFoundException myClassNotFoundException)
132         {
133             myClassNotFoundException.printStackTrace();
134         }
135         try
136         {
137             localConnection = DriverManager.getConnection(urlString);
138         }
139         catch(SQLException mySQLException)
140         {
141             mySQLException.printStackTrace();
142         }
143     }
144     /*
145      *
146      */
147     synchronized public Connection getConnection()
148     {
149         return(localConnection);
150     }
151     /*
152      *
153      */
154     synchronized public void disconnect()
155     {
156         try
157         {
158             localConnection.close();
159             localConnection = null;
160         }
161         catch(SQLException mySQLException)
162         {
163             mySQLException.printStackTrace();
164         }
165     }
166     /*
167      *
168      */
169     synchronized Connection getConnection(String dbName, String userName, String password, String dataSourceName)
170     {
171         // dataSourceName = "";
172         Connection localConnection = null;
173         try
174         {
175                 Class.forName("com.inet.tds.TdsDriver");
176                 DriverManager.setLoginTimeout(20);
177                 localConnection = DriverManager.getConnection("jdbc:inetdae7:DBSERVER", userName, password);
178                 localConnection.setCatalog(dataSourceName);
179         }
180         catch(SQLException mySQLException)
181         {
182                 mySQLException.printStackTrace();
183         }
184         catch(ClassNotFoundException myClassNotFoundException)
185         {
186             myClassNotFoundException.printStackTrace();
187         }
188         return(localConnection);
189     }
190     /*
191      *
192      */
193     void closeConenction(Connection passedConnection)
194     {
195         try
196         {
197                 if (passedConnection != null)
198                 {
199                         passedConnection.close();
200                         passedConnection =      null;
201                 }
202         }
203         catch(SQLException mySQLException)
204         {
205                 mySQLException.printStackTrace();
206         }
207     }
208 }
209 
210