java/sql-dk/src/info/globalcode/sql/dk/configuration/Loader.java
branchv_0
changeset 194 629c9c7eab01
parent 193 5a18a6adf7f9
child 196 76da38d49e81
equal deleted inserted replaced
193:5a18a6adf7f9 194:629c9c7eab01
    19 
    19 
    20 import info.globalcode.sql.dk.*;
    20 import info.globalcode.sql.dk.*;
    21 import static info.globalcode.sql.dk.DatabaseConnection.JDBC_PROPERTY_USER;
    21 import static info.globalcode.sql.dk.DatabaseConnection.JDBC_PROPERTY_USER;
    22 import static info.globalcode.sql.dk.DatabaseConnection.JDBC_PROPERTY_PASSWORD;
    22 import static info.globalcode.sql.dk.DatabaseConnection.JDBC_PROPERTY_PASSWORD;
    23 import java.sql.Connection;
    23 import java.sql.Connection;
       
    24 import java.sql.Driver;
    24 import java.sql.DriverManager;
    25 import java.sql.DriverManager;
    25 import java.sql.SQLException;
    26 import java.sql.SQLException;
    26 import java.util.logging.Level;
    27 import java.util.logging.Level;
    27 import java.util.logging.Logger;
    28 import java.util.logging.Logger;
    28 import javax.xml.bind.JAXBContext;
    29 import javax.xml.bind.JAXBContext;
    64 		credentials.add(new Property(JDBC_PROPERTY_USER, databaseDefinition.getUserName()));
    65 		credentials.add(new Property(JDBC_PROPERTY_USER, databaseDefinition.getUserName()));
    65 		credentials.add(new Property(JDBC_PROPERTY_PASSWORD, databaseDefinition.getPassword()));
    66 		credentials.add(new Property(JDBC_PROPERTY_PASSWORD, databaseDefinition.getPassword()));
    66 		credentials.setDefaults(databaseDefinition.getProperties());
    67 		credentials.setDefaults(databaseDefinition.getProperties());
    67 		properties.setDefaults(credentials);
    68 		properties.setDefaults(credentials);
    68 		java.util.Properties javaProperties = properties.getJavaProperties();
    69 		java.util.Properties javaProperties = properties.getJavaProperties();
    69 		return DriverManager.getConnection(databaseDefinition.getUrl(), javaProperties);
    70 
       
    71 		String driverClassName = databaseDefinition.getDriver();
       
    72 		final String url = databaseDefinition.getUrl();
       
    73 		if (driverClassName == null) {
       
    74 			log.log(Level.FINE, "Using DriverManager to create connection for „{0}“", url);
       
    75 			return DriverManager.getConnection(url, javaProperties);
       
    76 		} else {
       
    77 			log.log(Level.FINE, "Using custom Driver „{0}“ to create connection for „{1}“", new Object[]{driverClassName, url});
       
    78 			try {
       
    79 				Class<Driver> driverClass = (Class<Driver>) Class.forName(driverClassName);
       
    80 				Driver driver = driverClass.newInstance();
       
    81 				return driver.connect(url, javaProperties);
       
    82 			} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e) {
       
    83 				throw new SQLException("Unable to connect usig specific driver: " + driverClassName, e);
       
    84 			}
       
    85 		}
    70 	}
    86 	}
    71 
    87 
    72 }
    88 }