Eliminate blueprint for drop-test-karaf commands
[openflowplugin.git] / drop-test-karaf / src / main / java / org / opendaylight / openflowplugin / droptestkaraf / DropAllPacketsRpcCommandProvider.java
index 997878fb69db7d50be4b7363853443d6c21a4292..bc9b9e32fb26f8ba152d84e5ece7c5d5d3bbffcc 100644 (file)
@@ -7,27 +7,33 @@
  */
 package org.opendaylight.openflowplugin.droptestkaraf;
 
-import java.io.PrintStream;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
 import org.apache.karaf.shell.api.action.lifecycle.Reference;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.api.console.Session;
 import org.opendaylight.openflowplugin.testcommon.DropTestRpcSender;
 
 @Command(scope = "drop-test", name = "dropAllPacketsRpc",
          description = "drop packet responder involving SalFlowService")
-public class DropAllPacketsRpcCommandProvider extends OsgiCommandSupport {
+@Service
+public class DropAllPacketsRpcCommandProvider implements Action {
     @Reference
     DropTestRpcSender provider;
+    @Reference
+    Session session;
 
     @Argument(index = 0, name = "on-off",
             description = "target state of drop responder",
             required = true, multiValued = false)
+    @Completion(DropAllPacketsCompleter.class)
     String targetStateArg;
 
     @Override
-    protected Object doExecute() {
-        PrintStream out = session.getConsole();
+    public Object execute() {
+        final var out = session.getConsole();
         if ("on".equalsIgnoreCase(targetStateArg)) {
             if (provider.start()) {
                 out.println("DropAllFlows transitions to on");