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)));
}
}
}