java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java
branchv_0
changeset 72 fc9fc1f26b88
parent 70 02c8eaa425e8
child 73 d32fd50d3c2c
--- a/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java	Thu Dec 26 21:48:59 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java	Thu Dec 26 22:18:24 2013 +0100
@@ -22,7 +22,6 @@
 import info.globalcode.sql.dk.configuration.ConfigurationProvider;
 import info.globalcode.sql.dk.configuration.DatabaseDefinition;
 import info.globalcode.sql.dk.configuration.FormatterDefinition;
-import static info.globalcode.sql.dk.Functions.rpad;
 import info.globalcode.sql.dk.formatting.ColumnsHeader;
 import info.globalcode.sql.dk.formatting.Formatter;
 import info.globalcode.sql.dk.formatting.FormatterContext;
@@ -81,23 +80,28 @@
 		}
 	}
 
-	private void listFormatters() throws ConfigurationException {
+	private void listFormatters() throws ConfigurationException, FormatterException {
+		ColumnsHeader header = constructHeader(
+				new HeaderField("name", SQLType.VARCHAR),
+				new HeaderField("built_in", SQLType.BOOLEAN),
+				new HeaderField("default", SQLType.BOOLEAN),
+				new HeaderField("class_name", SQLType.VARCHAR));
+		List<Object[]> data = new ArrayList<>();
+
+		String defaultFormatter = configurationProvider.getConfiguration().getDefaultFormatter();
+		defaultFormatter = defaultFormatter == null ? Configuration.DEFAULT_FORMATTER : defaultFormatter;
+
 		for (FormatterDefinition fd : configurationProvider.getConfiguration().getBuildInFormatters()) {
-			log.log(Level.INFO, "Built-in formatter:   {0} implemented by class: {1}", new Object[]{rpad(fd.getName(), 16), fd.getClassName()});
-		}
-		List<FormatterDefinition> configuredFormatters = configurationProvider.getConfiguration().getFormatters();
-		for (FormatterDefinition fd : configuredFormatters) {
-			log.log(Level.INFO, "Configured formatter: {0} implemented by class: {1}", new Object[]{rpad(fd.getName(), 16), fd.getClassName()});
+			data.add(new Object[]{fd.getName(), true, defaultFormatter.equals(fd.getName()), fd.getClassName()});
 		}
-		if (configuredFormatters.isEmpty()) {
-			log.log(Level.INFO, "No other formatters are configured");
+
+		for (FormatterDefinition fd : configurationProvider.getConfiguration().getFormatters()) {
+			data.add(new Object[]{fd.getName(), false, defaultFormatter.equals(fd.getName()), fd.getClassName()});
 		}
-		String configuredDefaultFormatter = configurationProvider.getConfiguration().getDefaultFormatter();
-		if (configuredDefaultFormatter == null) {
-			log.log(Level.INFO, "Built-in default formatter: {0}", Configuration.DEFAULT_FORMATTER);
-		} else {
-			log.log(Level.INFO, "Configured default formatter: {0}", configuredDefaultFormatter);
-		}
+
+		printTable(formatter, header, data);
+
+
 	}
 
 	public void listTypes() throws FormatterException, ConfigurationException {
@@ -109,15 +113,23 @@
 		printTable(formatter, header, data);
 	}
 
-	public void listDatabases() throws ConfigurationException {
+	public void listDatabases() throws ConfigurationException, FormatterException {
+		ColumnsHeader header = constructHeader(
+				new HeaderField("database_name", SQLType.VARCHAR),
+				new HeaderField("user_name", SQLType.VARCHAR),
+				new HeaderField("database_url", SQLType.VARCHAR));
+		List<Object[]> data = new ArrayList<>();
+
 		final List<DatabaseDefinition> configuredDatabases = configurationProvider.getConfiguration().getDatabases();
 		if (configuredDatabases.isEmpty()) {
 			log.log(Level.WARNING, "No databases are configured.");
 		} else {
 			for (DatabaseDefinition dd : configuredDatabases) {
-				log.log(Level.INFO, "Configured database: {0}", dd.getName());
+				data.add(new Object[]{dd.getName(), dd.getUserName(), dd.getUrl()});
 			}
 		}
+
+		printTable(formatter, header, data);
 	}
 
 	public void testConnection() {