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;
-	}
-}