package org.panlab.software.fstoolkit.commands;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
import org.panlab.software.fstoolkit.extensionpoint.WorkflowEnginesBrowser;
import FederationOffice.extensionInterfaces.IWorkflowEngine;
import FederationOffice.federationscenarios.RequestedFederationScenario;
import FederationOffice.uiObjects.ui_TaxonomyTreeItem;
public class ShutDownScenarioCommand extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection();
if (selection != null & selection instanceof IStructuredSelection) {
IStructuredSelection strucSelection = (IStructuredSelection) selection;
if (!MessageDialog.openQuestion(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),
"Shut Down Scenario", "Would you like to Shut Down selected Scenario?")){
return null;
}
for (Object obj : strucSelection.toArray()) {
System.out.println("tearDownScenarioAction =" + obj.toString() );
if (obj instanceof ui_TaxonomyTreeItem){
if ( ((ui_TaxonomyTreeItem)obj).getOfficeElement() instanceof RequestedFederationScenario ){
for (IWorkflowEngine wEngine : WorkflowEnginesBrowser.getInstance().getWorkflowEngines()) {
//System.out.println("tearDownScenarioAction =" + viewer.getSelection().toString() );
RequestedFederationScenario scenario =
(RequestedFederationScenario)((ui_TaxonomyTreeItem)obj).getOfficeElement();
wEngine.ShutDownScenario(scenario);
}
}
}
}
}
return null;
}
//
//
// @Override
// public boolean isEnabled() {
// boolean allScenarios = true;
// if (selection != null & selection instanceof IStructuredSelection) {
// IStructuredSelection strucSelection = (IStructuredSelection) selection;
// for (Object obj : strucSelection.toArray()) {
// if (obj instanceof ui_TaxonomyTreeItem) {
// allScenarios = allScenarios && (((ui_TaxonomyTreeItem) obj).getOfficeElement() instanceof RequestedFederationScenario);
// }else
// allScenarios = false;
// }
//
// return allScenarios;
// }
//
// return false;
// }
}