| /* |
| * Created on Feb 10, 2005 |
| * |
| * TODO To change the template for this generated file go to |
| * Window - Preferences - Java - Code Style - Code Templates |
| */ |
| package org.eclipse.jst.j2ee.internal.webservice; |
| |
| import org.eclipse.core.resources.IFile; |
| import org.eclipse.emf.ecore.resource.Resource; |
| import org.eclipse.jface.viewers.IOpenListener; |
| import org.eclipse.jface.viewers.OpenEvent; |
| import org.eclipse.jface.viewers.StructuredSelection; |
| import org.eclipse.jst.j2ee.internal.actions.OpenJ2EEResourceAction; |
| import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceExtManager; |
| import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper; |
| import org.eclipse.jst.j2ee.webservice.wsdd.ServiceImplBean; |
| import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper; |
| |
| /** |
| * @author jlanuti |
| * |
| * TODO To change the template for this generated type comment go to |
| * Window - Preferences - Java - Code Style - Code Templates |
| */ |
| public class WebServicesNavigatorGroupOpenListener implements IOpenListener { |
| |
| private OpenExternalWSDLAction openExternalWSDLAction = new OpenExternalWSDLAction(WebServiceUIResourceHandler.getString("WebServiceGroupContentExtension_UI_1")); //$NON-NLS-1$ |
| private OpenJ2EEResourceAction openAction = new OpenJ2EEResourceAction(); |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.jface.viewers.IOpenListener#open(org.eclipse.jface.viewers.OpenEvent) |
| */ |
| public void open(OpenEvent event) { |
| if (event == null) |
| return; |
| StructuredSelection selection = (StructuredSelection)event.getSelection(); |
| WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper(); |
| if (selection == null || selection.getFirstElement()==null) |
| return; |
| Object selectedObject = selection.getFirstElement(); |
| if (selectedObject instanceof ServiceImplBean || serviceHelper==null) |
| return; |
| else if (serviceHelper.isWSDLResource(selectedObject)) { |
| Resource wsdl = (Resource) selectedObject; |
| IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); |
| if (wsdlFile == null || !wsdlFile.exists()) { |
| openExternalWSDLAction.selectionChanged(selection); |
| openExternalWSDLAction.run(); |
| return; |
| } |
| } |
| else { |
| openAction.selectionChanged(selection); |
| openAction.run(); |
| } |
| } |
| //TODO fill open with menu for web services group |
| |
| // return new CommonEditActionGroup(getExtensionSite()) { |
| // public void fillOpenWithMenu(IMenuManager menu) { |
| // if ((getExtensionSite().getSelection().getFirstElement() instanceof BeanLink)) { |
| // openAction.selectionChanged(getExtensionSite().getSelection()); |
| // menu.insertAfter(ICommonMenuConstants.COMMON_MENU_TOP, openAction); |
| // } else if ((getExtensionSite().getSelection().getFirstElement() instanceof WSDLResourceImpl)) { |
| // WSDLResourceImpl wsdl = (WSDLResourceImpl) getExtensionSite().getSelection().getFirstElement(); |
| // IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); |
| // if (wsdlFile == null || !wsdlFile.exists()) { |
| // openExternalWSDLAction.selectionChanged(getExtensionSite().getSelection()); |
| // menu.insertAfter(ICommonMenuConstants.COMMON_MENU_TOP, openExternalWSDLAction); |
| // } |
| // } |
| // } |
| |
| } |