*/
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");