/******************************************************************************* * Copyright (c) quickfixengine.org All rights reserved. * * This file is part of the QuickFIX FIX Engine * * This file may be distributed under the terms of the quickfixengine.org * license as defined by quickfixengine.org and appearing in the file * LICENSE included in the packaging of this file. * * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A * PARTICULAR PURPOSE. * * See http://www.quickfixengine.org/LICENSE for licensing information. * * Contact ask@quickfixengine.org if any conditions of this licensing * are not clear to you. ******************************************************************************/ package com.github.lburgazzoli.quickfixj.karaf.cmd; import com.github.lburgazzoli.karaf.common.cmd.AbstractCommand; import com.github.lburgazzoli.quickfixj.osgi.IFIXConnection; import org.apache.commons.lang3.StringUtils; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import java.util.List; /** * */ @Command( scope = "fix", name = "connection") public class ConnectionCommand extends AbstractCommand { // ************************************************************************* // // ************************************************************************* @Argument( index = 0, name = "id", description = "The Connection ID", required = true, multiValued = false) String id = null; @Argument( index = 0, name = "action", description = "The Action", required = true, multiValued = false) String action = null; // ************************************************************************* // // ************************************************************************* @Override protected void execute() throws Exception { List<IFIXConnection> ctxs = getAllServices(IFIXConnection.class,null); if(ctxs != null) { for(IFIXConnection connection : ctxs) { if(StringUtils.equalsIgnoreCase(id,connection.getId())) { if(StringUtils.equalsIgnoreCase(action,"start")) { connection.start(); } else if(StringUtils.equalsIgnoreCase(action,"stop")) { connection.stop(); } } } } } }