java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java
branchv_0
changeset 67 10c9b9e54622
parent 66 6e28893eaada
child 69 0befec5034c2
--- a/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java	Thu Dec 26 01:29:29 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java	Thu Dec 26 01:53:15 2013 +0100
@@ -17,9 +17,12 @@
  */
 package info.globalcode.sql.dk;
 
+import info.globalcode.sql.dk.configuration.Configuration;
 import info.globalcode.sql.dk.configuration.ConfigurationException;
 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 java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.io.PrintStream;
@@ -53,7 +56,24 @@
 				 * TODO: implement show info
 				 */
 				case FORMATTERS:
-					println("TODO: list available formatters");
+					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()});
+					}
+					if (configuredFormatters.isEmpty()) {
+						log.log(Level.INFO, "No other formatters are configured");
+					}
+
+					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);
+					}
 					break;
 				case HELP:
 					printResource(Constants.HELP_FILE);