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 {