You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ff...@apache.org on 2012/05/30 05:24:11 UTC

svn commit: r1344085 - /karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java

Author: ffang
Date: Wed May 30 03:24:11 2012
New Revision: 1344085

URL: http://svn.apache.org/viewvc?rev=1344085&view=rev
Log:
[KARAF-1499]InfoAction shell command should sort the properties from InfoProvider instances

Modified:
    karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java

Modified: karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java?rev=1344085&r1=1344084&r2=1344085&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java (original)
+++ karaf/branches/karaf-2.3.x/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java Wed May 30 03:24:11 2012
@@ -27,8 +27,10 @@ import java.lang.reflect.Method;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
 import java.text.NumberFormat;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
@@ -126,11 +128,22 @@ public class InfoAction extends OsgiComm
                 properties.get(provider.getName()).putAll(provider.getProperties());
             }
 
-            for (String section : properties.keySet()) {
-                System.out.println(section);
-
-                for (Object key : properties.get(section).keySet()) {
-                    printValue(String.valueOf(key), maxNameLen, String.valueOf(properties.get(section).get(key)));
+            List<String> sections = new ArrayList<String>(properties.keySet());
+            Collections.sort(sections);
+            for (String section : sections) {
+                List<Object> keys = new ArrayList<Object>(properties.get(section).keySet());
+                if (keys.size() > 0) {
+                    System.out.println(section);
+
+                    Collections.sort(keys, new Comparator<Object>() {
+                        public int compare(Object o1, Object o2) {
+                            return String.valueOf(o1).compareTo(String.valueOf(o2));
+                        }
+                    });
+
+                    for (Object key : keys) {
+                        printValue(String.valueOf(key), maxNameLen, String.valueOf(properties.get(section).get(key)));
+                    }
                 }
             }
         }