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