Eliminate blueprint for drop-test-karaf commands
[openflowplugin.git] / drop-test-karaf / src / main / java / org / opendaylight / openflowplugin / droptestkaraf / DropAllPacketsRpcCommandProvider.java
1 /*
2  * Copyright (c) 2013 Ericsson , Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.openflowplugin.droptestkaraf;
9
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;
18
19 @Command(scope = "drop-test", name = "dropAllPacketsRpc",
20          description = "drop packet responder involving SalFlowService")
21 @Service
22 public class DropAllPacketsRpcCommandProvider implements Action {
23     @Reference
24     DropTestRpcSender provider;
25     @Reference
26     Session session;
27
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;
33
34     @Override
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");
40             } else {
41                 out.println("DropAllFlows is already on");
42             }
43         } else if ("off".equalsIgnoreCase(targetStateArg)) {
44             if (provider.stop()) {
45                 out.println("DropAllFlows transitions to off");
46             } else {
47                 out.println("DropAllFlows is already off");
48             }
49         }
50         return null;
51     }
52
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());
58 //        } else {
59 //            ci.println("Session not initiated, try again in a few seconds");
60 //        }
61 //    }
62 //
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.");
69 //
70 //        } else {
71 //            ci.println("Session not initiated, try again in a few seconds");
72 //        }
73 //    }
74
75 }