Added support for -s|--short option when listing apps.
Added support for -s|--short option when listing configs.
Change-Id: I9235cc5eec34826ff90feb5642981080fcfa1524
diff --git a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
index 910f7b1..de73c91 100644
--- a/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/cfg/ComponentConfigCommand.java
@@ -17,10 +17,12 @@
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
import org.onosproject.cfg.ComponentConfigService;
import org.onosproject.cfg.ConfigProperty;
import org.onosproject.cli.AbstractShellCommand;
+import java.util.Optional;
import java.util.Set;
import static com.google.common.base.Strings.isNullOrEmpty;
@@ -36,6 +38,12 @@
static final String SET = "set";
private static final String FMT = " name=%s, type=%s, value=%s, defaultValue=%s, description=%s";
+ private static final String SHORT_FMT = " %s=%s";
+
+ @Option(name = "-s", aliases = "--short", description = "Show short output only",
+ required = false, multiValued = false)
+ private boolean shortOnly = false;
+
@Argument(index = 0, name = "command",
description = "Command name (activate|deactivate|uninstall)",
@@ -87,12 +95,29 @@
private void listComponentProperties(String component) {
Set<ConfigProperty> props = service.getProperties(component);
print("%s", component);
- props.forEach(p -> print(FMT, p.name(), p.type().toString().toLowerCase(),
- p.value(), p.defaultValue(), p.description()));
+ if (shortOnly) {
+ props.forEach(p -> print(SHORT_FMT, p.name(), p.value()));
+ } else {
+ props.forEach(p -> print(FMT, p.name(), p.type().toString().toLowerCase(),
+ p.value(), p.defaultValue(), p.description()));
+ }
}
private void listComponentProperty(String component, String name) {
- // FIXME: implement after getProperty is defined and implemented
+ Set<ConfigProperty> props = service.getProperties(component);
+ Optional<ConfigProperty> property = props.stream()
+ .filter(p -> p.name().equals(name)).findFirst();
+ if (!property.isPresent()) {
+ System.err.println("Property " + name + " for component " + component + " not found");
+ return;
+ }
+ ConfigProperty p = property.get();
+ if (shortOnly) {
+ print(SHORT_FMT, p.name(), p.value());
+ } else {
+ print(FMT, p.name(), p.type().toString().toLowerCase(), p.value(),
+ p.defaultValue(), p.description());
+ }
}
}