You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/04/27 15:33:54 UTC

svn commit: r1331426 - /karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java

Author: jbonofre
Date: Fri Apr 27 13:33:53 2012
New Revision: 1331426

URL: http://svn.apache.org/viewvc?rev=1331426&view=rev
Log:
[KARAF-1417] Mimic feature:list in cluster:feature-list command

Modified:
    karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java

Modified: karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java
URL: http://svn.apache.org/viewvc/karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java?rev=1331426&r1=1331425&r2=1331426&view=diff
==============================================================================
--- karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java (original)
+++ karaf/cellar/trunk/features/src/main/java/org/apache/karaf/cellar/features/shell/ListGroupFeatures.java Fri Apr 27 13:33:53 2012
@@ -19,17 +19,22 @@ import org.apache.karaf.cellar.features.
 import org.apache.karaf.cellar.features.FeatureInfo;
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 
 import java.util.Map;
 
 @Command(scope = "cluster", name = "feature-list", description = "List the features assigned to a cluster group.")
 public class ListGroupFeatures extends FeatureCommandSupport {
 
-    protected static final String OUTPUT_FORMAT = "%-40s %-20s %-4s ";
+    protected static final String HEADER_FORMAT = " %-11s   %-15s   %s";
+    protected static final String OUTPUT_FORMAT = "[%-11s] [%-15s] %s";
 
     @Argument(index = 0, name = "group", description = "The cluster group name.", required = true, multiValued = false)
     String groupName;
 
+    @Option(name = "-i", aliases = { "--installed" }, description = "Display only installed features.", required = false, multiValued = false)
+    boolean installed;
+
     @Override
     protected Object doExecute() throws Exception {
         Group group = groupManager.findGroupByName(groupName);
@@ -43,15 +48,23 @@ public class ListGroupFeatures extends F
 
             Map<FeatureInfo, Boolean> features = clusterManager.getMap(Constants.FEATURES + Configurations.SEPARATOR + groupName);
             if (features != null && !features.isEmpty()) {
-                System.out.println(String.format("Features for group " + groupName));
-                System.out.println(String.format(OUTPUT_FORMAT, "Name", "Version", "Status"));
+                System.out.println(String.format("Features on cluster group " + groupName));
+                System.out.println(String.format(HEADER_FORMAT, "Status", "Version", "Name"));
                 for (FeatureInfo info : features.keySet()) {
                     String name = info.getName();
                     String version = info.getVersion();
-                    Boolean status = features.get(info);
+                    String statusString = "";
+                    boolean status = features.get(info);
+                    if (status) {
+                        statusString = "installed";
+                    } else {
+                        statusString = "uninstalled";
+                    }
                     if (version == null)
                         version = "";
-                    System.out.println(String.format(OUTPUT_FORMAT, name, version, status));
+                    if (!installed || (installed && status)) {
+                        System.out.println(String.format(OUTPUT_FORMAT, status, version, name));
+                    }
                 }
             } else System.err.println("No features found for group:" + groupName);
         } finally {