--- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Sat May 16 23:58:06 2015 +0200
+++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Sun May 17 00:27:56 2015 +0200
@@ -22,14 +22,13 @@
import info.globalcode.sql.dk.batch.Batch;
import info.globalcode.sql.dk.batch.BatchException;
import info.globalcode.sql.dk.configuration.DatabaseDefinition;
+import info.globalcode.sql.dk.configuration.Loader;
import info.globalcode.sql.dk.configuration.Properties;
-import info.globalcode.sql.dk.configuration.Property;
import info.globalcode.sql.dk.formatting.ColumnsHeader;
import info.globalcode.sql.dk.formatting.Formatter;
import info.globalcode.sql.dk.jmx.ConnectionManagement;
import info.globalcode.sql.dk.jmx.ConnectionManagement.COUNTER;
import java.sql.Connection;
-import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -49,7 +48,7 @@
public class DatabaseConnection implements AutoCloseable {
private static final Logger log = Logger.getLogger(DatabaseConnection.class.getName());
- private static final String JDBC_PROPERTY_USER = "user";
+ public static final String JDBC_PROPERTY_USER = "user";
public static final String JDBC_PROPERTY_PASSWORD = "password";
private final DatabaseDefinition databaseDefinition;
private final Connection connection;
@@ -71,19 +70,7 @@
this.databaseDefinition = databaseDefinition;
this.properties = properties;
this.connectionMBean = connectionMBean;
-
- if (properties.hasProperty(JDBC_PROPERTY_PASSWORD)) {
- log.log(Level.WARNING, "Passing DB password as CLI parameter is insecure!");
- }
-
- Properties credentials = new Properties();
- credentials.add(new Property(JDBC_PROPERTY_USER, databaseDefinition.getUserName()));
- credentials.add(new Property(JDBC_PROPERTY_PASSWORD, databaseDefinition.getPassword()));
- credentials.setDefaults(databaseDefinition.getProperties());
- properties.setDefaults(credentials);
- java.util.Properties javaProperties = properties.getJavaProperties();
-
- connection = DriverManager.getConnection(databaseDefinition.getUrl(), javaProperties);
+ this.connection = Loader.jdbcConnect(databaseDefinition, properties);
}
public void executeQuery(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
@@ -116,7 +103,7 @@
private void processCommand(SQLCommand sqlCommand, Formatter formatter) throws SQLException {
incrementCounter(connectionMBean, COUNTER.COMMAND);
resetCounter(connectionMBean, COUNTER.RECORD_CURRENT);
-
+
try (PreparedStatement ps = sqlCommand.prepareStatement(connection)) {
log.log(Level.FINE, "Statement prepared");
sqlCommand.parametrize(ps);
@@ -157,7 +144,7 @@
while (rs.next()) {
incrementCounter(connectionMBean, COUNTER.RECORD_CURRENT);
incrementCounter(connectionMBean, COUNTER.RECORD_TOTAL);
-
+
formatter.writeStartRow();
for (int i = 1; i <= columnCount; i++) {