--- a/java/sql-dk/src/info/globalcode/sql/dk/CLIOptions.java Thu Dec 26 22:32:06 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIOptions.java Thu Dec 26 22:39:38 2013 +0100
@@ -18,14 +18,15 @@
package info.globalcode.sql.dk;
import static info.globalcode.sql.dk.Functions.isNotEmpty;
-import static info.globalcode.sql.dk.Functions.isEmpty;
import static info.globalcode.sql.dk.Functions.equalz;
import info.globalcode.sql.dk.InfoLister.InfoType;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
@@ -39,7 +40,7 @@
public static final String DEFAULT_NAME_SUFFIX = "(?=([^\\w]|$))";
private String sql;
private String databaseName;
- private String databaseNameToTest;
+ private Set<String> databaseNameToTest = new HashSet<>();
private String namePrefix = DEFAULT_NAME_PREFIX;
private String nameSuffix = DEFAULT_NAME_SUFFIX;
private String formatterName;
@@ -84,7 +85,7 @@
if (!equalz(nameSuffix, DEFAULT_NAME_SUFFIX)) {
e.addProblem(new InvalidOptionsException.OptionProblem("Do not specify name suffix if just showing info."));
}
- if (showInfo.contains(InfoType.CONNECTION) && isEmpty(databaseNameToTest, false)) {
+ if (showInfo.contains(InfoType.CONNECTION) && databaseNameToTest.isEmpty()) {
e.addProblem(new InvalidOptionsException.OptionProblem("Please specify which database should be tested."));
}
}
@@ -210,12 +211,12 @@
return showInfo;
}
- public String getDatabaseNameToTest() {
+ public Set<String> getDatabaseNameToTest() {
return databaseNameToTest;
}
- public void setDatabaseNameToTest(String databaseNameToTest) {
- this.databaseNameToTest = databaseNameToTest;
+ public void addDatabaseNameToTest(String databaseNameToTest) {
+ this.databaseNameToTest.add(databaseNameToTest);
}
public SQLCommand getSQLCommand() {
--- a/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Thu Dec 26 22:32:06 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/CLIParser.java Thu Dec 26 22:39:38 2013 +0100
@@ -120,7 +120,7 @@
break;
case Tokens.INFO_CONNECTION:
options.addShowInfo(InfoType.CONNECTION);
- options.setDatabaseNameToTest(fetchNext(args, ++i));
+ options.addDatabaseNameToTest(fetchNext(args, ++i));
break;
default:
throw new CLIParserException("Unknown option: " + arg);
--- a/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java Thu Dec 26 22:32:06 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java Thu Dec 26 22:39:38 2013 +0100
@@ -61,7 +61,7 @@
for (InfoType infoType : commands) {
switch (infoType) {
- // only these needs formatted output
+ // only these need formatted output
case CONNECTION:
case DATABASES:
case FORMATTERS:
@@ -135,14 +135,13 @@
public void testConnection() throws FormatterException, ConfigurationException {
ColumnsHeader header = constructHeader(
new HeaderField("database_name", SQLType.VARCHAR),
- new HeaderField("configured", SQLType.VARCHAR),
- new HeaderField("connected", SQLType.VARCHAR));
+ new HeaderField("configured", SQLType.BOOLEAN),
+ new HeaderField("connected", SQLType.BOOLEAN));
List<Object[]> data = new ArrayList<>();
- /** TODO: support multiple DB to test */
- String dbName = options.getDatabaseNameToTest();
-
- data.add(testConnection(dbName));
+ for (String dbName : options.getDatabaseNameToTest()) {
+ data.add(testConnection(dbName));
+ }
printTable(formatter, header, data);
}