You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2007/01/26 19:03:10 UTC
svn commit: r500291 - in /incubator/woden/trunk/java:
src/org/apache/woden/internal/ src/org/apache/woden/internal/schema/
src/org/apache/woden/schema/ test/org/apache/woden/schema/
Author: jkaputin
Date: Fri Jan 26 10:03:10 2007
New Revision: 500291
URL: http://svn.apache.org/viewvc?view=rev&rev=500291
Log:
WODEN-126 Added methods to Schema API to make the
underlying XML Schema infoset accessible. Added
junit tests for Schema.
Added:
incubator/woden/trunk/java/test/org/apache/woden/schema/
incubator/woden/trunk/java/test/org/apache/woden/schema/SchemaTest.java
Modified:
incubator/woden/trunk/java/src/org/apache/woden/internal/DOMWSDLReader.java
incubator/woden/trunk/java/src/org/apache/woden/internal/schema/SchemaImpl.java
incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java
Modified: incubator/woden/trunk/java/src/org/apache/woden/internal/DOMWSDLReader.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/internal/DOMWSDLReader.java?view=diff&rev=500291&r1=500290&r2=500291
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/internal/DOMWSDLReader.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/internal/DOMWSDLReader.java Fri Jan 26 10:03:10 2007
@@ -262,6 +262,7 @@
throws WSDLException
{
InlinedSchemaImpl schema = new InlinedSchemaImpl();
+ schema.setXMLElement(schemaEl);
schema.setId(schemaEl.getAttributeValue(Constants.ATTR_ID));
@@ -330,6 +331,7 @@
throws WSDLException
{
ImportedSchemaImpl schema = new ImportedSchemaImpl();
+ schema.setXMLElement(importEl);
String importNS = importEl.getAttributeValue(Constants.ATTR_NAMESPACE);
if(importNS != null) {
Modified: incubator/woden/trunk/java/src/org/apache/woden/internal/schema/SchemaImpl.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/internal/schema/SchemaImpl.java?view=diff&rev=500291&r1=500290&r2=500291
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/internal/schema/SchemaImpl.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/internal/schema/SchemaImpl.java Fri Jan 26 10:03:10 2007
@@ -18,6 +18,7 @@
import java.net.URI;
+import org.apache.woden.XMLElement;
import org.apache.woden.schema.Schema;
import org.apache.ws.commons.schema.XmlSchema;
@@ -31,6 +32,7 @@
private URI fNamespace = null;
private XmlSchema fSchemaDefinition = null;
private boolean fIsReferenceable = true;
+ private XMLElement fXMLElement;
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.schema.Schema#setNamespace(java.net.URI)
@@ -60,6 +62,20 @@
*/
public XmlSchema getSchemaDefinition() {
return fSchemaDefinition;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.schema.Schema#getXMLElement()
+ */
+ public XMLElement getXMLElement() {
+ return fXMLElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.schema.Schema#setXMLElement(org.apache.woden.XMLElement)
+ */
+ public void setXMLElement(XMLElement xsdElement) {
+ fXMLElement = xsdElement;
}
/* ************************************************************
Modified: incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java?view=diff&rev=500291&r1=500290&r2=500291
==============================================================================
--- incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java (original)
+++ incubator/woden/trunk/java/src/org/apache/woden/schema/Schema.java Fri Jan 26 10:03:10 2007
@@ -19,6 +19,7 @@
import java.net.URI;
+import org.apache.woden.XMLElement;
import org.apache.ws.commons.schema.XmlSchema;
/**
@@ -57,4 +58,14 @@
public XmlSchema getSchemaDefinition();
public void setSchemaDefinition(XmlSchema schemaDef);
+ /**
+ * Returns the XMLElement object representing the <code>xs:schema</code> or <code>xs:import</code>
+ * element within the <code>wsdl:types</code> element. This provides an 'wrapper' to the
+ * underlying XML Schema infoset for applications that need schema processing alternatives to
+ * Apache WS Commons XmlSchema.
+ *
+ * @return the XMLElement
+ */
+ public XMLElement getXMLElement();
+ public void setXMLElement(XMLElement xsdElement);
}
Added: incubator/woden/trunk/java/test/org/apache/woden/schema/SchemaTest.java
URL: http://svn.apache.org/viewvc/incubator/woden/trunk/java/test/org/apache/woden/schema/SchemaTest.java?view=auto&rev=500291
==============================================================================
--- incubator/woden/trunk/java/test/org/apache/woden/schema/SchemaTest.java (added)
+++ incubator/woden/trunk/java/test/org/apache/woden/schema/SchemaTest.java Fri Jan 26 10:03:10 2007
@@ -0,0 +1,69 @@
+package org.apache.woden.schema;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.net.URI;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.woden.XMLElement;
+import org.apache.woden.internal.DOMXMLElement;
+import org.apache.woden.internal.ErrorReporterImpl;
+import org.apache.woden.internal.schema.ImportedSchemaImpl;
+import org.apache.woden.internal.schema.InlinedSchemaImpl;
+import org.apache.ws.commons.schema.XmlSchema;
+import org.apache.ws.commons.schema.XmlSchemaCollection;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class SchemaTest extends TestCase {
+
+ public static Test suite()
+ {
+ return new TestSuite(SchemaTest.class);
+ }
+
+ public void testSetGetNamespace() {
+ Schema schema = new InlinedSchemaImpl();
+ URI expectedNS = URI.create("http://example.com");
+ schema.setNamespace(expectedNS);
+ URI actualNS = schema.getNamespace();
+ assertEquals("Unexpected namespace URI", expectedNS, actualNS);
+ }
+
+ public void testSetGetSchemaDefinition() throws Exception {
+ String schemaString =
+ "<schema targetNamespace=\"urn:abc\" />";
+ byte[] schemaBytes = schemaString.getBytes();
+ InputStream iStream = new ByteArrayInputStream(schemaBytes);
+
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document doc = builder.parse(iStream);
+ Element elem = doc.getDocumentElement();
+
+ XmlSchemaCollection xsc = new XmlSchemaCollection();
+ XmlSchema expectedSchemaDef = xsc.read(elem);
+
+ Schema schema = new InlinedSchemaImpl();
+ schema.setSchemaDefinition(expectedSchemaDef);
+ XmlSchema actualSchemaDef = schema.getSchemaDefinition();
+ assertEquals("Unexpected XmlSchema", expectedSchemaDef, actualSchemaDef);
+ }
+
+ public void testSetGetXMLElement() throws Exception {
+ XMLElement expectedEl = null;
+ expectedEl = new DOMXMLElement(new ErrorReporterImpl());
+ Schema schema = new ImportedSchemaImpl();
+ schema.setXMLElement(expectedEl);
+ XMLElement actualEl = schema.getXMLElement();
+ assertEquals("Unexpected XMLElement", expectedEl, actualEl);
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org