From f54c3e7ca1fea274608f8fc743bc321009cb0f7d Mon Sep 17 00:00:00 2001 From: Jonathan Hart Date: Thu, 21 Apr 2016 18:08:44 -0700 Subject: [PATCH] Added back summary mode for routes CLI command Change-Id: Idc39a1c81d6a597b0c55885e4e93d5b8ead62650 --- .../cli/net/RoutesListCommand.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java index b4bbf946a9..cb96f4cf89 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java +++ b/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java @@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.commands.Option; import org.onosproject.cli.AbstractShellCommand; import org.onosproject.incubator.net.routing.Route; import org.onosproject.incubator.net.routing.RouteService; @@ -35,6 +36,12 @@ import java.util.Map; description = "Lists all routes in the route store") public class RoutesListCommand extends AbstractShellCommand { + @Option(name = "-s", aliases = "--summary", + description = "Show summary of routes") + private boolean summary = false; + + private static final String FORMAT_SUMMARY = + "Number of routes in table %s: %s"; private static final String FORMAT_HEADER = " Network Next Hop"; private static final String FORMAT_ROUTE = @@ -49,6 +56,20 @@ public class RoutesListCommand extends AbstractShellCommand { Map> allRoutes = service.getAllRoutes(); + if (summary) { + if (outputJson()) { + ObjectMapper mapper = new ObjectMapper(); + ObjectNode result = mapper.createObjectNode(); + result.put("totalRoutes4", allRoutes.get(new RouteTableId("ipv4")).size()); + result.put("totalRoutes6", allRoutes.get(new RouteTableId("ipv6")).size()); + print("%s", result); + } else { + allRoutes.forEach((id, routes) -> print(FORMAT_SUMMARY, id, routes.size())); + } + + return; + } + if (outputJson()) { ObjectMapper mapper = new ObjectMapper(); ObjectNode result = mapper.createObjectNode();