Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java293
1 files changed, 0 insertions, 293 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
deleted file mode 100644
index 507f983d3..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/wsdl/WSDLDocument.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-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 - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.wsdl;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.PortType;
-import javax.wsdl.Service;
-import javax.wsdl.WSDLException;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.xml.WSDLReader;
-
-import org.eclipse.wst.wsi.internal.core.wsdl.xsd.InlineSchemaValidator;
-import org.eclipse.wst.wsi.internal.core.xml.XMLTags;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Document;
-
-/**
- * This class provides a interface to a single WSDL document.
- *
- * @version 1.0.1
- * @author Peter Brittenham (peterbr@us.ibm.com)
- */
-public class WSDLDocument
-{
- /**
- * WSDL document location.
- */
- protected String fileName = null;
-
- /**
- * Definition element.
- */
- protected Definition definitions = null;
-
- /**
- * WSDL element list with line and column numbers.
- */
- protected WSDLElementList wsdlElementList = null;
-
- /**
- * Map of targetNamespaces to the corresponding org.apache.xerces.xs.XSModel of schema elements.
- */
- private Map schemas = new HashMap();
-
- /**
- * List of schemas validation errors.
- */
- private List schemasValidationErrors = new ArrayList();
-
- /**
- * Read WSDL document from the specified file.
- * @param fileName WSDL document location.
- * @throws WSDLException if problem reading WSDL document.
- */
- public WSDLDocument(String fileName) throws WSDLException
- {
- this.fileName = fileName;
- ClassLoader currentLoader = Thread.currentThread().getContextClassLoader();
-
- try
- {
- Thread.currentThread().setContextClassLoader(WSDLDocument.class.getClassLoader());
-
- // Get the WSDLReader
- WSDLReader wsdlReader = new WSDLReaderImpl();
-
- // Set features
- wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_VERBOSE, false);
- // DEBUG:
- //wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_VERBOSE, true);
- wsdlReader.setFeature(
- com.ibm.wsdl.Constants.FEATURE_IMPORT_DOCUMENTS,
- true);
- // DEBUG:
- //wsdlReader.setFeature(com.ibm.wsdl.Constants.FEATURE_IMPORT_DOCUMENTS,true);
-
- // Parse the WSDL document
- Document document = XMLUtils.parseXMLDocument(fileName);
- this.definitions = wsdlReader.readWSDL(fileName, document);
-
- // Since inline schema validator is used by several assertions, validate all
- // schemas right after WSDL validation
- validateSchemas();
-
- // Get the line and column number references
- this.wsdlElementList = ((WSDLReaderImpl) wsdlReader).getElementList();
-
- // DEBUG:
- //System.err.println(wsdlElementList.toString());
- }
- catch (Exception cce)
- {
- // Set element list to null
- this.wsdlElementList = null;
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(currentLoader);
- }
- }
-
- /**
- * Create WSDL document from existing Definition object.
- *
- * @param fileName WSDL document location.
- * @param definitions Definition object.
- */
- public WSDLDocument(String fileName, Definition definitions)
- {
- this.fileName = fileName;
- this.definitions = definitions;
- schemas.clear();
- schemasValidationErrors.clear();
- }
-
- /**
- * Get the WSDL document location.
- * @return he WSDL document location.
- */
- public String getLocation()
- {
- // Return the document location
- return this.fileName;
- }
-
- /**
- * Get the definition element of the WSDL document.
- * @return the definition element
- */
- public Definition getDefinitions()
- {
- // Return the definition element
- return definitions;
- }
-
- /**
- * Get all the portType elements from the WSDL document.
- * @return the list of portType elements.
- */
- public PortType[] getPortTypes()
- {
- // Generate an array of PortTypes from the PortType map for this Definition
- return (PortType[]) definitions.getPortTypes().values().toArray(
- new PortType[0]);
- }
-
- /**
- * Get all the binding elements from the WSDL document.
- * @return the list of binding elements.
- */
- public Binding[] getBindings()
- {
- // Generate an array of Bindings from the Binding map for this Definition
- return (Binding[]) definitions.getBindings().values().toArray(
- new Binding[0]);
- }
-
- /**
- * Get all the service elements from the WSDL document.
- * @return the list of service elements.
- */
- public Service[] getServices()
- {
- // Generate an array of Services from the Service map for this Definition
- return (Service[]) definitions.getServices().values().toArray(
- new Service[0]);
- }
-
- /* Return string representation of this object.
- * @see java.lang.Object#toString()
- */
- public String toString()
- {
- // Return string
- return (definitions == null)
- ? "WSDL definition element not found."
- : definitions.toString();
- }
-
- /**
- * Get the element list.
- * @return the element list.
- */
- public WSDLElementList getElementList()
- {
- return this.wsdlElementList;
- }
-
- /**
- * Returns a schemas map.
- * @return a map of targetNamespace attribute values of the schema elements
- * to the corresponding org.apache.xerces.xs.XSModel object of that schema.
- */
- public Map getSchemas()
- {
- return schemas;
- }
-
- /**
- * Returns a list of schemas validation errors caused by the validateSchemas() procedure.
- * @return a list of schemas validation errors.
- */
- public List getSchemasValidationErrors()
- {
- return schemasValidationErrors;
- }
-
- /**
- * The method invokes the inline schema validator which validates every schema element of the WSDL.
- */
- private void validateSchemas()
- {
- schemas.clear();
- schemasValidationErrors.clear();
-
- /* INLINE SCHEMA VALIDATOR */
- if (definitions != null
- && definitions.getTypes() != null
- && definitions.getTypes().getExtensibilityElements() != null)
- {
- InlineSchemaValidator schemaValidator = new InlineSchemaValidator();
-
- // Collecting schema's parent elements
- List parents = new ArrayList(2);
- parents.add(definitions.getTypes());
- parents.add(definitions);
- // Going through all the ExtensibilityElementS of wsdl:types
- // since they are potential schemas
- // See Java APIs for WSDL V1.0 (JSR110), section 4
- Iterator i = this.definitions.getTypes().getExtensibilityElements().iterator();
- while (i.hasNext())
- {
- ExtensibilityElement extEl = (ExtensibilityElement) i.next();
- if (extEl.getElementType().equals(XMLTags.ELEM_XSD_SCHEMA))
- {
- Map map = null;
- try
- {
- // Validating schema element
- map = schemaValidator.validate(extEl, parents, fileName);
- }
- catch (Exception e)
- {
- // Adding an exception to the errors list
- schemasValidationErrors.add(e.getMessage());
- }
-
- if (map != null)
- {
- // Adding returned XSModel to schemas map
- schemas.putAll(map);
- }
- }
- }
- }
- }
-
- /**
- * Command line interface.
- * @param args from command line.
- */
- public static void main(String[] args)
- {
- try
- {
- WSDLDocument wsdlDocument = new WSDLDocument(args[0]);
- System.out.println(wsdlDocument.toString());
- }
-
- catch (Exception e)
- {
- e.toString();
- e.printStackTrace();
- }
-
- System.exit(0);
- }
-}

Back to the top