X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=drop-test-karaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fdroptestkaraf%2FDropAllPacketsRpcCommandProvider.java;fp=drop-test-karaf%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fdroptestkaraf%2FDropAllPacketsRpcCommandProvider.java;h=b0584bc47d82b1236a15ff5bc324a876c7589b1a;hb=40d05059f67ff7b6c815ab0f229f30a4362829ce;hp=0000000000000000000000000000000000000000;hpb=1d740c5b90eeb2acb64c789d322d1368c97ca3a9;p=openflowplugin.git diff --git a/drop-test-karaf/src/main/java/org/opendaylight/openflowplugin/droptestkaraf/DropAllPacketsRpcCommandProvider.java b/drop-test-karaf/src/main/java/org/opendaylight/openflowplugin/droptestkaraf/DropAllPacketsRpcCommandProvider.java new file mode 100644 index 0000000000..b0584bc47d --- /dev/null +++ b/drop-test-karaf/src/main/java/org/opendaylight/openflowplugin/droptestkaraf/DropAllPacketsRpcCommandProvider.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2013 Ericsson , Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.openflowplugin.droptestkaraf; + +import java.io.PrintStream; + +import org.apache.karaf.shell.commands.Argument; +import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.opendaylight.controller.sal.binding.api.NotificationProviderService; +import org.opendaylight.openflowplugin.testcommon.DropTestRpcProvider; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService; + +import com.google.common.base.Preconditions; + +@Command(scope = "drop-test", name = "dropAllPacketsRpc", description="drop packet responder involving SalFlowService") +public class DropAllPacketsRpcCommandProvider extends OsgiCommandSupport { + + @Argument(index = 0, name = "on-off", + description = "target state of drop responder", + required = true, multiValued = false) + String targetStateArg = null; + + @Override + protected Object doExecute() throws Exception { + PrintStream out = session.getConsole(); + final DropTestRpcProvider provider = DropTestActivator.getDropRpcProvider(); + + if ("on".equalsIgnoreCase(targetStateArg)) { + if (! provider.isActive()) { + provider.start(); + out.println("DropAllFlows transitions to on"); + } else { + out.println("DropAllFlows is already on"); + } + } else if ("off".equalsIgnoreCase(targetStateArg)) { + if (provider.isActive()) { + provider.close(); + out.println("DropAllFlows transitions to off"); + } else { + out.println("DropAllFlows is already off"); + } + } + return null; + } + + //TODO: create commands +// public void _showDropStats(final CommandInterpreter ci) { +// if (sessionInitiated) { +// ci.println("RPC Test Statistics: " + this.rpcProvider.getStats().toString()); +// ci.println("FRM Test Statistics: " + this.provider.getStats().toString()); +// } else { +// ci.println("Session not initiated, try again in a few seconds"); +// } +// } +// +// public void _clearDropStats(final CommandInterpreter ci) { +// if (sessionInitiated) { +// ci.print("Clearing drop statistics... "); +// this.rpcProvider.clearStats(); +// this.provider.clearStats(); +// ci.println("Done."); +// +// } else { +// ci.println("Session not initiated, try again in a few seconds"); +// } +// } + +}