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/profile/validator/impl/wsdl/BP2102.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java203
1 files changed, 0 insertions, 203 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
deleted file mode 100644
index d272b9d75..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/profile/validator/impl/wsdl/BP2102.java
+++ /dev/null
@@ -1,203 +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.profile.validator.impl.wsdl;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.wsdl.Definition;
-import javax.wsdl.Types;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.UnknownExtensibilityElement;
-
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSITag;
-import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
-import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.xml.XMLUtils;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-/**
- * BP2102.
- * <context>For a candidate wsdl:types element, with XML schema import elements</context>
- * <assertionDescription>Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL).</assertionDescription>
- */
-public class BP2102 extends AssertionProcess implements WSITag
-{
- private final WSDLValidatorImpl validator;
-
- /**
- * @param WSDLValidatorImpl
- */
- public BP2102(WSDLValidatorImpl impl)
- {
- super(impl);
- this.validator = impl;
- }
-
- private boolean importFound = false;
-
- /* Validates the test assertion.
- * @see org.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
- */
- public AssertionResult validate(
- TestAssertion testAssertion,
- EntryContext entryContext)
- throws WSIException
- {
- result = AssertionResult.RESULT_PASSED;
-
- // parse WSDL as XML
- try
- {
- Types t = (Types) entryContext.getEntry().getEntryDetail();
- List exts = t.getExtensibilityElements();
-
- Definition definition = null;
- if ((definition = validator.analyzerContext.getCandidateInfo().getDefinition(t))
- == null)
- {
- throw new WSIException("Could not find types definition in any WSDL document.");
- }
-
- if (exts != null)
- {
- Iterator it = exts.iterator();
- while (it.hasNext())
- {
- ExtensibilityElement el = (ExtensibilityElement) it.next();
- if (el instanceof UnknownExtensibilityElement
- && el.getElementType().equals(ELEM_XSD_SCHEMA))
- testNode(((UnknownExtensibilityElement) el).getElement(),
- definition.getDocumentBaseURI());
-
- if (result.equals(AssertionResult.RESULT_FAILED))
- {
- failureDetail =
- this.validator.createFailureDetail(failureDetailMessage, entryContext);
- }
- }
- }
-
- if (!importFound)
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- }
-
- catch (Throwable tt)
- {
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetail =
- this.validator.createFailureDetail(
- "WSDL document can not be processed",
- entryContext);
- }
-
- return validator.createAssertionResult(testAssertion, result, failureDetail);
- }
-
- /*
- * Check node is xsd import and it is
- * only used to directly reference an XML schema definition, which has "schema"
- * from XML namespace "http://www.w3.org/2001/XMLSchema" as root element.
- * And it does not contain a reference to another document embedding the XML schema
- * definition (e.g. WSDL).
- * @param n - Unknown extensibility element
- */
- private void testNode(Node n, String context)
- {
- while (n != null)
- {
- // searches for xsd:import element
- if (Node.ELEMENT_NODE == n.getNodeType())
- {
- if (XMLUtils.equals(n, ELEM_XSD_IMPORT))
- {
- importFound = true;
-
- Element im = (Element) n;
- // Getting the schemaLocation and the namespace attributes
- Attr schemaLocation =
- XMLUtils.getAttribute(im, ATTR_XSD_SCHEMALOCATION);
- Attr namespace = XMLUtils.getAttribute(im, ATTR_XSD_NAMESPACE);
- // If there is only the namespace attribute of import element
- if (schemaLocation == null && namespace != null)
- {
- // Getting all the inline schemas of the wsdl definition
- Map schemasMap = validator.wsdlDocument.getSchemas();
- // If an inline schema imported is defined
- if (schemasMap.keySet().contains(namespace.getValue()))
- {
- // If an inline schema imported is defined
- // (that means the schema is valid),
- // continue with the next element
- n = n.getNextSibling();
- continue;
- }
-
- // no schemaLocation so try the namespace
- schemaLocation = namespace;
- }
-
- // try to parse imported XSD
- if (schemaLocation != null && schemaLocation.getValue() != null)
- {
- try
- {
- // if any error or root element is not XSD schema -> error
- // !! ATTENTION
- // root XSD SCHEMA SCHEMA is not valid
- //Document schema = XMLUtils.parseXMLDocumentURL(schemaLocation.getValue(), XSD_SCHEMALOCATION, context);
- Document schema =
- validator.parseXMLDocumentURL(schemaLocation.getValue(), context);
-
- // If the import is valid, then check its contents
- if (XMLUtils
- .equals(schema.getDocumentElement(), ELEM_XSD_SCHEMA))
- {
- // Check content of imported document
- testNode(schema.getDocumentElement().getFirstChild(),
- XMLUtils.createURLString(schemaLocation.getValue(), context));
- }
-
- else
- {
- throw new Exception();
- }
- }
- catch (Throwable t)
- {
- result = AssertionResult.RESULT_FAILED;
- failureDetailMessage = schemaLocation.getValue();
- break;
- }
- }
- else
- {
- //result = AssertionResult.RESULT_FAILED;
- result = AssertionResult.RESULT_NOT_APPLICABLE;
- failureDetailMessage =
- "schemaLocation == null and namespace == null";
- break;
- }
- }
- testNode(n.getFirstChild(), context);
- }
- n = n.getNextSibling();
- }
- }
-} \ No newline at end of file

Back to the top