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