- Adds error handling for Segment routing CLI
- Removes SegmentRoutingManager reference from TunnelHandler and PolicyHandler
Change-Id: Iab6acdc489d41a63ebf6b37b65d0e82448a8b25a
diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java
index f5c9f58..cca22c3 100644
--- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java
+++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/cli/TunnelRemoveCommand.java
@@ -23,6 +23,7 @@
import org.onosproject.segmentrouting.DefaultTunnel;
import org.onosproject.segmentrouting.SegmentRoutingService;
import org.onosproject.segmentrouting.Tunnel;
+import org.onosproject.segmentrouting.TunnelHandler;
/**
* Command to remove a tunnel.
@@ -38,11 +39,20 @@
@Override
protected void execute() {
-
SegmentRoutingService srService =
AbstractShellCommand.get(SegmentRoutingService.class);
Tunnel tunnel = new DefaultTunnel(tunnelId, Lists.newArrayList());
- srService.removeTunnel(tunnel);
+ TunnelHandler.Result result = srService.removeTunnel(tunnel);
+ switch (result) {
+ case TUNNEL_IN_USE:
+ print("ERROR: the tunnel is still in use");
+ break;
+ case TUNNEL_NOT_FOUND:
+ print("ERROR: the tunnel is not found");
+ break;
+ default:
+ break;
+ }
}
}
\ No newline at end of file