You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ld...@apache.org on 2011/01/28 13:41:04 UTC

svn commit: r1064642 - /karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java

Author: ldywicki
Date: Fri Jan 28 12:41:04 2011
New Revision: 1064642

URL: http://svn.apache.org/viewvc?rev=1064642&view=rev
Log:
[KARAF-425] Improved output of info command.

Modified:
    karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java

Modified: karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java?rev=1064642&r1=1064641&r2=1064642&view=diff
==============================================================================
--- karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java (original)
+++ karaf/trunk/shell/commands/src/main/java/org/apache/karaf/shell/commands/InfoAction.java Fri Jan 28 12:41:04 2011
@@ -16,20 +16,29 @@
  */
 package org.apache.karaf.shell.commands;
 
-import org.apache.felix.gogo.commands.Command;
-import org.apache.karaf.shell.commands.info.InfoProvider;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.fusesource.jansi.Ansi;
-
-import java.lang.management.*;
+import java.lang.management.ClassLoadingMXBean;
+import java.lang.management.GarbageCollectorMXBean;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
+import java.lang.management.OperatingSystemMXBean;
+import java.lang.management.RuntimeMXBean;
+import java.lang.management.ThreadMXBean;
 import java.lang.reflect.Method;
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
 import java.text.NumberFormat;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.felix.gogo.commands.Command;
+import org.apache.karaf.shell.commands.info.InfoProvider;
+import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.fusesource.jansi.Ansi;
 
 @Command(scope = "shell", name = "info", description = "Prints system informations")
 public class InfoAction extends OsgiCommandSupport {
@@ -105,13 +114,22 @@ public class InfoAction extends OsgiComm
         }
 
         //Display Information from external information providers.
+        Map<String, Map<Object, Object>> properties = new HashMap<String, Map<Object, Object>>();
         if (infoProviders != null) {
+
+            // dump all properties to Map, KARAF-425
             for (InfoProvider provider : infoProviders) {
-                System.out.println(provider.getName());
-				Iterator propertyNames =  provider.getProperties().keySet().iterator();
-                while(propertyNames.hasNext()) {
-					Object propertyKey = propertyNames.next();
-                    printValue(String.valueOf(propertyKey), maxNameLen, provider.getProperties().getProperty(String.valueOf(propertyKey)));
+                if (!properties.containsKey(provider.getName())) {
+                    properties.put(provider.getName(), new Properties());
+                }
+                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)));
                 }
             }
         }