package org.marketcetera.photon.internal.strategy.engine.ui.workbench.handlers; import java.util.List; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.handlers.HandlerUtil; import org.marketcetera.photon.strategy.engine.IStrategyEngines; import org.marketcetera.photon.strategy.engine.model.core.StrategyEngine; import org.marketcetera.photon.strategy.engine.ui.DeployStrategyWizard; import org.marketcetera.photon.strategy.engine.ui.workbench.AbstractDeployWizardHandler; import org.marketcetera.util.misc.ClassVersion; import com.google.inject.Inject; import com.google.inject.Provider; /* $License$ */ /** * Handler for the {@code * org.marketcetera.photon.strategy.engine.ui.workbench.deploy} that launches * the {@link DeployStrategyWizard} against a selected strategy engine. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: DeployHandler.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: DeployHandler.java 16154 2012-07-14 16:34:05Z colin $") public final class DeployHandler extends AbstractDeployWizardHandler { /** * Constructor. * * @param enginesProvider * the object that will provide the {@link IStrategyEngines} used * to obtain the list of available engines */ @Inject public DeployHandler(Provider<IStrategyEngines> enginesProvider) { super(enginesProvider); } @Override protected DeployStrategyWizard createWizard(ExecutionEvent event, List<StrategyEngine> availableEngines) throws ExecutionException { StrategyEngine engine = (StrategyEngine) ((IStructuredSelection) HandlerUtil .getCurrentSelectionChecked(event)).getFirstElement(); return new DeployStrategyWizard(null, engine, availableEngines); } }