You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2013/03/23 12:17:34 UTC
svn commit: r1460127 - in /webservices/axiom/trunk/modules:
axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/
axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/
axiom-impl/src/test/java/org/apache/axiom/om/impl/llo...
Author: veithen
Date: Sat Mar 23 11:17:32 2013
New Revision: 1460127
URL: http://svn.apache.org/r1460127
Log:
Added test cases for the OMDataSource to SAX serialization code (in push mode) and implemented some unimplemented methods.
Added:
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java (with props)
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java (with props)
Modified:
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerXMLStreamWriter.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java
webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerXMLStreamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerXMLStreamWriter.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerXMLStreamWriter.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/ContentHandlerXMLStreamWriter.java Sat Mar 23 11:17:32 2013
@@ -18,17 +18,22 @@
*/
package org.apache.axiom.om.impl.common.serializer.push.sax;
+import java.io.IOException;
+
+import javax.activation.DataHandler;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
+import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
+import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
+import org.apache.axiom.util.base64.Base64EncodingWriterOutputStream;
import org.apache.axiom.util.namespace.ScopedNamespaceContext;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.helpers.AttributesImpl;
-final class ContentHandlerXMLStreamWriter implements XMLStreamWriter {
+final class ContentHandlerXMLStreamWriter implements XMLStreamWriter, DataHandlerWriter {
private final SAXHelper helper;
private final ContentHandler contentHandler;
private final LexicalHandler lexicalHandler;
@@ -48,8 +53,6 @@ final class ContentHandlerXMLStreamWrite
* {@link ContentHandler#endPrefixMapping(String)} events.
*/
private final ScopedNamespaceContext outputNsContext = new ScopedNamespaceContext();
-
- private final AttributesImpl attributes = new AttributesImpl();
ContentHandlerXMLStreamWriter(SAXHelper helper, ContentHandler contentHandler, LexicalHandler lexicalHandler,
ScopedNamespaceContext nsContext) {
@@ -63,10 +66,31 @@ final class ContentHandlerXMLStreamWrite
return s == null ? "" : s;
}
+ private String internalGetPrefix(String namespaceURI) throws XMLStreamException {
+ String prefix = writerNsContext.getPrefix(namespaceURI);
+ if (prefix == null) {
+ throw new XMLStreamException("Unbound namespace URI '" + namespaceURI + "'");
+ } else {
+ return prefix;
+ }
+ }
+
+ public Object getProperty(String name) throws IllegalArgumentException {
+ if (name.equals(DataHandlerWriter.PROPERTY)) {
+ return this;
+ } else {
+ return null;
+ }
+ }
+
public NamespaceContext getNamespaceContext() {
return writerNsContext;
}
+ public void setPrefix(String prefix, String uri) throws XMLStreamException {
+ writerNsContext.setPrefix(normalize(prefix), normalize(uri));
+ }
+
public void setDefaultNamespace(String uri) throws XMLStreamException {
writerNsContext.setPrefix("", normalize(uri));
}
@@ -82,6 +106,36 @@ final class ContentHandlerXMLStreamWrite
outputNsContext.startScope();
}
+ public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException {
+ writeStartElement(internalGetPrefix(namespaceURI), localName, namespaceURI);
+ }
+
+ public void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException {
+ finishStartElementIfNecessary();
+ helper.beginStartElement(normalize(prefix), normalize(namespaceURI), localName);
+ try {
+ helper.finishStartElement(contentHandler);
+ helper.writeEndElement(contentHandler, null);
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
+ }
+
+ public void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException {
+ writeEmptyElement(internalGetPrefix(namespaceURI), localName, namespaceURI);
+ }
+
+ public void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException {
+ prefix = normalize(prefix);
+ namespaceURI = normalize(namespaceURI);
+ outputNsContext.setPrefix(prefix, namespaceURI);
+ try {
+ contentHandler.startPrefixMapping(prefix, namespaceURI);
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
+ }
+
public void writeDefaultNamespace(String namespaceURI) throws XMLStreamException {
namespaceURI = normalize(namespaceURI);
outputNsContext.setPrefix("", namespaceURI);
@@ -96,6 +150,10 @@ final class ContentHandlerXMLStreamWrite
helper.addAttribute(normalize(prefix), normalize(namespaceURI), localName, "CDATA", value);
}
+ public void writeAttribute(String localName, String value) throws XMLStreamException {
+ helper.addAttribute("", "", localName, "CDATA", value);
+ }
+
private void finishStartElementIfNecessary() throws XMLStreamException {
if (helper.isInStartElement()) {
try {
@@ -126,70 +184,93 @@ final class ContentHandlerXMLStreamWrite
}
}
- public void flush() throws XMLStreamException {
- }
-
- public void close() throws XMLStreamException {
+ public void writeCData(String data) throws XMLStreamException {
+ finishStartElementIfNecessary();
+ try {
+ if (lexicalHandler != null) {
+ lexicalHandler.startCDATA();
+ }
+ char[] ch = data.toCharArray();
+ contentHandler.characters(ch, 0, ch.length);
+ if (lexicalHandler != null) {
+ lexicalHandler.endCDATA();
+ }
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
}
- public Object getProperty(String name) throws IllegalArgumentException {
- // TODO
- throw new UnsupportedOperationException();
+ public void writeDataHandler(DataHandler dataHandler, String contentID, boolean optimize)
+ throws IOException, XMLStreamException {
+ finishStartElementIfNecessary();
+ Base64EncodingWriterOutputStream out = new Base64EncodingWriterOutputStream(new ContentHandlerWriter(contentHandler));
+ dataHandler.writeTo(out);
+ out.complete();
}
- public void setNamespaceContext(NamespaceContext context) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void writeDataHandler(DataHandlerProvider dataHandlerProvider, String contentID,
+ boolean optimize) throws IOException, XMLStreamException {
+ writeDataHandler(dataHandlerProvider.getDataHandler(), contentID, optimize);
}
- public void setPrefix(String prefix, String uri) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void writeComment(String data) throws XMLStreamException {
+ finishStartElementIfNecessary();
+ if (lexicalHandler != null) {
+ try {
+ char[] ch = data.toCharArray();
+ lexicalHandler.comment(ch, 0, ch.length);
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
+ }
}
- public void writeAttribute(String localName, String value) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void writeProcessingInstruction(String target) throws XMLStreamException {
+ finishStartElementIfNecessary();
+ try {
+ contentHandler.processingInstruction(target, "");
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
}
- public void writeAttribute(String namespaceURI, String localName, String value)
- throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void writeProcessingInstruction(String target, String data) throws XMLStreamException {
+ finishStartElementIfNecessary();
+ try {
+ contentHandler.processingInstruction(target, data);
+ } catch (SAXException ex) {
+ throw new SAXExceptionWrapper(ex);
+ }
}
- public void writeCData(String data) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void flush() throws XMLStreamException {
}
- public void writeCharacters(char[] text, int start, int len) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
+ public void close() throws XMLStreamException {
}
- public void writeComment(String data) throws XMLStreamException {
+ public void setNamespaceContext(NamespaceContext context) throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
}
- public void writeDTD(String dtd) throws XMLStreamException {
+ public void writeAttribute(String namespaceURI, String localName, String value)
+ throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
}
- public void writeEmptyElement(String localName) throws XMLStreamException {
+ public void writeCharacters(char[] text, int start, int len) throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
}
- public void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException {
+ public void writeDTD(String dtd) throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
}
- public void writeEmptyElement(String prefix, String localName, String namespaceURI)
- throws XMLStreamException {
+ public void writeEmptyElement(String localName) throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
}
@@ -204,21 +285,6 @@ final class ContentHandlerXMLStreamWrite
throw new UnsupportedOperationException();
}
- public void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
- }
-
- public void writeProcessingInstruction(String target) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
- }
-
- public void writeProcessingInstruction(String target, String data) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
- }
-
public void writeStartDocument() throws XMLStreamException {
// TODO
throw new UnsupportedOperationException();
@@ -238,9 +304,4 @@ final class ContentHandlerXMLStreamWrite
// TODO
throw new UnsupportedOperationException();
}
-
- public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException {
- // TODO
- throw new UnsupportedOperationException();
- }
}
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/serializer/push/sax/SAXHelper.java Sat Mar 23 11:17:32 2013
@@ -70,9 +70,11 @@ final class SAXHelper {
String elementLocalName = (String)elementNameStack.pop();
String elementURI = (String)elementNameStack.pop();
contentHandler.endElement(elementURI, elementLocalName, elementQName);
- for (int i=nsContext.getBindingsCount()-1; i>=nsContext.getFirstBindingInCurrentScope(); i--) {
- contentHandler.endPrefixMapping(nsContext.getPrefix(i));
+ if (nsContext != null) {
+ for (int i=nsContext.getBindingsCount()-1; i>=nsContext.getFirstBindingInCurrentScope(); i--) {
+ contentHandler.endPrefixMapping(nsContext.getPrefix(i));
+ }
+ nsContext.endScope();
}
- nsContext.endScope();
}
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java Sat Mar 23 11:17:32 2013
@@ -34,6 +34,7 @@ import org.apache.axiom.ts.om.factory.Te
import org.apache.axiom.ts.om.factory.TestCreateOMElementWithNamespaceInScope1;
import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
+import org.apache.axiom.ts.om.sourcedelement.TestGetSAXSourceWithPushOMDataSource;
public class OMImplementationTest extends TestCase {
public static TestSuite suite() {
@@ -66,6 +67,11 @@ public class OMImplementationTest extend
// TODO: this is not supported yet
builder.exclude(TestGetXMLStreamReaderWithIncompleteDescendant.class, "(cache=false)");
+ // TODO: not yet working
+ builder.exclude(TestGetSAXSourceWithPushOMDataSource.class, "(|(scenario=writeDataHandler)(scenario=writeDataHandlerProvider))");
+ // TODO: need to evaluate if the test case is correct
+ builder.exclude(TestGetSAXSourceWithPushOMDataSource.class, "(&(scenario=getNamespaceContext)(serializeParent=false))");
+
return builder.build();
}
}
Modified: webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java Sat Mar 23 11:17:32 2013
@@ -30,6 +30,7 @@ import org.apache.axiom.ts.om.document.T
import org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithIncompleteDescendant;
import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
+import org.apache.axiom.ts.om.sourcedelement.TestGetSAXSourceWithPushOMDataSource;
public class OMImplementationTest extends TestCase {
public static TestSuite suite() {
@@ -51,6 +52,11 @@ public class OMImplementationTest extend
// TODO: if there is a comment node surrounded by text, then these text nodes need to be merged
builder.exclude(TestDigest.class, "(|(file=digest3.xml)(file=digest4.xml))");
+ // TODO: not yet working
+ builder.exclude(TestGetSAXSourceWithPushOMDataSource.class, "(|(scenario=writeDataHandler)(scenario=writeDataHandlerProvider))");
+ // TODO: need to evaluate if the test case is correct
+ builder.exclude(TestGetSAXSourceWithPushOMDataSource.class, "(&(scenario=getNamespaceContext)(serializeParent=false))");
+
return builder.build();
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Sat Mar 23 11:17:32 2013
@@ -456,6 +456,11 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetNextOMSiblingIncomplete(metaFactory));
addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetObject(metaFactory));
addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetReaderException(metaFactory));
+ for (int i=0; i<PushOMDataSourceScenario.INSTANCES.length; i++) {
+ PushOMDataSourceScenario scenario = PushOMDataSourceScenario.INSTANCES[i];
+ addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetSAXSourceWithPushOMDataSource(metaFactory, scenario, false));
+ addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetSAXSourceWithPushOMDataSource(metaFactory, scenario, true));
+ }
addTest(new org.apache.axiom.ts.om.sourcedelement.TestGetTextAsStreamWithNonDestructiveOMDataSource(metaFactory));
addTest(new org.apache.axiom.ts.om.sourcedelement.TestInputStreamDS(metaFactory));
addTest(new org.apache.axiom.ts.om.sourcedelement.TestName1DefaultPrefix(metaFactory));
Added: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java?rev=1460127&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java (added)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java Sat Mar 23 11:17:32 2013
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.ts.om.sourcedelement;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.transform.sax.SAXSource;
+
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.om.OMSourcedElement;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.ds.AbstractPushOMDataSource;
+import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.ts.om.sourcedelement.push.PushOMDataSourceScenario;
+
+/**
+ * Tests that the {@link SAXSource} returned by {@link OMContainer#getSAXSource(boolean)} correctly
+ * serializes an {@link OMSourcedElement} backed by an {@link AbstractPushOMDataSource}.
+ */
+public class TestGetSAXSourceWithPushOMDataSource extends AxiomTestCase {
+ private final PushOMDataSourceScenario scenario;
+ private boolean serializeParent;
+
+ public TestGetSAXSourceWithPushOMDataSource(OMMetaFactory metaFactory, PushOMDataSourceScenario scenario, boolean serializeParent) {
+ super(metaFactory);
+ this.scenario = scenario;
+ this.serializeParent = serializeParent;
+ scenario.addTestParameters(this);
+ addTestParameter("serializeParent", Boolean.toString(serializeParent));
+ }
+
+ protected void runTest() throws Throwable {
+ final Map testContext = new HashMap();
+ OMFactory factory = metaFactory.getOMFactory();
+ OMSourcedElement sourcedElement = factory.createOMElement(new AbstractPushOMDataSource() {
+ public void serialize(XMLStreamWriter writer) throws XMLStreamException {
+ scenario.serialize(writer, testContext);
+ }
+
+ public boolean isDestructiveWrite() {
+ return false;
+ }
+ });
+ Iterator it = scenario.getNamespaceContext().entrySet().iterator();
+ OMElement parent;
+ if (it.hasNext()) {
+ Map.Entry binding = (Map.Entry)it.next();
+ parent = factory.createOMElement("parent", factory.createOMNamespace((String)binding.getValue(), (String)binding.getKey()));
+ while (it.hasNext()) {
+ binding = (Map.Entry)it.next();
+ parent.declareNamespace(factory.createOMNamespace((String)binding.getValue(), (String)binding.getKey()));
+ }
+ } else {
+ parent = factory.createOMElement("parent", null);
+ }
+ parent.addChild(sourcedElement);
+ SAXSource saxSource = (serializeParent ? parent : sourcedElement).getSAXSource(true);
+ OMElement element = OMXMLBuilderFactory.createOMBuilder(factory, saxSource, false).getDocumentElement();
+ if (serializeParent) {
+ element = element.getFirstElement();
+ }
+ scenario.validate(element, false, testContext);
+ }
+}
Propchange: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestGetSAXSourceWithPushOMDataSource.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestPushOMDataSourceExpansion.java Sat Mar 23 11:17:32 2013
@@ -67,6 +67,6 @@ public class TestPushOMDataSourceExpansi
}
parent.addChild(element);
}
- scenario.validate(element, testContext);
+ scenario.validate(element, true, testContext);
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/GetNamespaceContextScenario.java Sat Mar 23 11:17:32 2013
@@ -48,7 +48,7 @@ public class GetNamespaceContextScenario
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
// Expand element
element.getFirstOMChild();
Assert.assertEquals("urn:test", testContext.get("uri"));
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/PushOMDataSourceScenario.java Sat Mar 23 11:17:32 2013
@@ -20,6 +20,7 @@ package org.apache.axiom.ts.om.sourcedel
import java.util.Map;
+import javax.activation.DataHandler;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
@@ -40,6 +41,7 @@ public interface PushOMDataSourceScenari
new WriteCommentScenario(),
new WriteDataHandlerScenario(),
new WriteDataHandlerProviderScenario(),
+ new WriteEmptyElementScenario(),
new WriteEmptyElementAutoPrefixScenario(),
new WriteNamespaceScenario("", ""),
new WriteNamespaceScenario("", "urn:test"),
@@ -64,7 +66,7 @@ public interface PushOMDataSourceScenari
* the {@link XMLStreamWriter}
* @param testContext
* a map to store context information for the current test case execution; the same
- * object is passed to {@link #validate(OMElement, Map)}
+ * object is passed to {@link #validate(OMElement, boolean, Map)}
* @throws XMLStreamException
*/
void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException;
@@ -75,9 +77,15 @@ public interface PushOMDataSourceScenari
* @param element
* the {@link OMElement} representing the XML data produced by
* {@link #serialize(XMLStreamWriter, Map)}
+ * @param dataHandlersPreserved
+ * <code>true</code> if {@link DataHandler} objects written to the
+ * {@link XMLStreamWriter} are expected to have been preserved as is;
+ * <code>false</code> if they are expected to have been transformed to base64 encoded
+ * character data
* @param testContext
* a map to store context information for the current test case execution; the same
* object is passed to {@link #serialize(XMLStreamWriter, Map)}
+ * @throws Throwable
*/
- void validate(OMElement element, Map testContext);
+ void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable;
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteAttributeNoNamespaceScenario.java Sat Mar 23 11:17:32 2013
@@ -47,7 +47,7 @@ public class WriteAttributeNoNamespaceSc
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
Assert.assertEquals("value", element.getAttributeValue(new QName("attr")));
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCDataScenario.java Sat Mar 23 11:17:32 2013
@@ -45,7 +45,7 @@ public class WriteCDataScenario implemen
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMNode child = element.getFirstOMChild();
Assert.assertTrue(child instanceof OMText);
OMText text = (OMText)child;
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteCommentScenario.java Sat Mar 23 11:17:32 2013
@@ -45,7 +45,7 @@ public class WriteCommentScenario implem
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMNode child = element.getFirstOMChild();
Assert.assertTrue(child instanceof OMComment);
Assert.assertEquals("comment", ((OMComment)child).getValue());
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerProviderScenario.java Sat Mar 23 11:17:32 2013
@@ -30,6 +30,7 @@ import org.apache.axiom.ext.stax.datahan
import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMText;
+import org.apache.axiom.testutils.io.IOTestUtils;
import org.apache.axiom.testutils.suite.MatrixTestCase;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
import org.junit.Assert;
@@ -68,9 +69,14 @@ public class WriteDataHandlerProviderSce
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMText child = (OMText)element.getFirstOMChild();
- Assert.assertTrue(child.isBinary());
- Assert.assertSame(dh, child.getDataHandler());
+ if (dataHandlersPreserved) {
+ Assert.assertTrue(child.isBinary());
+ Assert.assertSame(dh, child.getDataHandler());
+ } else {
+ child.setBinary(true);
+ IOTestUtils.compareStreams(dh.getInputStream(), ((DataHandler)child.getDataHandler()).getInputStream());
+ }
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteDataHandlerScenario.java Sat Mar 23 11:17:32 2013
@@ -29,6 +29,7 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.ext.stax.datahandler.DataHandlerWriter;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMText;
+import org.apache.axiom.testutils.io.IOTestUtils;
import org.apache.axiom.testutils.suite.MatrixTestCase;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
import org.junit.Assert;
@@ -58,9 +59,14 @@ public class WriteDataHandlerScenario im
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMText child = (OMText)element.getFirstOMChild();
- Assert.assertTrue(child.isBinary());
- Assert.assertSame(dh, child.getDataHandler());
+ if (dataHandlersPreserved) {
+ Assert.assertTrue(child.isBinary());
+ Assert.assertSame(dh, child.getDataHandler());
+ } else {
+ child.setBinary(true);
+ IOTestUtils.compareStreams(dh.getInputStream(), ((DataHandler)child.getDataHandler()).getInputStream());
+ }
}
}
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementAutoPrefixScenario.java Sat Mar 23 11:17:32 2013
@@ -49,7 +49,7 @@ public class WriteEmptyElementAutoPrefix
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMElement child = element.getFirstElement();
Assert.assertEquals("p", child.getPrefix());
Assert.assertEquals("urn:test", child.getNamespaceURI());
Added: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java?rev=1460127&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java (added)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java Sat Mar 23 11:17:32 2013
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.ts.om.sourcedelement.push;
+
+import java.util.Collections;
+import java.util.Map;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.testutils.suite.MatrixTestCase;
+import org.junit.Assert;
+
+/**
+ * Scenario that uses {@link XMLStreamWriter#writeEmptyElement(String, String, String)}.
+ */
+public class WriteEmptyElementScenario implements PushOMDataSourceScenario {
+ public void addTestParameters(MatrixTestCase testCase) {
+ testCase.addTestParameter("scenario", "writeEmptyElement");
+ }
+
+ public Map getNamespaceContext() {
+ return Collections.EMPTY_MAP;
+ }
+
+ public void serialize(XMLStreamWriter writer, Map testContext) throws XMLStreamException {
+ writer.writeStartElement(null, "root", null);
+ writer.writeNamespace("p", "urn:test");
+ writer.writeEmptyElement("p", "child", "urn:test");
+ writer.writeEndElement();
+ }
+
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
+ OMElement child = element.getFirstElement();
+ Assert.assertEquals("p", child.getPrefix());
+ Assert.assertEquals("urn:test", child.getNamespaceURI());
+ Assert.assertEquals("child", child.getLocalName());
+ }
+}
Propchange: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteEmptyElementScenario.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteNamespaceScenario.java Sat Mar 23 11:17:32 2013
@@ -60,7 +60,7 @@ public class WriteNamespaceScenario impl
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMNamespace decl = null;
Iterator it = element.getAllDeclaredNamespaces();
while (it.hasNext()) {
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction1Scenario.java Sat Mar 23 11:17:32 2013
@@ -45,7 +45,7 @@ public class WriteProcessingInstruction1
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMNode child = element.getFirstOMChild();
Assert.assertTrue(child instanceof OMProcessingInstruction);
OMProcessingInstruction pi = (OMProcessingInstruction)child;
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteProcessingInstruction2Scenario.java Sat Mar 23 11:17:32 2013
@@ -45,7 +45,7 @@ public class WriteProcessingInstruction2
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMNode child = element.getFirstOMChild();
Assert.assertTrue(child instanceof OMProcessingInstruction);
OMProcessingInstruction pi = (OMProcessingInstruction)child;
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementAutoPrefixScenario.java Sat Mar 23 11:17:32 2013
@@ -51,7 +51,7 @@ public class WriteStartElementAutoPrefix
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMElement child = element.getFirstElement();
Assert.assertEquals("p", child.getPrefix());
Assert.assertEquals("urn:test", child.getNamespaceURI());
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java?rev=1460127&r1=1460126&r2=1460127&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/push/WriteStartElementWithDefaultNamespaceDeclaredOnParentScenario.java Sat Mar 23 11:17:32 2013
@@ -51,7 +51,7 @@ public class WriteStartElementWithDefaul
writer.writeEndElement();
}
- public void validate(OMElement element, Map testContext) {
+ public void validate(OMElement element, boolean dataHandlersPreserved, Map testContext) throws Throwable {
OMElement child = element.getFirstElement();
Assert.assertNull(child.getPrefix());
Assert.assertEquals("urn:test", child.getNamespaceURI());