home *** CD-ROM | disk | FTP | other *** search
- package java.sql;
-
- import java.io.PrintStream;
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Properties;
- import java.util.Vector;
-
- public class DriverManager {
- private static Vector drivers = new Vector();
- private static int loginTimeout;
- private static PrintStream logStream = null;
- private static boolean initialized;
-
- public static synchronized Connection getConnection(String var0, Properties var1) throws SQLException {
- if (var0 == null) {
- throw new SQLException("The url cannot be null", "08001");
- } else {
- println("DriverManager.getConnection(\"" + var0 + "\")");
- if (!initialized) {
- initialize();
- }
-
- Object var2 = getSecurityContext();
- SQLException var3 = null;
-
- for(int var4 = 0; var4 < drivers.size(); ++var4) {
- DriverInfo var5 = (DriverInfo)drivers.elementAt(var4);
- if (var5.securityContext != null && var5.securityContext != var2) {
- println(" skipping: " + var5);
- } else {
- try {
- println(" trying " + var5);
- Connection var6 = var5.driver.connect(var0, var1);
- if (var6 != null) {
- println("getConnection returning " + var5);
- return var6;
- }
- } catch (SQLException var7) {
- if (var3 == null) {
- var3 = var7;
- }
- }
- }
- }
-
- if (var3 != null) {
- println("getConnection failed: " + var3);
- throw var3;
- } else {
- println("getConnection: no suitable driver");
- throw new SQLException("No suitable driver", "08001");
- }
- }
- }
-
- public static synchronized Connection getConnection(String var0, String var1, String var2) throws SQLException {
- Properties var3 = new Properties();
- if (var1 != null) {
- ((Hashtable)var3).put("user", var1);
- }
-
- if (var2 != null) {
- ((Hashtable)var3).put("password", var2);
- }
-
- return getConnection(var0, var3);
- }
-
- public static synchronized Connection getConnection(String var0) throws SQLException {
- Properties var1 = new Properties();
- return getConnection(var0, var1);
- }
-
- public static Driver getDriver(String var0) throws SQLException {
- println("DriverManager.getDriver(\"" + var0 + "\")");
- if (!initialized) {
- initialize();
- }
-
- Object var1 = getSecurityContext();
-
- for(int var2 = 0; var2 < drivers.size(); ++var2) {
- DriverInfo var3 = (DriverInfo)drivers.elementAt(var2);
- if (var3.securityContext != null && var3.securityContext != var1) {
- println(" skipping: " + var3);
- } else {
- try {
- println(" trying " + var3);
- if (var3.driver.acceptsURL(var0)) {
- println("getDriver returning " + var3);
- return var3.driver;
- }
- } catch (SQLException var4) {
- }
- }
- }
-
- println("getDriver: no suitable driver");
- throw new SQLException("No suitable driver", "08001");
- }
-
- public static synchronized void registerDriver(Driver var0) throws SQLException {
- if (!initialized) {
- initialize();
- }
-
- DriverInfo var1 = new DriverInfo();
- var1.driver = var0;
- var1.className = var0.getClass().getName();
- var1.securityContext = getSecurityContext();
- drivers.addElement(var1);
- println("registerDriver: " + var1);
- }
-
- public static void deregisterDriver(Driver var0) throws SQLException {
- Object var1 = getSecurityContext();
- println("DriverManager.deregisterDriver: " + var0);
- DriverInfo var3 = null;
-
- int var2;
- for(var2 = 0; var2 < drivers.size(); ++var2) {
- var3 = (DriverInfo)drivers.elementAt(var2);
- if (var3.driver == var0) {
- break;
- }
- }
-
- if (var2 >= drivers.size()) {
- println(" couldn't find driver to unload");
- } else if (var1 != null && var3.securityContext != var1) {
- throw new SecurityException();
- } else {
- drivers.removeElementAt(var2);
- }
- }
-
- public static Enumeration getDrivers() {
- Vector var0 = new Vector();
- if (!initialized) {
- initialize();
- }
-
- Object var1 = getSecurityContext();
-
- for(int var2 = 0; var2 < drivers.size(); ++var2) {
- DriverInfo var3 = (DriverInfo)drivers.elementAt(var2);
- if (var3.securityContext != null && var3.securityContext != var1) {
- println(" skipping: " + var3);
- } else {
- var0.addElement(var3.driver);
- }
- }
-
- return var0.elements();
- }
-
- public static void setLoginTimeout(int var0) {
- loginTimeout = var0;
- }
-
- public static int getLoginTimeout() {
- return loginTimeout;
- }
-
- public static void setLogStream(PrintStream var0) {
- logStream = var0;
- }
-
- public static PrintStream getLogStream() {
- return logStream;
- }
-
- public static void println(String var0) {
- if (logStream != null) {
- logStream.println(var0);
- }
-
- }
-
- private static Object getSecurityContext() {
- SecurityManager var0 = System.getSecurityManager();
- return var0 == null ? null : var0.getSecurityContext();
- }
-
- private static void loadInitialDrivers() {
- String var0;
- try {
- var0 = System.getProperty("jdbc.drivers");
- } catch (Exception var5) {
- var0 = null;
- }
-
- println("DriverManager.initialize: jdbc.drivers = " + var0);
- if (var0 != null) {
- while(var0.length() != 0) {
- int var1 = var0.indexOf(58);
- String var2;
- if (var1 < 0) {
- var2 = var0;
- var0 = "";
- } else {
- var2 = var0.substring(0, var1);
- var0 = var0.substring(var1 + 1);
- }
-
- if (var2.length() != 0) {
- try {
- println("DriverManager.Initialize: loading " + var2);
- Class.forName(var2);
- } catch (Exception var4) {
- println("DriverManager.Initialize: load failed: " + var4);
- }
- }
- }
-
- }
- }
-
- static void initialize() {
- if (!initialized) {
- initialized = true;
- loadInitialDrivers();
- println("JDBC DriverManager initialized");
- }
- }
-
- private DriverManager() {
- }
- }
-