2 * Copyright (c) 2013 Ericsson , Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.droptestkaraf;
10 import org.apache.karaf.shell.api.action.Action;
11 import org.apache.karaf.shell.api.action.Argument;
12 import org.apache.karaf.shell.api.action.Command;
13 import org.apache.karaf.shell.api.action.Completion;
14 import org.apache.karaf.shell.api.action.lifecycle.Reference;
15 import org.apache.karaf.shell.api.action.lifecycle.Service;
16 import org.apache.karaf.shell.api.console.Session;
17 import org.opendaylight.openflowplugin.testcommon.DropTestRpcSender;
19 @Command(scope = "drop-test", name = "dropAllPacketsRpc",
20 description = "drop packet responder involving SalFlowService")
22 public class DropAllPacketsRpcCommandProvider implements Action {
24 DropTestRpcSender provider;
28 @Argument(index = 0, name = "on-off",
29 description = "target state of drop responder",
30 required = true, multiValued = false)
31 @Completion(DropAllPacketsCompleter.class)
32 String targetStateArg;
35 public Object execute() {
36 final var out = session.getConsole();
37 if ("on".equalsIgnoreCase(targetStateArg)) {
38 if (provider.start()) {
39 out.println("DropAllFlows transitions to on");
41 out.println("DropAllFlows is already on");
43 } else if ("off".equalsIgnoreCase(targetStateArg)) {
44 if (provider.stop()) {
45 out.println("DropAllFlows transitions to off");
47 out.println("DropAllFlows is already off");
53 //TODO: create commands
54 // public void _showDropStats(final CommandInterpreter ci) {
55 // if (sessionInitiated) {
56 // ci.println("RPC Test Statistics: " + this.rpcProvider.getStats().toString());
57 // ci.println("FRM Test Statistics: " + this.provider.getStats().toString());
59 // ci.println("Session not initiated, try again in a few seconds");
63 // public void _clearDropStats(final CommandInterpreter ci) {
64 // if (sessionInitiated) {
65 // ci.print("Clearing drop statistics... ");
66 // this.rpcProvider.clearStats();
67 // this.provider.clearStats();
68 // ci.println("Done.");
71 // ci.println("Session not initiated, try again in a few seconds");