option --list-formatters – list configured and built-in formatters v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Thu, 26 Dec 2013 01:53:15 +0100
branchv_0
changeset 67 10c9b9e54622
parent 66 6e28893eaada
child 68 574cd7fbb5b2
option --list-formatters – list configured and built-in formatters
java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java
java/sql-dk/src/info/globalcode/sql/dk/configuration/Configuration.java
--- 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);
--- a/java/sql-dk/src/info/globalcode/sql/dk/configuration/Configuration.java	Thu Dec 26 01:29:29 2013 +0100
+++ b/java/sql-dk/src/info/globalcode/sql/dk/configuration/Configuration.java	Thu Dec 26 01:53:15 2013 +0100
@@ -29,6 +29,7 @@
 import java.util.List;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
 
 /**
  *
@@ -99,6 +100,11 @@
 		}
 	}
 
+	@XmlTransient
+	public Collection<FormatterDefinition> getBuildInFormatters() {
+		return buildInFormatters;
+	}
+
 	/**
 	 * @return name of default formatter, is used if name is not specified on CLI
 	 */