java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java
branchv_0
changeset 106 e9c3583580c8
parent 91 43e8d52091d5
child 107 8189a4a28cd8
--- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java	Tue Dec 31 18:11:50 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java	Wed Jan 01 01:06:38 2014 +0100
@@ -19,6 +19,7 @@
 
 import info.globalcode.sql.dk.batch.Batch;
 import info.globalcode.sql.dk.configuration.DatabaseDefinition;
+import info.globalcode.sql.dk.configuration.Properties;
 import info.globalcode.sql.dk.formatting.ColumnsHeader;
 import info.globalcode.sql.dk.formatting.Formatter;
 import java.sql.Connection;
@@ -39,11 +40,18 @@
 	private static final Logger log = Logger.getLogger(DatabaseConnection.class.getName());
 	private DatabaseDefinition databaseDefinition;
 	private Connection connection;
+	private Properties properties;
 
-	public DatabaseConnection(DatabaseDefinition databaseDefinition) throws SQLException {
+	public DatabaseConnection(DatabaseDefinition databaseDefinition, Properties properties) throws SQLException {
 		this.databaseDefinition = databaseDefinition;
+		this.properties = properties;
 
-		connection = DriverManager.getConnection(databaseDefinition.getUrl(), databaseDefinition.getUserName(), databaseDefinition.getPassword());
+		properties.setDefaults(databaseDefinition.getProperties());
+		java.util.Properties javaProperties = properties.getJavaProperties();
+		javaProperties.setProperty("user", databaseDefinition.getUserName());
+		javaProperties.setProperty("password", databaseDefinition.getPassword());
+
+		connection = DriverManager.getConnection(databaseDefinition.getUrl(), javaProperties);
 	}
 
 	public void executeQuery(SQLCommand sqlCommand, Formatter formatter) throws SQLException {