# HG changeset patch # User František Kučera # Date 1432487870 -7200 # Node ID d3db5a72a089d40f6cc7a8267e16a3bd6bf39961 # Parent 2e351d7c26c499488f609590136a0bcf223473cc InfoLister: sort rows in --list-java-properties and --list-environment-variables diff -r 2e351d7c26c4 -r d3db5a72a089 java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java --- a/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java Sun May 24 19:10:25 2015 +0200 +++ b/java/sql-dk/src/info/globalcode/sql/dk/InfoLister.java Sun May 24 19:17:50 2015 +0200 @@ -39,6 +39,8 @@ import java.sql.DriverPropertyInfo; import java.sql.SQLException; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.EnumSet; import java.util.HashSet; import java.util.List; @@ -125,7 +127,7 @@ for (Entry e : System.getProperties().entrySet()) { data.add(new Object[]{e.getKey(), e.getValue()}); } - printTable(formatter, header, "-- Java system properties", null, data); + printTable(formatter, header, "-- Java system properties", null, data, 0); } private void listEnvironmentVariables() throws FormatterException, ConfigurationException { @@ -134,7 +136,7 @@ for (Entry e : System.getenv().entrySet()) { data.add(new Object[]{e.getKey(), e.getValue()}); } - printTable(formatter, header, "-- environment variables", null, data); + printTable(formatter, header, "-- environment variables", null, data, 0); } private void listFormatters() throws ConfigurationException, FormatterException { @@ -426,8 +428,24 @@ } private void printTable(Formatter formatter, ColumnsHeader header, String sql, List parameters, List data) throws ConfigurationException, FormatterException { + printTable(formatter, header, sql, parameters, data, null); + } + + private void printTable(Formatter formatter, ColumnsHeader header, String sql, List parameters, List data, final Integer sortByColumn) throws ConfigurationException, FormatterException { printHeader(formatter, header, sql, parameters); + if (sortByColumn != null) { + Collections.sort(data, new Comparator() { + + @Override + public int compare(Object[] o1, Object[] o2) { + String s1 = String.valueOf(o1[sortByColumn]); + String s2 = String.valueOf(o2[sortByColumn]); + return s1.compareTo(s2); + } + }); + } + for (Object[] row : data) { printRow(formatter, row); }