Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java358
1 files changed, 0 insertions, 358 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java b/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java
deleted file mode 100644
index d05b17c1a..000000000
--- a/plugins/org.eclipse.jst.j2ee.webservice/webservice/org/eclipse/jst/j2ee/internal/webservice/helper/WSDLHelper.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.webservice.helper;
-
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.j2ee.common.QName;
-import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceExtManager;
-import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper;
-import org.eclipse.jst.j2ee.webservice.wsclient.ComponentScopedRefs;
-import org.eclipse.jst.j2ee.webservice.wsclient.ServiceRef;
-import org.eclipse.jst.j2ee.webservice.wsclient.WebServicesClient;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
-
-/**
- * This class contains methods to help navigate WSDL files provided in various JSR-109 descriptors
- */
-public class WSDLHelper {
-
- private IProject proj;
-
- public WSDLHelper(IProject aProject) {
- this.proj = aProject;
- }
-
- /**
- * This method returns the list of wsdl:port@name's contained in the WSDL file referred to by
- * the specified <service-ref>
- *
- * @param serviceRefName
- * The name of the <service-ref>
- * @param compScopedRefName
- * The name of the <component-scoped-refs>
- * @param wsc
- * The root object of the webservicesclient.xml descriptor
- * @param exclude
- * port names to exclude in the returned array
- * @return String[] An array of wsdl:port@names's. null is returned if there are any problems
- * with navigating the webservicesclient.xml or the WSDL.
- */
- public String[] getPortNames(String serviceRefName, String compScopedRefName, WebServicesClient wsc, String[] exclude) {
- ServiceRef sr = getServiceRef(serviceRefName, compScopedRefName, wsc);
- if (sr == null)
- return null;
-
- String wsdlURL = getWSDLFileURL(sr);
- if (wsdlURL.length() == 0)
- return null;
-
- String serviceLocalName = getServiceQname(sr);
- String[] portNames = getPortNames(wsdlURL, serviceLocalName);
- portNames = trim(portNames, exclude);
- return portNames;
-
- }
-
- /**
- * This method returns the namespace of the wsdl:service in WSDL file referred to by the
- * specified <service-ref>
- *
- * @param serviceRefName
- * The name of the <service-ref>
- * @param compScopedRefName
- * The name of the <component-scoped-refs>
- * @param wsc
- * The root object of the webservicesclient.xml descriptor
- * @param exclude
- * port names to exclude in the returned array
- * @return String The namespace of the wsdl:service. null is returned if there are any problems
- * with navigating the webservicesclient.xml or the WSDL.
- */
- public String getPortNamespace(String serviceRefName, String compScopedRefName, WebServicesClient wsc) {
- ServiceRef sr = getServiceRef(serviceRefName, compScopedRefName, wsc);
- if (sr == null)
- return null;
-
- String wsdlURL = getWSDLFileURL(sr);
- if (wsdlURL.length() == 0)
- return ""; //$NON-NLS-1$
-
- String serviceLocalName = getServiceQname(sr);
- String namespace = getPortNamespace(wsdlURL, serviceLocalName);
- return namespace;
- }
-
- /**
- * This method returns the list of wsdl:port@name's contained in the specified wsdl:service in
- * the specified WSDL file.
- *
- * @param wsdlURL
- * The URL of the WSDL file.
- * @param serviceLocalName
- * The local name of the wsdl:service to look in.
- * @return String[] An array of wsdl:port@name's. Null is returned a wsdl:service with the
- * specified local name could not be found.
- */
- private String[] getPortNames(String wsdlURL, String serviceLocalName) {
- WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper();
- Object targetService = getTargetService(wsdlURL, serviceLocalName);
-
- if (targetService == null) {
- //System.out.println("getPortNames ... targetService null.");
- return null;
- }
-
- Map ports = serviceHelper.getServicePorts(targetService);
- int numberOfPorts = ports.size();
- String[] portNames = new String[numberOfPorts];
- Iterator k = ports.values().iterator();
- for (int m = 0; m < numberOfPorts; m++) {
- Object port = k.next();
- portNames[m] = serviceHelper.getPortName(port);
- }
-
- return portNames;
- }
-
- /**
- * This method returns the namespace of the specified wsdl:service in the specified WSDL file.
- *
- * @param wsdlURL
- * The URL of the WSDL file.
- * @param serviceLocalName
- * The local name of the wsdl:service to look in.
- * @return String[] An array of wsdl:port@name's. An empty String is returned if a wsdl:service
- * with the specified local name could not be found.
- */
- private String getPortNamespace(String wsdlURL, String serviceLocalName) {
- Object targetService = getTargetService(wsdlURL, serviceLocalName);
-
- if (targetService == null) {
- //System.out.println("getPortNamespace ... targetService null.");
- return ""; //$NON-NLS-1$
- }
-
- return WSDLServiceExtManager.getServiceHelper().getServiceNamespaceURI(targetService);
- }
-
- private Object getTargetService(String wsdlURL, String serviceLocalName) {
- WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper();
- Object definition = getWSDLDefinition(wsdlURL);
- if (definition == null) {
- return null;
- }
-
- Object targetService = null;
- Map services = serviceHelper.getDefinitionServices(definition);
- if (!services.isEmpty()) {
- if ((serviceLocalName == null || serviceLocalName.length() == 0) && services.size() > 1) //Multiple
- // services
- // without
- // one
- // designated
- // is
- // an
- // error
- {
- return null;
- }
-
- if ((serviceLocalName == null || serviceLocalName.length() == 0) && services.size() == 1) {
- //Return the port names in the one service
- Iterator i = services.values().iterator();
- targetService = i.next();
- } else //There are multiple services but one is designated
- {
- Iterator j = services.values().iterator();
- while (j.hasNext()) {
- Object service = j.next();
- String serviceName = serviceHelper.getServiceLocalPart(service);
- if (serviceName.equals(serviceLocalName)) {
- targetService = service;
- break; //Found a match. Break out of loop. We must be assuming unique names
- // on services.
- }
- }
- }
- }
-
- return targetService;
-
- }
-
-
- private Object getWSDLDefinition(String wsdlURL) {
- WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper();
- return serviceHelper.getWSDLDefinition(wsdlURL);
-
- /*try {
- WSDLResourceImpl res = (WSDLResourceImpl) WorkbenchResourceHelperBase.getResource(URI.createURI(wsdlURL), true);
- if (res == null)
- return null;
- return res.getDefinition();
- } catch (Exception wsdle) {
- return null;
- }*/
- }
-
- /**
- * Returns the file URL of the <wsdl-file>specified in the given <service-ref>. Returns a blank
- * String if <wsdl-file>is not specified in the provided <service-ref>
- */
- private String getWSDLFileURL(ServiceRef sr) {
- String wsdlFileRelPath = sr.getWsdlFile();
- if (wsdlFileRelPath == null || wsdlFileRelPath.length() == 0)
- return ""; //$NON-NLS-1$
-
- // Get a handle on the WSDL file.
- IVirtualComponent component = ComponentCore.createComponent(proj);
- if (component != null) {
- IVirtualFolder moduleRoot = component.getRootFolder().getFolder("/"); //$NON-NLS-1$
- IFile wsdlFile = moduleRoot.getFile(wsdlFileRelPath).getUnderlyingFile();
- if (!wsdlFile.exists()) {
- return ""; //$NON-NLS-1$
- }
- //Get the fileURL from wsdlFile
- String wsdlURL;
- try {
- wsdlURL = wsdlFile.getLocation().toFile().toURL().toString();
- } catch (MalformedURLException murle) {
- return ""; //$NON-NLS-1$
- }
-
- if (wsdlURL == null || wsdlURL.length() == 0)
- return ""; //$NON-NLS-1$
- return wsdlURL;
- }
- return ""; //$NON-NLS-1$
- }
-
- /**
- * Returns the local part of the <service-qname>specified in the given <service-ref>. Returns a
- * blank String if <service-qname>is not specified in the provided <service-ref>
- */
- private String getServiceQname(ServiceRef sr) {
- QName serviceQname = sr.getServiceQname();
- if (serviceQname == null)
- return ""; //$NON-NLS-1$
-
- String serviceLocalName = serviceQname.getLocalPart();
- if (serviceLocalName == null)
- return ""; //$NON-NLS-1$
-
- return serviceLocalName;
- }
-
- /* If compScopedRefName is empty or null, we may have to check all of them. */
- public ServiceRef getServiceRef(String name, String compScopedRefName, WebServicesClient wsc) {
- Iterator serviceRefs;
- if (compScopedRefName != null && compScopedRefName.length() > 0) {
- ComponentScopedRefs csr = getCompScopedRef(compScopedRefName, wsc);
- serviceRefs = csr.getServiceRefs().iterator();
- } else {
- serviceRefs = wsc.getServiceRefs().iterator();
- //If there are no service refs ... check all component-scoped-refs for the service-ref
- if (!serviceRefs.hasNext()) {
- Iterator csRefs = wsc.getComponentScopedRefs().iterator();
-
- while (csRefs.hasNext()) {
- ComponentScopedRefs csr = (ComponentScopedRefs) csRefs.next();
- Iterator srs = csr.getServiceRefs().iterator();
- while (srs.hasNext()) {
- ServiceRef sr = (ServiceRef) srs.next();
- String thisName = sr.getServiceRefName();
- if (thisName.equals(name)) {
- return sr;
- }
- }
- }
-
- return null; //Could not find it in any of the component-scoped-refs
- }
-
- }
-
- while (serviceRefs.hasNext()) {
- ServiceRef serviceRef = (ServiceRef) serviceRefs.next();
- String serviceRefName = serviceRef.getServiceRefName();
- if (serviceRefName.equals(name))
- return serviceRef;
- }
- return null;
- }
-
-
- private ComponentScopedRefs getCompScopedRef(String name, WebServicesClient wsc) {
- Iterator compScopedRefs = wsc.getComponentScopedRefs().iterator();
- while (compScopedRefs.hasNext()) {
- ComponentScopedRefs compScopedRef = (ComponentScopedRefs) compScopedRefs.next();
- String compScopedRefName = compScopedRef.getComponentName();
- if (compScopedRefName.equals(name))
- return compScopedRef;
- }
- return null;
-
- }
-
-
- private String[] trim(String[] values, String[] exclude) {
- if (values == null || values.length == 0 || exclude == null || exclude.length == 0) //no
- // change
- // required.
- // return
- // as
- // is.
- return values;
-
- String[] finalValues;
- ArrayList finalList = new ArrayList();
- for (int i = 0; i < values.length; i++) {
- if (!contains(exclude, values[i])) {
- finalList.add(values[i]);
- }
- }
-
- int finalSize = finalList.size();
- finalValues = new String[finalSize];
- Object[] finalArray = finalList.toArray();
- for (int j = 0; j < finalSize; j++) {
- finalValues[j] = (String) (finalArray[j]);
- }
-
- return finalValues;
-
- }
-
- /**
- * Returns true if the array of String's contains the specified String. False otherwise.
- */
- private boolean contains(String[] values, String s) {
- if (values == null)
- return false;
-
- for (int i = 0; i < values.length; i++) {
- if (values[i].equals(s))
- return true;
- }
-
- return false;
- }
-
-}

Back to the top