519793 - Break circular dep between ws and jee Signed-off-by: Rob Stryker <stryker@redhat.com> Change-Id: Ie88ac49ed5cc8ee972773db9d95e1453e5567e51
diff --git a/plugins/org.eclipse.jst.j2ee.webservice.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee.webservice.ui/META-INF/MANIFEST.MF index 08bc93e..34e23c1 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.jst.j2ee.webservice.ui/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jst.j2ee.webservice.ui; singleton:=true -Bundle-Version: 1.1.600.qualifier +Bundle-Version: 1.1.700.qualifier Bundle-Activator: org.eclipse.jst.j2ee.internal.webservice.plugin.WebServiceUIPlugin Bundle-Vendor: %pluginVendor Bundle-Localization: plugin -Export-Package: org.eclipse.jst.j2ee.internal.webservice;x-internal:=true, +Export-Package: org.eclipse.jst.j2ee.internal.webservice;x-friends:="org.eclipse.jst.ws.consumption", org.eclipse.jst.j2ee.internal.webservice.plugin;x-internal:=true, org.eclipse.jst.j2ee.internal.webservice.startup;x-internal:=true Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)", @@ -24,9 +24,7 @@ org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)", org.eclipse.wst.common.emf;bundle-version="[1.2.0,2.0.0)", org.eclipse.jst.j2ee.webservice;bundle-version="[1.1.0,1.2.0)", - org.eclipse.wst.wsdl;bundle-version="[1.2.0,1.3.0)", org.eclipse.jem.util;bundle-version="[2.0.0,3.0.0)", - javax.wsdl;bundle-version="[1.5.0,1.6.0)", org.eclipse.jst.common.frameworks;bundle-version="[1.1.0,1.2.0)", org.eclipse.ui.navigator;bundle-version="[3.2.0,4.0.0)", org.eclipse.ui.navigator.resources;bundle-version="[3.2.0,4.0.0)",
diff --git a/plugins/org.eclipse.jst.j2ee.webservice.ui/plugin.xml b/plugins/org.eclipse.jst.j2ee.webservice.ui/plugin.xml index 0a4e598..1eaec71 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice.ui/plugin.xml +++ b/plugins/org.eclipse.jst.j2ee.webservice.ui/plugin.xml
@@ -16,8 +16,20 @@ <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroup"/> <instanceof value="org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription"/> <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType"/> - <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> - <instanceof value="org.eclipse.wst.wsdl.Service"/> + <!-- <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> --> + <and> + <instanceof value="org.eclipse.emf.ecore.resource.Resource"/> + <test + property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource"> + </test> + </and> + <!-- <instanceof value="org.eclipse.wst.wsdl.Service"/> --> + <and> + <instanceof value="org.eclipse.emf.ecore.EObject"/> + <test + property="org.eclipse.jst.j2ee.webservice.ui.isService"> + </test> + </and> <and> <instanceof value="org.eclipse.emf.ecore.EObject"/> <or> @@ -46,7 +58,13 @@ <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroup"/> <instanceof value="org.eclipse.jst.j2ee.webservice.wsdd.WebServiceDescription"/> <instanceof value="org.eclipse.jst.j2ee.internal.webservice.WebServiceNavigatorGroupType"/> - <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> + <!-- <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl"/> --> + <and> + <instanceof value="org.eclipse.emf.ecore.resource.Resource"/> + <test + property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource"> + </test> + </and> <and> <instanceof value="org.eclipse.emf.ecore.EObject"/> <or> @@ -108,8 +126,13 @@ </and> <instanceof value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider" /> - <instanceof - value="org.eclipse.wst.wsdl.util.WSDLResourceImpl" /> + <!-- <instanceof value="org.eclipse.wst.wsdl.util.WSDLResourceImpl" /> --> + <and> + <instanceof value="org.eclipse.emf.ecore.resource.Resource"/> + <test + property="org.eclipse.jst.j2ee.webservice.ui.isWsdlResource"> + </test> + </and> </or> </enablement> </actionProvider> @@ -129,37 +152,27 @@ </includes> </viewerContentBinding> </extension> - - <extension - point="org.eclipse.core.runtime.adapters"> - <factory - class="org.eclipse.jst.j2ee.internal.webservice.WebServiceAdapterFactory" - adaptableType="org.eclipse.wst.wsdl.Service"> - <adapter type="org.eclipse.core.resources.IResource"/> - <adapter type="org.eclipse.core.resources.IFile"/> - </factory> - <factory - class="org.eclipse.jst.j2ee.internal.webservice.WebServiceAdapterFactory" - adaptableType="org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef"> - <adapter type="org.eclipse.core.resources.IResource"/> - <adapter type="org.eclipse.core.resources.IFile"/> - </factory> - <factory - class="org.eclipse.jst.j2ee.internal.webservice.WsdlResourceAdapterFactory" - adaptableType="org.eclipse.wst.wsdl.util.WSDLResourceImpl"> - <adapter type="org.eclipse.core.resources.IResource"/> - <adapter type="org.eclipse.core.resources.IFile"/> - </factory> - <factory - class="org.eclipse.jst.j2ee.internal.webservice.WebServiceAdapterFactory" - adaptableType="org.eclipse.jst.j2ee.webservice.wsdd.ServiceImplBean"> - <adapter type="org.eclipse.core.resources.IResource"/> - <adapter type="org.eclipse.core.resources.IFile"/> - </factory> - - </extension> + <extension point="org.eclipse.ui.startup"> <startup class="org.eclipse.jst.j2ee.internal.webservice.startup.WebserviceListener"/> </extension> + + <extension + point="org.eclipse.core.expressions.propertyTesters"> + <propertyTester + class="org.eclipse.jst.j2ee.internal.webservice.WebServicePropertyTester" + id="org.eclipse.jst.j2ee.webservice.ui.serviceTester" + namespace="org.eclipse.jst.j2ee.webservice.ui" + properties="isService" + type="org.eclipse.emf.ecore.EObject"> + </propertyTester> + <propertyTester + class="org.eclipse.jst.j2ee.internal.webservice.WebServicePropertyTester" + id="org.eclipse.jst.j2ee.webservice.ui.wsdlTester" + namespace="org.eclipse.jst.j2ee.webservice.ui" + properties="isWsdlResource" + type="org.eclipse.emf.ecore.resource.Resource"> + </propertyTester> + </extension> </plugin>
diff --git a/plugins/org.eclipse.jst.j2ee.webservice.ui/pom.xml b/plugins/org.eclipse.jst.j2ee.webservice.ui/pom.xml index c437200..ac99aa6 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice.ui/pom.xml +++ b/plugins/org.eclipse.jst.j2ee.webservice.ui/pom.xml
@@ -21,6 +21,6 @@ <groupId>org.eclipse.webtools.javaee</groupId> <artifactId>org.eclipse.jst.j2ee.webservice.ui</artifactId> - <version>1.1.600-SNAPSHOT</version> + <version>1.1.700-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicePropertyTester.java b/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicePropertyTester.java new file mode 100644 index 0000000..d3feccf --- /dev/null +++ b/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicePropertyTester.java
@@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2017 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.jst.j2ee.internal.webservice; + +import org.eclipse.core.expressions.PropertyTester; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceExtManager; +import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper; + +@SuppressWarnings("restriction") +public class WebServicePropertyTester extends PropertyTester { + + private static final String PROPERTY_WSDL_RESOURCE = "isWsdlResource"; //$NON-NLS-1$ + private static final String PROPERTY_SERVICE = "isService"; //$NON-NLS-1$ + + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + + WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper(); + if (serviceHelper == null) { + return false; + } + if (receiver instanceof EObject) { + if (PROPERTY_SERVICE.equals(property)) { + return serviceHelper.isService(receiver); + } + } else if (receiver instanceof Resource) { + if (PROPERTY_WSDL_RESOURCE.equals(property)) { + return serviceHelper.isWSDLResource(receiver); + } + } + return false; + } + +}
diff --git a/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorGroupOpenListener.java b/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorGroupOpenListener.java index 3991451..fae5533 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorGroupOpenListener.java +++ b/plugins/org.eclipse.jst.j2ee.webservice.ui/webservices_ui/org/eclipse/jst/j2ee/internal/webservice/WebServicesNavigatorGroupOpenListener.java
@@ -17,6 +17,7 @@ import java.util.List; import org.eclipse.core.resources.IFile; +import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.viewers.IStructuredSelection; @@ -33,8 +34,6 @@ import org.eclipse.ui.navigator.ICommonActionExtensionSite; import org.eclipse.ui.navigator.ICommonMenuConstants; import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper; -import org.eclipse.wst.wsdl.internal.impl.ServiceImpl; -import org.eclipse.wst.wsdl.util.WSDLResourceImpl; /** * @author jlanuti @@ -66,8 +65,8 @@ Object selectedObject = selection.getFirstElement(); if (serviceHelper==null) return; - else if (selectedObject instanceof ServiceImpl) { - WsddResource resource = WebServicesManager.getInstance().getWsddResource((ServiceImpl)selectedObject); + else if (serviceHelper.isService(selectedObject)) { + WsddResource resource = WebServicesManager.getInstance().getWsddResource((EObject)selectedObject); if (resource == null) { openExternalWSDLAction.selectionChanged(selection); super.setContext(aContext); @@ -100,12 +99,12 @@ if (getContext()==null || getContext().getSelection().isEmpty()) return; IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); - - if (selection.getFirstElement() instanceof ServiceImpl) { - ServiceImpl wsdl = (ServiceImpl) selection.getFirstElement(); - WsddResource resource = WebServicesManager.getInstance().getWsddResource(wsdl); + Object first = selection.getFirstElement(); + WSDLServiceHelper helper = WSDLServiceExtManager.getServiceHelper(); + if(helper != null && helper.isService(first)) { + WsddResource resource = WebServicesManager.getInstance().getWsddResource((EObject)first); if (resource == null) { - IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); + IFile wsdlFile = WorkbenchResourceHelper.getFile((EObject)first); if (wsdlFile == null || !wsdlFile.exists()) { openExternalWSDLAction.selectionChanged(selection); theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openExternalWSDLAction); @@ -121,9 +120,8 @@ theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openAction); return; - } else if (selection.getFirstElement() instanceof WSDLResourceImpl) { - WSDLResourceImpl wsdl = (WSDLResourceImpl) selection.getFirstElement(); - IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); + } else if (helper != null && helper.isWSDLResource(first)) { + IFile wsdlFile = WorkbenchResourceHelper.getFile((Resource)first); if (wsdlFile == null || !wsdlFile.exists()) { openExternalWSDLAction.selectionChanged(selection); theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openExternalWSDLAction); @@ -142,18 +140,18 @@ if (getContext()==null || getContext().getSelection().isEmpty()) return; IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); - if (selection.getFirstElement() instanceof ServiceImpl) { - ServiceImpl wsdl = (ServiceImpl) selection.getFirstElement(); - IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); + Object first = selection.getFirstElement(); + WSDLServiceHelper helper = WSDLServiceExtManager.getServiceHelper(); + if (helper != null && helper.isService(first)) { + IFile wsdlFile = WorkbenchResourceHelper.getFile((EObject)first); if (wsdlFile == null || !wsdlFile.exists()) { openExternalWSDLAction.selectionChanged(selection); menu.insertAfter(ICommonMenuConstants.GROUP_OPEN, openExternalWSDLAction); return; } } - else if (selection.getFirstElement() instanceof WSDLResourceImpl) { - WSDLResourceImpl wsdl = (WSDLResourceImpl) selection.getFirstElement(); - IFile wsdlFile = WorkbenchResourceHelper.getFile(wsdl); + else if (helper != null && helper.isWSDLResource(first)) { + IFile wsdlFile = WorkbenchResourceHelper.getFile((Resource)first); if (wsdlFile == null || !wsdlFile.exists()) { openExternalWSDLAction.selectionChanged(selection); menu.insertAfter(ICommonMenuConstants.GROUP_OPEN, openExternalWSDLAction);
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee.webservice/META-INF/MANIFEST.MF index 1074b76..756cb4f 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.jst.j2ee.webservice/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jst.j2ee.webservice; singleton:=true -Bundle-Version: 1.1.500.qualifier +Bundle-Version: 1.1.600.qualifier Bundle-Activator: org.eclipse.jst.j2ee.internal.webservice.plugin.WebServicePlugin Bundle-Vendor: %pluginVendor Bundle-Localization: plugin @@ -10,7 +10,7 @@ org.eclipse.jst.j2ee.internal.webservice.command;x-internal:=true, org.eclipse.jst.j2ee.internal.webservice.componentcore.util;x-internal:=true, org.eclipse.jst.j2ee.internal.webservice.constants;x-internal:=true, - org.eclipse.jst.j2ee.internal.webservice.helper;x-internal:=true, + org.eclipse.jst.j2ee.internal.webservice.helper;x-friends:="org.eclipse.jst.ws.consumption", org.eclipse.jst.j2ee.internal.webservice.plugin;x-internal:=true, org.eclipse.jst.j2ee.internal.webservice.provider;x-internal:=true, org.eclipse.jst.j2ee.internal.wsdd.provider;x-internal:=true @@ -27,9 +27,6 @@ org.eclipse.jst.common.frameworks;bundle-version="[1.1.0,1.2.0)", org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)", org.eclipse.jface;bundle-version="[3.2.0,4.0.0)";resolution:=optional, - org.eclipse.wst.ws.parser;bundle-version="[1.0.100,1.1.0)", - org.eclipse.wst.wsdl;bundle-version="[1.2.0,1.3.0)", - javax.wsdl;bundle-version="[1.5.0,1.6.0)", org.eclipse.jem.util;bundle-version="[2.0.0,3.0.0)", org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)" Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/plugin.xml b/plugins/org.eclipse.jst.j2ee.webservice/plugin.xml index 3fcd0b4..95210ea 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice/plugin.xml +++ b/plugins/org.eclipse.jst.j2ee.webservice/plugin.xml
@@ -95,14 +95,6 @@ </extension> <extension - id="WSDLServiceHelper" - name="WSDLServiceHelper" - point="org.eclipse.jst.j2ee.WSDLServiceHelper"> - <wsdlHelper - helperClass="org.eclipse.jst.j2ee.internal.webservice.helper.WSDLServiceHelperImpl"> - </wsdlHelper> - </extension> - <extension point="org.eclipse.wst.common.modulecore.resourceFactories"> <resourceFactory class="org.eclipse.jst.j2ee.webservice.internal.wsdd.WsddResourceFactory"
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/pom.xml b/plugins/org.eclipse.jst.j2ee.webservice/pom.xml index e032297..7958605 100644 --- a/plugins/org.eclipse.jst.j2ee.webservice/pom.xml +++ b/plugins/org.eclipse.jst.j2ee.webservice/pom.xml
@@ -21,6 +21,6 @@ <groupId>org.eclipse.webtools.javaee</groupId> <artifactId>org.eclipse.jst.j2ee.webservice</artifactId> - <version>1.1.500-SNAPSHOT</version> + <version>1.1.600-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLServiceHelperImpl.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLServiceHelperImpl.java deleted file mode 100644 index df42d7c..0000000 --- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLServiceHelperImpl.java +++ /dev/null
@@ -1,207 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -/* - * Created on Feb 21, 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.helper; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase; -import org.eclipse.jst.j2ee.client.ApplicationClient; -import org.eclipse.jst.j2ee.ejb.EnterpriseBean; -import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper; -import org.eclipse.jst.j2ee.webapplication.WebApp; -import org.eclipse.wst.ws.internal.parser.wsil.WebServiceEntity; -import org.eclipse.wst.ws.internal.parser.wsil.WebServicesParser; -import org.eclipse.wst.wsdl.Definition; -import org.eclipse.wst.wsdl.Port; -import org.eclipse.wst.wsdl.Service; -import org.eclipse.wst.wsdl.util.WSDLResourceImpl; - -/** - * @author cbridgha - * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates - */ -public class WSDLServiceHelperImpl implements WSDLServiceHelper { - - /** - * - */ - public WSDLServiceHelperImpl() { - super(); - } - - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getPortName(java.lang.Object) - */ - public String getPortName(Object port) { - Port aPort = (Port)port; - return aPort.getName(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getServicePorts(java.lang.Object) - */ - public Map getServicePorts(Object aService) { - Service service =(Service)aService; - return service.getPorts(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getServiceNamespaceURI(java.lang.Object) - */ - public String getServiceNamespaceURI(Object aService) { - Service service =(Service)aService; - return service.getQName().getNamespaceURI(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getServiceDefinitionLocation(org.eclipse.emf.ecore.EObject) - */ - public Object getServiceDefinitionLocation(EObject aService) { - Service service =(Service)aService; - return service.getEnclosingDefinition().getLocation(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getPortBindingNamespaceURI(java.lang.Object) - */ - public String getPortBindingNamespaceURI(Object aPort) { - Port port = (Port)aPort; - return port.getBinding().getQName().getNamespaceURI(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getServiceLocalPart(java.lang.Object) - */ - public String getServiceLocalPart(Object aService) { - Service service =(Service)aService; - return service.getQName().getLocalPart(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getServiceQName(java.lang.Object) - */ - public Object getServiceQName(Object aService) { - Service service =(Service)aService; - return service.getQName(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getDefinitionServices(java.lang.Object) - */ - public Map getDefinitionServices(Object aDefinition) { - Definition definition =(Definition)aDefinition; - return definition.getServices(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getWSDLDefinition(java.lang.String) - */ - public Object getWSDLDefinition(String wsdlURL) { - try { - WSDLResourceImpl res = (WSDLResourceImpl) WorkbenchResourceHelperBase.getResource(URI.createURI(wsdlURL), true); - if (res == null) - return null; - return res.getDefinition(); - } catch (Exception wsdle) { - return null; - } - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getWSDLDefinition(org.eclipse.emf.ecore.resource.Resource) - */ - public Object getWSDLDefinition(Resource wsdlResource) { - return ((WSDLResourceImpl)wsdlResource).getDefinition(); - } - - /* (non-Javadoc) - * @see org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper#getWsdlServicesFromWsilFile(org.eclipse.core.resources.IFile) - */ - public List getWsdlServicesFromWsilFile(IFile wsil) { - List result = new ArrayList(); - WebServiceEntity entity = parseWsilFile(wsil); - if (entity != null && entity.getType() == WebServiceEntity.TYPE_WSIL) { - // get all the WSDL references from the WSIL entity - List wsdlList = entity.getChildren(); - for (Iterator it = wsdlList.iterator(); it.hasNext();) { - Object item = it.next(); - if (item != null && item instanceof WebServiceEntity) { - if (((WebServiceEntity) item).getModel() != null && ((WebServiceEntity) item).getModel() instanceof Definition) { - Definition def = (Definition) ((WebServiceEntity) item).getModel(); - if (def != null && !def.getServices().isEmpty()) - result.addAll(def.getServices().values()); - } - } - } - } - return result; - } - public WebServiceEntity parseWsilFile(IFile wsil) { - WebServicesParser parser = null; - String url = null; - // verify proper input - if (wsil == null || !wsil.getFileExtension().equals(WSIL_EXT)) - return null; - // Parse wsil file to get wsdl services - try { - url = wsil.getLocation().toFile().toURL().toString(); - parser = new WebServicesParser(url); - parser.parse(WebServicesParser.PARSE_WSIL | WebServicesParser.PARSE_WSDL); - } catch (Exception e) { - //Ignore - } - if (parser == null) - return null; - return parser.getWebServiceEntityByURI(url); -} - - public boolean isService(Object aService) { - - return aService instanceof Service; - } - public boolean isWSDLResource(Object aResource) { - - return aResource instanceof WSDLResourceImpl; - } - public boolean isDefinition(Object aDefinition) { - - return aDefinition instanceof Definition; - } - - - public List get13ServiceRefs(EObject j2eeObject) { - if (j2eeObject instanceof ApplicationClient) - return WebServicesManager.getInstance().get13ServiceRefs((ApplicationClient)j2eeObject); - else if (j2eeObject instanceof EnterpriseBean) - return WebServicesManager.getInstance().get13ServiceRefs((EnterpriseBean)j2eeObject); - else if (j2eeObject instanceof WebApp) - return WebServicesManager.getInstance().get13ServiceRefs((WebApp)j2eeObject); - else - return Collections.EMPTY_LIST; - } -}