route-remove cli command with source type addition
Change-Id: I420d7d0273c3b0c883c69c9f64fbe854fa1b6c65
(cherry picked from commit 7828d01ca571190c1c3ba526dd24ef6e7399c79c)
diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java
index 9fef2ec..24ecc71 100644
--- a/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java
+++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java
@@ -41,6 +41,10 @@
required = true)
String nextHopString = null;
+ @Argument(index = 2, name = "source", description = "Source type of the route",
+ required = false)
+ String source = null;
+
@Override
protected void execute() {
RouteAdminService service = AbstractShellCommand.get(RouteAdminService.class);
@@ -48,7 +52,14 @@
IpPrefix prefix = IpPrefix.valueOf(prefixString);
IpAddress nextHop = IpAddress.valueOf(nextHopString);
- service.withdraw(Collections.singleton(new Route(Route.Source.STATIC, prefix, nextHop)));
+ // Routes through cli without mentioning source then it is created as STATIC,
+ // otherwise routes are created with corresponding source.
+
+ Route route = source == null ?
+ new Route(Route.Source.STATIC, prefix, nextHop) :
+ new Route(Route.Source.valueOf(source), prefix, nextHop);
+
+ service.withdraw(Collections.singleton(route));
}
}