Add an option to flows/groups command that print flow/group count only
Change-Id: Iaf66eac2fffbb14756d48164f8469e4afa1b9fb8
diff --git a/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java b/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java
index 8083c96..1428ff5 100644
--- a/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/GroupsListCommand.java
@@ -23,6 +23,7 @@
import org.apache.karaf.shell.commands.Argument;
import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
import org.onosproject.cli.AbstractShellCommand;
import org.onosproject.cli.Comparators;
import org.onosproject.net.Device;
@@ -60,6 +61,11 @@
required = false, multiValued = false)
String state;
+ @Option(name = "-c", aliases = "--count",
+ description = "Print group count only",
+ required = false, multiValued = false)
+ private boolean countOnly = false;
+
private JsonNode json(Map<Device, List<Group>> sortedGroups) {
ArrayNode result = mapper().createArrayNode();
@@ -122,6 +128,11 @@
private void printGroups(DeviceId deviceId, List<Group> groups) {
print("deviceId=%s, groupCount=%s", deviceId, groups.size());
+
+ if (countOnly) {
+ return;
+ }
+
for (Group group : groups) {
print(FORMAT, Integer.toHexString(group.id().id()), group.state(), group.type(),
group.bytes(), group.packets(), group.appId().name());