# HG changeset patch # User František Kučera # Date 1388540669 -3600 # Node ID 8189a4a28cd86e2fb460c79bed8b22997de400b6 # Parent e9c3583580c85da8b1866bf838092717e9eaf866 database/formatter properties also as CLI options diff -r e9c3583580c8 -r 8189a4a28cd8 java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java --- a/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Wed Jan 01 01:06:38 2014 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Wed Jan 01 02:44:29 2014 +0100 @@ -18,6 +18,7 @@ package info.globalcode.sql.dk; import info.globalcode.sql.dk.InfoLister.InfoType; +import info.globalcode.sql.dk.configuration.Property; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -100,6 +101,12 @@ case Tokens.FORMATTER: options.setFormatterName(fetchNext(args, ++i)); break; + case Tokens.DB_PROPERTY: + options.addDatabaseProperty(new Property(fetchNext(args, ++i), fetchNext(args, ++i))); + break; + case Tokens.FORMATTER_PROPERTY: + options.addFormatterProperty(new Property(fetchNext(args, ++i), fetchNext(args, ++i))); + break; case Tokens.INFO_HELP: options.addShowInfo(InfoType.HELP); break; @@ -141,6 +148,7 @@ // bash-completion:options: public static final String DB = "--db"; // bash-completion:option // help: database name + public static final String DB_PROPERTY = "--db-property"; // bash-completion:option // help: name and value public static final String SQL = "--sql"; // bash-completion:option // help: SQL query/command public static final String BATCH = "--batch"; // bash-completion:option // help: batch mode (no argument) public static final String DATA = "--data"; // bash-completion:option // help: list of ordinal parameters @@ -149,6 +157,7 @@ public static final String NAME_SUFFIX = "--name-suffix"; // bash-completion:option // help: parameter name suffix – regular expression public static final String TYPES = "--types"; // bash-completion:option // help: comma separated list of parameter types public static final String FORMATTER = "--formatter"; // bash-completion:option // help: name of the output formatter + public static final String FORMATTER_PROPERTY = "--formatter-property"; // bash-completion:option // help: name and value public static final String INFO_HELP = "--help"; // bash-completion:option // help: print this help public static final String INFO_VERSION = "--version"; // bash-completion:option // help: print version info public static final String INFO_LICENSE = "--license"; // bash-completion:option // help: print license diff -r e9c3583580c8 -r 8189a4a28cd8 java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java --- a/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Wed Jan 01 01:06:38 2014 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/DatabaseConnection.java Wed Jan 01 02:44:29 2014 +0100 @@ -20,6 +20,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.configuration.Property; import info.globalcode.sql.dk.formatting.ColumnsHeader; import info.globalcode.sql.dk.formatting.Formatter; import java.sql.Connection; @@ -46,10 +47,12 @@ this.databaseDefinition = databaseDefinition; this.properties = properties; - properties.setDefaults(databaseDefinition.getProperties()); + Properties credentials = new Properties(); + credentials.add(new Property("user", databaseDefinition.getUserName())); + credentials.add(new Property("password", databaseDefinition.getPassword())); + credentials.setDefaults(databaseDefinition.getProperties()); + properties.setDefaults(credentials); java.util.Properties javaProperties = properties.getJavaProperties(); - javaProperties.setProperty("user", databaseDefinition.getUserName()); - javaProperties.setProperty("password", databaseDefinition.getPassword()); connection = DriverManager.getConnection(databaseDefinition.getUrl(), javaProperties); } diff -r e9c3583580c8 -r 8189a4a28cd8 java/sql-dk/src/info/globalcode/sql/dk/configuration/Properties.java --- a/java/sql-dk/src/info/globalcode/sql/dk/configuration/Properties.java Wed Jan 01 01:06:38 2014 +0100 +++ b/java/sql-dk/src/info/globalcode/sql/dk/configuration/Properties.java Wed Jan 01 02:44:29 2014 +0100 @@ -94,14 +94,14 @@ */ public java.util.Properties getJavaProperties() { java.util.Properties javaProperties = new java.util.Properties(); - if (defaults != null) { - duplicateTo(javaProperties); - } duplicateTo(javaProperties); return javaProperties; } private void duplicateTo(java.util.Properties javaProperties) { + if (defaults != null) { + defaults.duplicateTo(javaProperties); + } for (Property p : this) { javaProperties.setProperty(p.getName(), p.getValue()); }