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.core.resources.IFile; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; import org.panlab.software.fstoolkit.wizards.SubmitFSDLRequestWizard; import FederationOffice.federationscenarios.RequestedFederationScenario; public class SubmitFSRequestCommand extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { // IWorkbench workbench = PlatformUI.getWorkbench(); // IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); // Instantiates and initializes the wizard SubmitFSDLRequestWizard wizard = new SubmitFSDLRequestWizard(checkInfrastructureReq()); //wizard.init( workbench.getActiveWorkbenchWindow(), (IStructuredSelection)selection); // Instantiates the wizard container with the wizard and opens it Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); WizardDialog dialog = new WizardDialog(shell, wizard); dialog.create(); dialog.open(); return null; } public boolean checkInfrastructureReq(){ IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = workbenchWindow.getActivePage(); IEditorPart editor = page.getActiveEditor(); IFile modelFile = (IFile) editor.getEditorInput().getAdapter(IFile.class); if (modelFile != null) { System.out.println("checkInfrastructureReq()" + modelFile.getLocation().toString() ); } ResourceSet resourceSet = new ResourceSetImpl(); URI uri = URI.createFileURI(modelFile.getLocation().toString()); System.out.println("uri" + uri.toString() ); org.eclipse.emf.ecore.resource.Resource resource = resourceSet.getResource(uri, true); RequestedFederationScenario sourceFedScenario = (RequestedFederationScenario) resource.getContents().get(0); return (sourceFedScenario.getInfrastructureRequest()!=null) && (sourceFedScenario.getInfrastructureRequest().getReqOfferedResources().size()>0); } }