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 2016/02/26 19:21:16 UTC
svn commit: r1732530 [2/3] - in
/webservices/axiom/branches/maven-site-plugin-3.5: ./ aspects/core-aspects/
aspects/core-aspects/src/main/java/org/apache/axiom/core/
aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/
aspects/core-aspe...
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj Fri Feb 26 18:21:15 2016
@@ -31,13 +31,17 @@ import javax.xml.transform.sax.SAXSource
import org.apache.axiom.core.Axis;
import org.apache.axiom.core.Builder;
+import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.CoreNode;
import org.apache.axiom.core.ElementMatcher;
import org.apache.axiom.core.Mapper;
+import org.apache.axiom.core.stream.NamespaceRepairingFilterHandler;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.sax.XmlHandlerContentHandler;
+import org.apache.axiom.core.stream.stax.XMLStreamWriterNamespaceContextProvider;
import org.apache.axiom.om.NodeUnavailableException;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
@@ -53,11 +57,12 @@ import org.apache.axiom.om.impl.common.A
import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.common.NamespaceURIInterningXMLStreamReaderWrapper;
import org.apache.axiom.om.impl.common.OMChildrenQNameIterator;
-import org.apache.axiom.om.impl.common.OMContentHandler;
import org.apache.axiom.om.impl.common.SAXResultContentHandler;
import org.apache.axiom.om.impl.common.builder.StAXHelper;
import org.apache.axiom.om.impl.common.serializer.pull.OMXMLStreamReaderExAdapter;
import org.apache.axiom.om.impl.common.serializer.pull.PullSerializer;
+import org.apache.axiom.om.impl.common.serializer.push.XmlDeclarationRewriterHandler;
+import org.apache.axiom.om.impl.common.serializer.push.XsiTypeFilterHandler;
import org.apache.axiom.om.impl.common.serializer.push.sax.XMLReaderImpl;
import org.apache.axiom.om.impl.common.serializer.push.stax.StAXSerializer;
import org.apache.axiom.om.impl.intf.AxiomChildNode;
@@ -122,10 +127,6 @@ public aspect AxiomContainerSupport {
return reader;
}
- public void AxiomContainer.addChild(OMNode omNode) {
- addChild(omNode, false);
- }
-
public final AxiomChildNode AxiomContainer.prepareNewChild(OMNode omNode) {
AxiomChildNode child;
// Careful here: if the child was created by another Axiom implementation, it doesn't
@@ -139,17 +140,10 @@ public aspect AxiomContainerSupport {
return child;
}
- public void AxiomContainer.addChild(OMNode omNode, boolean fromBuilder) {
- AxiomChildNode child;
- if (fromBuilder) {
- // If the new child was provided by the builder, we know that it was created by
- // the same factory
- child = (AxiomChildNode)omNode;
- } else {
- child = prepareNewChild(omNode);
- }
+ public void AxiomContainer.addChild(OMNode omNode) {
+ AxiomChildNode child = prepareNewChild(omNode);
- coreAppendChild(child, fromBuilder);
+ coreAppendChild(child, false);
// For a normal OMNode, the incomplete status is
// propogated up the tree.
@@ -158,7 +152,7 @@ public aspect AxiomContainerSupport {
// So only propogate the incomplete setting if this
// is a normal OMNode
// TODO: this is crap and needs to be reviewed
- if (!fromBuilder && !child.isComplete() &&
+ if (!child.isComplete() &&
!(child instanceof OMSourcedElement)) {
setComplete(false);
}
@@ -267,98 +261,97 @@ public aspect AxiomContainerSupport {
}
public final SAXResult AxiomContainer.getSAXResult() {
- OMContentHandler handler = new OMContentHandler(new SAXResultContentHandler(this), true);
+ XmlHandlerContentHandler handler = new XmlHandlerContentHandler(new SAXResultContentHandler(this), true);
SAXResult result = new SAXResult();
result.setHandler(handler);
result.setLexicalHandler(handler);
return result;
}
- public final void AxiomContainer.serialize(OutputStream output) throws XMLStreamException {
- serialize(output, new OMOutputFormat());
+ private XmlHandler AxiomContainer.createSerializer(MTOMXMLStreamWriter writer, boolean useExistingNamespaceContext) {
+ StAXSerializer serializer = new StAXSerializer(writer);
+ XmlHandler handler = new XmlDeclarationRewriterHandler(serializer, writer.getOutputFormat());
+ CoreElement contextElement = getContextElement();
+ if (contextElement != null) {
+ handler = new XsiTypeFilterHandler(handler, contextElement);
+ }
+ return new NamespaceRepairingFilterHandler(handler,
+ useExistingNamespaceContext ? new XMLStreamWriterNamespaceContextProvider(writer) : null,
+ true);
+ }
+
+ public abstract CoreElement AxiomContainer.getContextElement();
+
+ public final void AxiomContainer.serialize(XMLStreamWriter xmlWriter, boolean cache) throws XMLStreamException {
+ // If the input xmlWriter is not an MTOMXMLStreamWriter, then wrapper it
+ MTOMXMLStreamWriter writer = xmlWriter instanceof MTOMXMLStreamWriter ?
+ (MTOMXMLStreamWriter) xmlWriter :
+ new MTOMXMLStreamWriter(xmlWriter);
+ try {
+ internalSerialize(createSerializer(writer, true), cache);
+ } catch (StreamException ex) {
+ throw AxiomExceptionTranslator.toXMLStreamException(ex);
+ }
+ writer.flush();
}
- public final void AxiomContainer.serialize(Writer writer) throws XMLStreamException {
- XMLStreamWriter xmlStreamWriter = StAXUtils.createXMLStreamWriter(writer);
+ private void AxiomContainer.serialize(MTOMXMLStreamWriter writer, boolean cache) throws XMLStreamException {
try {
- serialize(xmlStreamWriter);
+ try {
+ internalSerialize(createSerializer(writer, false), cache);
+ } catch (StreamException ex) {
+ throw AxiomExceptionTranslator.toXMLStreamException(ex);
+ }
} finally {
- xmlStreamWriter.close();
+ writer.close();
}
}
+
+ private void AxiomContainer.serialize(Writer writer, boolean cache) throws XMLStreamException {
+ serialize(new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer)), cache);
+ }
+
+ private void AxiomContainer.serialize(OutputStream output, OMOutputFormat format, boolean cache) throws XMLStreamException {
+ serialize(new MTOMXMLStreamWriter(output, format, cache), cache);
+ }
+
+ private void AxiomContainer.serialize(Writer writer, OMOutputFormat format, boolean cache) throws XMLStreamException {
+ serialize(new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer), format), cache);
+ }
+
+ public final void AxiomContainer.serialize(OutputStream output) throws XMLStreamException {
+ serialize(output, new OMOutputFormat());
+ }
public final void AxiomContainer.serializeAndConsume(OutputStream output) throws XMLStreamException {
serializeAndConsume(output, new OMOutputFormat());
}
- public final void AxiomContainer.serializeAndConsume(Writer writer) throws XMLStreamException {
- XMLStreamWriter xmlStreamWriter = StAXUtils.createXMLStreamWriter(writer);
- try {
- serializeAndConsume(xmlStreamWriter);
- } finally {
- xmlStreamWriter.close();
- }
+ public final void AxiomContainer.serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {
+ serialize(output, format, true);
}
- public final void AxiomContainer.serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {
- MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, true);
- try {
- try {
- internalSerialize(new StAXSerializer(writer).buildHandler(this), format, true);
- } catch (StreamException ex) {
- throw AxiomExceptionTranslator.toXMLStreamException(ex);
- }
- } finally {
- writer.close();
- }
+ public final void AxiomContainer.serializeAndConsume(OutputStream output, OMOutputFormat format) throws XMLStreamException {
+ serialize(output, format, false);
}
- public final void AxiomContainer.serialize(Writer writer2, OMOutputFormat format) throws XMLStreamException {
- MTOMXMLStreamWriter writer =
- new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer2));
- writer.setOutputFormat(format);
- try {
- try {
- internalSerialize(new StAXSerializer(writer).buildHandler(this), format, true);
- } catch (StreamException ex) {
- throw AxiomExceptionTranslator.toXMLStreamException(ex);
- }
- } finally {
- writer.close();
- }
+ public final void AxiomContainer.serialize(Writer writer) throws XMLStreamException {
+ serialize(writer, true);
}
- public final void AxiomContainer.serializeAndConsume(OutputStream output, OMOutputFormat format)
- throws XMLStreamException {
- MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, false);
- try {
- try {
- internalSerialize(new StAXSerializer(writer).buildHandler(this), format, false);
- } catch (StreamException ex) {
- throw AxiomExceptionTranslator.toXMLStreamException(ex);
- }
- } finally {
- writer.close();
- }
+ public final void AxiomContainer.serializeAndConsume(Writer writer) throws XMLStreamException {
+ serialize(writer, false);
}
- public final void AxiomContainer.serializeAndConsume(Writer writer2, OMOutputFormat format)
- throws XMLStreamException {
- MTOMXMLStreamWriter writer =
- new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer2));
- writer.setOutputFormat(format);
- try {
- try {
- internalSerialize(new StAXSerializer(writer).buildHandler(this), format, false);
- } catch (StreamException ex) {
- throw AxiomExceptionTranslator.toXMLStreamException(ex);
- }
- } finally {
- writer.close();
- }
+ public final void AxiomContainer.serialize(Writer writer, OMOutputFormat format) throws XMLStreamException {
+ serialize(writer, format, true);
+ }
+
+ public final void AxiomContainer.serializeAndConsume(Writer writer, OMOutputFormat format) throws XMLStreamException {
+ serialize(writer, format, false);
}
- final void AxiomContainer.serializeChildren(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ final void AxiomContainer.serializeChildren(XmlHandler handler, boolean cache) throws StreamException {
if (getState() == AxiomContainer.DISCARDED) {
Builder builder = coreGetBuilder();
if (builder != null) {
@@ -369,14 +362,14 @@ public aspect AxiomContainerSupport {
if (cache) {
AxiomChildNode child = (AxiomChildNode)getFirstOMChild();
while (child != null) {
- child.internalSerialize(handler, format, true);
+ child.internalSerialize(handler, true);
child = (AxiomChildNode)child.getNextOMSibling();
}
} else {
// First, recursively serialize all child nodes that have already been created
AxiomChildNode child = (AxiomChildNode)coreGetFirstChildIfAvailable();
while (child != null) {
- child.internalSerialize(handler, format, cache);
+ child.internalSerialize(handler, cache);
child = (AxiomChildNode)child.coreGetNextSiblingIfAvailable();
}
// Next, if the container is incomplete, disable caching (temporarily)
@@ -384,31 +377,37 @@ public aspect AxiomContainerSupport {
// events from the underlying XMLStreamReader.
if (!isComplete() && coreGetBuilder() != null) {
Builder builder = coreGetBuilder();
- StAXHelper helper = new StAXHelper(builder.disableCaching(), handler);
- int depth = 0;
- loop: while (true) {
- switch (helper.lookahead()) {
- case XMLStreamReader.START_ELEMENT:
- depth++;
- break;
- case XMLStreamReader.END_ELEMENT:
- if (depth == 0) {
+ XMLStreamReader reader = builder.disableCaching();
+ // The reader is null in the very special case where this is an OMDocument and
+ // the current event is END_DOCUMENT (which means that auto-close is triggered
+ // and the parser is released, resulting in a null value).
+ if (reader != null) {
+ StAXHelper helper = new StAXHelper(reader, handler);
+ int depth = 0;
+ loop: while (true) {
+ switch (helper.lookahead()) {
+ case XMLStreamReader.START_ELEMENT:
+ depth++;
+ break;
+ case XMLStreamReader.END_ELEMENT:
+ if (depth == 0) {
+ break loop;
+ } else {
+ depth--;
+ }
+ break;
+ case XMLStreamReader.END_DOCUMENT:
+ if (depth != 0) {
+ // If we get here, then we have seen a START_ELEMENT event without
+ // a matching END_ELEMENT
+ throw new IllegalStateException();
+ }
break loop;
- } else {
- depth--;
- }
- break;
- case XMLStreamReader.END_DOCUMENT:
- if (depth != 0) {
- // If we get here, then we have seen a START_ELEMENT event without
- // a matching END_ELEMENT
- throw new IllegalStateException();
- }
- break loop;
+ }
+ // Note that we don't copy the final END_ELEMENT/END_DOCUMENT event for
+ // the container. This is the responsibility of the caller.
+ helper.next();
}
- // Note that we don't copy the final END_ELEMENT/END_DOCUMENT event for
- // the container. This is the responsibility of the caller.
- helper.next();
}
builder.reenableCaching(this);
}
@@ -432,7 +431,6 @@ public aspect AxiomContainerSupport {
if (build) {
this.build();
}
- setComplete(true);
if (builder != null) {
builder.close();
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,9 +18,13 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
+import org.apache.axiom.om.impl.common.serializer.push.stax.StAXSerializer;
import org.apache.axiom.om.impl.intf.AxiomDocType;
public aspect AxiomDocTypeSupport {
@@ -32,9 +36,17 @@ public aspect AxiomDocTypeSupport {
return coreGetRootName();
}
- public final void AxiomDocType.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomDocType.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
handler.processDocumentTypeDeclaration(coreGetRootName(), coreGetPublicId(), coreGetSystemId(), coreGetInternalSubset());
}
+
+ public final void AxiomDocType.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ internalSerialize(new StAXSerializer(writer), cache);
+ } catch (StreamException ex) {
+ throw AxiomExceptionTranslator.toXMLStreamException(ex);
+ }
+ }
public final void AxiomDocType.buildWithAttachments() {
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocumentSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,13 +18,13 @@
*/
package org.apache.axiom.om.impl.mixin;
+import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.intf.AxiomDocument;
@@ -55,27 +55,9 @@ public aspect AxiomDocumentSupport {
}
}
- public final void AxiomDocument.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
- internalSerialize(handler, format, cache, !format.isIgnoreXMLDeclaration());
- }
-
- // Overridden in AxiomSOAPMessageSupport
- public void AxiomDocument.internalSerialize(XmlHandler handler, OMOutputFormat format,
- boolean cache, boolean includeXMLDeclaration) throws StreamException {
- if (includeXMLDeclaration) {
- //Check whether the OMOutput char encoding and OMDocument char
- //encoding matches, if not use char encoding of OMOutput
- String encoding = format.getCharSetEncoding();
- if (encoding == null || "".equals(encoding)) {
- encoding = getCharsetEncoding();
- }
- String version = getXMLVersion();
- if (version == null) {
- version = "1.0";
- }
- handler.startDocument(null, version, encoding, true);
- }
- serializeChildren(handler, format, cache);
+ public final void AxiomDocument.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
+ handler.startDocument(coreGetInputEncoding(), coreGetXmlVersion(), coreGetXmlEncoding(), coreIsStandalone());
+ serializeChildren(handler, cache);
handler.endDocument();
}
@@ -128,4 +110,8 @@ public aspect AxiomDocumentSupport {
public void AxiomDocument.checkDocumentElement(OMElement element) {
}
+
+ public final CoreElement AxiomDocument.getContextElement() {
+ return null;
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomElementSupport.aj Fri Feb 26 18:21:15 2016
@@ -52,7 +52,6 @@ import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMSourcedElement;
import org.apache.axiom.om.OMText;
import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
@@ -529,34 +528,17 @@ public aspect AxiomElementSupport {
return findNamespaceURI("");
}
- public void AxiomElement.internalSerialize(XmlHandler handler, OMOutputFormat format,
- boolean cache) throws StreamException {
- defaultInternalSerialize(handler, format, cache);
+ public void AxiomElement.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
+ defaultInternalSerialize(handler, cache);
}
- public final void AxiomElement.defaultInternalSerialize(XmlHandler handler, OMOutputFormat format,
- boolean cache) throws StreamException {
- OMNamespace ns = getNamespace();
- if (ns == null) {
- handler.startElement("", getLocalName(), "");
- } else {
- handler.startElement(ns.getNamespaceURI(), getLocalName(), ns.getPrefix());
- }
- for (Iterator<OMNamespace> it = getAllDeclaredNamespaces(); it.hasNext(); ) {
- ns = it.next();
- handler.processNamespaceDeclaration(ns.getPrefix(), ns.getNamespaceURI());
- }
- for (Iterator<OMAttribute> it = getAllAttributes(); it.hasNext(); ) {
- OMAttribute attr = it.next();
- ns = attr.getNamespace();
- if (ns == null) {
- handler.processAttribute("", attr.getLocalName(), "", attr.getAttributeValue(), attr.getAttributeType(), ((CoreAttribute)attr).coreGetSpecified());
- } else {
- handler.processAttribute(ns.getNamespaceURI(), attr.getLocalName(), ns.getPrefix(), attr.getAttributeValue(), attr.getAttributeType(), ((CoreAttribute)attr).coreGetSpecified());
- }
+ public final void AxiomElement.defaultInternalSerialize(XmlHandler handler, boolean cache) throws StreamException {
+ try {
+ coreSerializeStartPart(handler);
+ } catch (CoreModelException ex) {
+ throw new StreamException(ex);
}
- handler.attributesCompleted();
- serializeChildren(handler, format, cache);
+ serializeChildren(handler, cache);
handler.endElement();
}
@@ -618,4 +600,9 @@ public aspect AxiomElementSupport {
public final int AxiomElement.getLineNumber() {
return 0;
}
+
+ public final CoreElement AxiomElement.getContextElement() {
+ CoreParentNode parent = coreGetParent();
+ return parent instanceof CoreElement ? (CoreElement)parent : null;
+ }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,10 +18,12 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.intf.AxiomEntityReference;
public aspect AxiomEntityReferenceSupport {
@@ -29,10 +31,14 @@ public aspect AxiomEntityReferenceSuppor
return OMNode.ENTITY_REFERENCE_NODE;
}
- public final void AxiomEntityReference.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomEntityReference.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
handler.processEntityReference(coreGetName(), coreGetReplacementText());
}
+ public final void AxiomEntityReference.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ writer.writeEntityRef(coreGetName());
+ }
+
public final String AxiomEntityReference.getName() {
return coreGetName();
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj Fri Feb 26 18:21:15 2016
@@ -18,10 +18,12 @@
*/
package org.apache.axiom.om.impl.mixin;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
import org.apache.axiom.core.CoreModelException;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
import org.apache.axiom.om.impl.common.AxiomSemantics;
import org.apache.axiom.om.impl.intf.AxiomProcessingInstruction;
@@ -47,12 +49,20 @@ public aspect AxiomProcessingInstruction
coreSetCharacterData(value, AxiomSemantics.INSTANCE);
}
- public final void AxiomProcessingInstruction.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
+ public final void AxiomProcessingInstruction.internalSerialize(XmlHandler handler, boolean cache) throws StreamException {
try {
handler.processProcessingInstruction(coreGetTarget() + " ", coreGetCharacterData().toString());
} catch (CoreModelException ex) {
throw AxiomExceptionTranslator.translate(ex);
}
+ }
+
+ public final void AxiomProcessingInstruction.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ writer.writeProcessingInstruction(coreGetTarget() + " ", coreGetCharacterData().toString());
+ } catch (CoreModelException ex) {
+ throw AxiomExceptionTranslator.translate(ex);
+ }
}
public final void AxiomProcessingInstruction.buildWithAttachments() {
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj Fri Feb 26 18:21:15 2016
@@ -21,10 +21,6 @@ package org.apache.axiom.om.impl.mixin;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
-import org.apache.axiom.om.impl.common.AxiomExceptionTranslator;
-import org.apache.axiom.om.impl.common.serializer.push.stax.StAXSerializer;
import org.apache.axiom.om.impl.intf.AxiomSerializable;
public aspect AxiomSerializableSupport {
@@ -35,17 +31,4 @@ public aspect AxiomSerializableSupport {
public final void AxiomSerializable.serializeAndConsume(XMLStreamWriter xmlWriter) throws XMLStreamException {
serialize(xmlWriter, false);
}
-
- public final void AxiomSerializable.serialize(XMLStreamWriter xmlWriter, boolean cache) throws XMLStreamException {
- // If the input xmlWriter is not an MTOMXMLStreamWriter, then wrapper it
- MTOMXMLStreamWriter writer = xmlWriter instanceof MTOMXMLStreamWriter ?
- (MTOMXMLStreamWriter) xmlWriter :
- new MTOMXMLStreamWriter(xmlWriter);
- try {
- internalSerialize(new StAXSerializer(writer).buildHandler(this), writer.getOutputFormat(), cache);
- } catch (StreamException ex) {
- throw AxiomExceptionTranslator.toXMLStreamException(ex);
- }
- writer.flush();
- }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj Fri Feb 26 18:21:15 2016
@@ -32,7 +32,6 @@ import org.apache.axiom.om.OMDataSourceE
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.om.OMXMLStreamReaderConfiguration;
import org.apache.axiom.om.QNameAwareOMDataSource;
import org.apache.axiom.om.impl.common.DeferredNamespace;
@@ -408,13 +407,13 @@ public aspect AxiomSourcedElementSupport
}
}
- public void AxiomSourcedElement.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache)
+ public void AxiomSourcedElement.internalSerialize(XmlHandler handler, boolean cache)
throws StreamException {
if (isExpanded()) {
- defaultInternalSerialize(handler, format, cache);
+ defaultInternalSerialize(handler, cache);
} else if (cache&& OMDataSourceUtil.isDestructiveWrite(dataSource)) {
forceExpand();
- defaultInternalSerialize(handler, format, true);
+ defaultInternalSerialize(handler, true);
// Note: if we can't determine the type (push/pull) of the OMDataSource, we
// default to push
// TODO: the serializer ignores namespaceURI and localName
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAPFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAPFactoryImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAPFactoryImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/factory/SOAPFactoryImpl.java Fri Feb 26 18:21:15 2016
@@ -68,7 +68,7 @@ public abstract class SOAPFactoryImpl ex
T element = createNode(type);
if (parent != null) {
element.checkParent(parent);
- ((AxiomContainer)parent).addChild(element, false);
+ ((AxiomContainer)parent).addChild(element);
}
if (qname.getNamespaceURI().length() == 0) {
element.initName(qname.getLocalPart(), null, true);
Modified: webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPMessageSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPMessageSupport.aj?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPMessageSupport.aj (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPMessageSupport.aj Fri Feb 26 18:21:15 2016
@@ -20,11 +20,7 @@ package org.apache.axiom.soap.impl.mixin
import org.apache.axiom.core.ClonePolicy;
import org.apache.axiom.core.CoreNode;
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.impl.intf.AxiomElement;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.impl.intf.AxiomSOAPMessage;
@@ -52,12 +48,6 @@ public aspect AxiomSOAPMessageSupport {
return factory;
}
- // TODO: this violates OO design principles and should disappear in a future Axiom version
- public final void AxiomSOAPMessage.internalSerialize(XmlHandler handler, OMOutputFormat format,
- boolean cache, boolean includeXMLDeclaration) throws StreamException {
- ((AxiomElement)getOMDocumentElement()).internalSerialize(handler, format, cache);
- }
-
public final SOAPEnvelope AxiomSOAPMessage.getSOAPEnvelope() {
return (SOAPEnvelope)getOMDocumentElement();
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/OMFactory.java Fri Feb 26 18:21:15 2016
@@ -19,6 +19,7 @@
package org.apache.axiom.om;
+import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
@@ -284,7 +285,7 @@ public interface OMFactory {
OMText createOMText(String s, String mimeType, boolean optimize);
- OMText createOMText(Object dataHandler, boolean optimize);
+ OMText createOMText(DataHandler dataHandler, boolean optimize);
OMText createOMText(OMContainer parent, String s, String mimeType,
boolean optimize);
Modified: webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/impl/MTOMXMLStreamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/impl/MTOMXMLStreamWriter.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/impl/MTOMXMLStreamWriter.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/main/java/org/apache/axiom/om/impl/MTOMXMLStreamWriter.java Fri Feb 26 18:21:15 2016
@@ -95,16 +95,20 @@ public class MTOMXMLStreamWriter impleme
// Set the filter object if provided
private XMLStreamWriterFilter xmlStreamWriterFilter = null;
- public MTOMXMLStreamWriter(XMLStreamWriter xmlWriter) {
+ public MTOMXMLStreamWriter(XMLStreamWriter xmlWriter, OMOutputFormat format) {
this.xmlWriter = xmlWriter;
if (log.isTraceEnabled()) {
log.trace("Call Stack =" + CommonUtils.callStackToString());
}
- format = new OMOutputFormat();
+ this.format = format;
optimizationPolicy = new OptimizationPolicyImpl(format);
preserveAttachments = true;
}
+ public MTOMXMLStreamWriter(XMLStreamWriter xmlWriter) {
+ this(xmlWriter, new OMOutputFormat());
+ }
+
public MTOMXMLStreamWriter(OutputStream outStream, OMOutputFormat format)
throws XMLStreamException, FactoryConfigurationError {
this(outStream, format, true);
Modified: webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/axiom-api/src/test/java/org/apache/axiom/blob/suite/TestMarkReset.java Fri Feb 26 18:21:15 2016
@@ -45,15 +45,19 @@ public class TestMarkReset extends SizeS
out.write(sourceData2);
out.close();
InputStream in = blob.getInputStream();
- assertThat(in.markSupported()).isTrue();
- byte[] data1 = new byte[sourceData1.length];
- byte[] data2 = new byte[sourceData2.length];
- IOUtils.readFully(in, data1);
- in.mark(sourceData2.length);
- IOUtils.readFully(in, data2);
- in.reset();
- IOUtils.readFully(in, data2);
- assertThat(data1).isEqualTo(sourceData1);
- assertThat(data2).isEqualTo(sourceData2);
+ try {
+ assertThat(in.markSupported()).isTrue();
+ byte[] data1 = new byte[sourceData1.length];
+ byte[] data2 = new byte[sourceData2.length];
+ IOUtils.readFully(in, data1);
+ in.mark(sourceData2.length);
+ IOUtils.readFully(in, data2);
+ in.reset();
+ IOUtils.readFully(in, data2);
+ assertThat(data1).isEqualTo(sourceData1);
+ assertThat(data2).isEqualTo(sourceData2);
+ } finally {
+ in.close();
+ }
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java Fri Feb 26 18:21:15 2016
@@ -19,13 +19,10 @@
package org.apache.axiom.soap.impl.dom;
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMConstants;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.soap.SOAP11Version;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPConstants;
@@ -37,7 +34,7 @@ import org.w3c.dom.Node;
public abstract class SOAPEnvelopeImpl extends SOAPElement implements AxiomSOAPEnvelope,
OMConstants {
- public void addChild(OMNode child, boolean fromBuilder) {
+ public void addChild(OMNode child) {
internalCheckChild(child);
if (child instanceof SOAPHeader) {
@@ -70,7 +67,7 @@ public abstract class SOAPEnvelopeImpl e
}
}
}
- super.addChild(child, fromBuilder);
+ super.addChild(child);
}
public Node insertBefore(Node newChild, Node refChild) throws DOMException {
@@ -127,22 +124,4 @@ public abstract class SOAPEnvelopeImpl e
public void checkParent(OMElement parent) throws SOAPProcessingException {
// here do nothing as SOAPEnvelope doesn't have a parent !!!
}
-
- public void internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache)
- throws StreamException {
-
- if (!format.isIgnoreXMLDeclaration()) {
- String charSetEncoding = format.getCharSetEncoding();
- String xmlVersion = format.getXmlVersion();
- handler.startDocument(
- null,
- xmlVersion == null ? OMConstants.DEFAULT_XML_VERSION
- : xmlVersion,
- charSetEncoding == null ? OMConstants.DEFAULT_CHAR_SET_ENCODING
- : charSetEncoding,
- true);
- }
- super.internalSerialize(handler, format, cache);
- handler.endDocument();
- }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java Fri Feb 26 18:21:15 2016
@@ -23,9 +23,6 @@ import junit.framework.TestSuite;
import org.apache.axiom.om.impl.dom.factory.OMDOMMetaFactory;
import org.apache.axiom.ts.om.OMTestSuiteBuilder;
-import org.apache.axiom.ts.om.builder.TestCreateOMBuilderFromDOM;
-import org.apache.axiom.ts.om.container.TestSerialize;
-import org.apache.axiom.ts.om.document.TestClone;
import org.apache.axiom.ts.om.document.TestDigest;
import org.apache.axiom.ts.om.element.TestGetChildrenWithName4;
import org.apache.axiom.ts.om.element.sr.TestClose;
@@ -41,12 +38,6 @@ public class OMImplementationTest extend
builder.exclude(TestInsertSiblingAfterOnChild.class);
builder.exclude(TestInsertSiblingBeforeOnChild.class);
- // TODO: this case is not working because Axiom generates an XML declaration
- // but uses another charset encoding to serialize the document
- builder.exclude(TestSerialize.class, "(&(file=iso-8859-1.xml)(container=document))");
- builder.exclude(TestCreateOMBuilderFromDOM.class, "(file=iso-8859-1.xml)");
- builder.exclude(TestClone.class, "(file=iso-8859-1.xml)");
-
// TODO: investigate why this is not working with DOOM
builder.exclude(TestGetChildrenWithName4.class);
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java Fri Feb 26 18:21:15 2016
@@ -19,32 +19,24 @@
package org.apache.axiom.soap.impl.llom;
-import org.apache.axiom.core.Builder;
-import org.apache.axiom.core.stream.StreamException;
-import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.om.OMConstants;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.intf.AxiomSOAPEnvelope;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/** Class SOAPEnvelopeImpl */
public abstract class SOAPEnvelopeImpl extends SOAPElement
implements AxiomSOAPEnvelope, OMConstants {
- private static final Log log = LogFactory.getLog(SOAPEnvelopeImpl.class);
-
/**
* Add a SOAPHeader or SOAPBody object
* @param child an OMNode to add - must be either a SOAPHeader or a SOAPBody
*/
- public void addChild(OMNode child, boolean fromBuilder) {
+ public void addChild(OMNode child) {
internalCheckChild(child);
if (child instanceof SOAPHeader) {
@@ -77,7 +69,7 @@ public abstract class SOAPEnvelopeImpl e
}
}
}
- super.addChild(child, fromBuilder);
+ super.addChild(child);
}
/**
@@ -117,39 +109,4 @@ public abstract class SOAPEnvelopeImpl e
public void checkParent(OMElement parent) throws SOAPProcessingException {
// here do nothing as SOAPEnvelope doesn't have a parent !!!
}
-
- public void internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache)
- throws StreamException {
- if (!format.isIgnoreXMLDeclaration()) {
- String charSetEncoding = format.getCharSetEncoding();
- String xmlVersion = format.getXmlVersion();
- handler.startDocument(
- null,
- xmlVersion == null ? OMConstants.DEFAULT_XML_VERSION : xmlVersion,
- charSetEncoding == null ? OMConstants.DEFAULT_CHAR_SET_ENCODING
- : charSetEncoding,
- true);
- }
- super.internalSerialize(handler, format, cache);
- handler.endDocument();
- if (!cache) {
- // let's try to close the builder/parser here since we are now done with the
- // non-caching code block serializing the top-level SOAPEnvelope element
- Builder builder = coreGetBuilder();
- if (builder != null) {
- try {
- if (log.isDebugEnabled()) {
- log.debug("closing builder: " + builder);
- }
- builder.close();
- } catch (Exception e) {
- if (log.isDebugEnabled()) {
- log.error("Could not close builder or parser due to: ", e);
- }
- }
- } else {
- log.debug("Could not close builder or parser due to: builder is null");
- }
- }
- }
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPHeaderImpl.java Fri Feb 26 18:21:15 2016
@@ -152,7 +152,7 @@ public abstract class SOAPHeaderImpl ext
}
- public void addChild(OMNode child, boolean fromBuilder) {
+ public void addChild(OMNode child) {
// Make sure a proper element is added. The children of a SOAPHeader should be
// SOAPHeaderBlock objects.
@@ -167,7 +167,7 @@ public abstract class SOAPHeaderImpl ext
log.debug(exceptionToString(e));
}
}
- super.addChild(child, fromBuilder);
+ super.addChild(child);
}
public static String exceptionToString(Throwable e) {
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java Fri Feb 26 18:21:15 2016
@@ -23,9 +23,6 @@ import junit.framework.TestSuite;
import org.apache.axiom.om.impl.llom.factory.OMLinkedListMetaFactory;
import org.apache.axiom.ts.om.OMTestSuiteBuilder;
-import org.apache.axiom.ts.om.builder.TestCreateOMBuilderFromDOM;
-import org.apache.axiom.ts.om.container.TestSerialize;
-import org.apache.axiom.ts.om.document.TestClone;
import org.apache.axiom.ts.om.document.TestDigest;
import org.apache.axiom.ts.om.element.sr.TestClose;
import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
@@ -39,12 +36,6 @@ public class OMImplementationTest extend
builder.exclude(TestInsertSiblingAfterOnChild.class);
builder.exclude(TestInsertSiblingBeforeOnChild.class);
- // TODO: this case is not working because Axiom generates an XML declaration
- // but uses another charset encoding to serialize the document
- builder.exclude(TestSerialize.class, "(&(file=iso-8859-1.xml)(container=document))");
- builder.exclude(TestCreateOMBuilderFromDOM.class, "(file=iso-8859-1.xml)");
- builder.exclude(TestClone.class, "(file=iso-8859-1.xml)");
-
// 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))");
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 26 18:21:15 2016
@@ -1 +1,2 @@
/abdera/java/branches/axiom-upgrade/parser:1371877-1374810
+/webservices/axiom/trunk/implementations/fom-impl:1731125-1732529
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java Fri Feb 26 18:21:15 2016
@@ -106,7 +106,7 @@ public class FOMDiv extends FOMExtensibl
OMNode node = (OMNode)nodes.next();
node.serialize(writer);
}
- writer.writeEndElement();
+ writer.flush();
return out.getBuffer().toString().substring(2);
} catch (Exception e) {
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/pom.xml?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/pom.xml (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/pom.xml Fri Feb 26 18:21:15 2016
@@ -709,7 +709,7 @@
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
- <version>1.8</version>
+ <version>2.0.0</version>
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
@@ -886,17 +886,19 @@
<configuration>
<scripts>
<script><![CDATA[
+ import static groovy.json.StringEscapeUtils.escapeJava
+
if (project.packaging != 'pom' && project.properties['hermeticTests'] == 'true') {
new File(project.build.directory, "test.policy").withWriter { out ->
out.println "grant {"
- out.println """ permission java.io.FilePermission "${java.home}${file.separator}-", "read";"""
- out.println """ permission java.io.FilePermission "${settings.localRepository}${file.separator}-", "read";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(System.properties.'java.home')}\${/}-", "read";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(session.settings.localRepository)}\${/}-", "read";"""
session.sortedProjects.each({
- out.println """ permission java.io.FilePermission "${it.build.directory}${file.separator}*", "read";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(it.build.directory)}\${/}*", "read";"""
})
- out.println """ permission java.io.FilePermission "${basedir}${file.separator}-", "read";"""
- out.println """ permission java.io.FilePermission "${project.build.directory}", "read,write";"""
- out.println """ permission java.io.FilePermission "${project.build.directory}${file.separator}-", "read,write,delete";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(project.basedir.absolutePath)}\${/}-", "read";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(project.build.directory)}", "read,write";"""
+ out.println """ permission java.io.FilePermission "${escapeJava(project.build.directory)}\${/}-", "read,write,delete";"""
out.println """ permission java.lang.RuntimePermission "*";"""
out.println """ permission java.lang.reflect.ReflectPermission "*";"""
out.println """ permission java.net.NetPermission "*";"""
@@ -911,7 +913,7 @@
out.println """ permission org.osgi.framework.ServicePermission "*", "register,get";"""
out.println "};"
}
- project.properties['securityManagerArgs'] = '-Djava.security.manager -Djava.security.policy=${project.build.directory}/test.policy'
+ project.properties['securityManagerArgs'] = '-Djava.security.manager -Djava.security.policy=' + project.build.directory.replace('\\', '/') + '/test.policy'
} else {
project.properties['securityManagerArgs'] = ''
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/src/site/apt/roadmap.apt
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/src/site/apt/roadmap.apt?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/src/site/apt/roadmap.apt (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/src/site/apt/roadmap.apt Fri Feb 26 18:21:15 2016
@@ -39,24 +39,6 @@ Introduction
API inconsistencies to be eliminated
-* Usage of <<<Object>>> instead of <<<DataHandler>>>
-
- There are several APIs that use <<<Object>>> although they expect or return
- a <<<DataHandler>>>. This is probably a legacy of Axis 1.x where the Activation API
- was an optional dependency. Today this no longer makes sense:
-
- * The Activation API is included in Java 6.
-
- * It is unlikely that Axiom actually works if Activation is not in the class path
- because there is nothing in the build that enforces or tests that and there are no
- known downstream projects that use Axiom without also depending on the Activation API.
-
- The following APIs will be changed to use <<<DataHandler>>> directly:
-
- * <<<OMText#getDataHandler()>>>
-
- * <<<OMFactory#createOMText(Object, boolean)>>>
-
* Methods declared by the wrong interface in the node type hierarchy
Some methods are declared at the wrong level in the node type hierarchy so that they may
Modified: webservices/axiom/branches/maven-site-plugin-3.5/src/site/markdown/release-notes/1.3.0.md
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/src/site/markdown/release-notes/1.3.0.md?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/src/site/markdown/release-notes/1.3.0.md (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/src/site/markdown/release-notes/1.3.0.md Fri Feb 26 18:21:15 2016
@@ -10,8 +10,25 @@ Changes in this release
* The public API now uses generics. Note that this should in general not have
impact on binary compatibility with Axiom 1.2.x.
-* The `getDataHandler()` method defined by `OMText` has been modified to use
- `DataHandler` instead of `Object` as return type.
+* In Axiom 1.2.x several APIs were using `Object` as argument/return type
+ although they expect/return a `DataHandler`. This is a legacy of Axis 1.x
+ where the Activation API was an optional dependency. This no longer makes
+ sense:
+
+ * In Java 6, the Activation API is part of the JRE.
+ * It is unlikely that Axiom actually works if the Activation API is not
+ available: there is nothing in the build that enforces or tests that,
+ and there are no known downstream projects that use Axiom without also
+ depending on the Activation API.
+
+ In Axiom 1.3.0, the following APIs have been changed to use `DataHandler`
+ instead of `Object`:
+
+ * `OMText.getDataHandler()`
+ * `OMFactory.createOMText(Object, boolean)`
+
+ Note that this change breaks binary compatibility with Axiom 1.2.x (but
+ shouldn't break source code compatibility).
* The builder implementations and related classes have been removed from the
`org.apache.axiom.om.impl.builder` and `org.apache.axiom.soap.impl.builder`
@@ -104,3 +121,16 @@ Changes in this release
`SOAPFaultNode` interface because they conflict with methods defined by
DOM's `Node` interface. Note that these methods were already deprecated in
Axiom 1.2.x, with alternative methods being available.
+
+* In Axiom 1.2.x the `SOAPMessage` and `SOAPEnvelope` implementations had
+ special serialization logic, causing the serialization of a `SOAPEnvelope`
+ to emit an XML declaration by default and the serialization of a
+ `SOAPMessage` to skip all content in the prolog and epilog. This behavior
+ was completely undocumented and violates basic object oriented design
+ principles: although `SOAPMessage` is an `OMDocument` and `SOAPEnvelope` is
+ an `OMElement`, they didn't behave in the same way as `OMDocument` and
+ `OMElement` when it comes to serialization. This in turn led to an awkward
+ design. This special serialization logic has been removed in Axiom 1.3 and
+ `SOAPMessage` and `SOAPEnvelope` now have the same behavior as any other
+ `OMDocument` and `OMElement`. The main implication is that the serialization
+ of a `SOAPEnvelope` no longer generates an XML declaration.
Modified: webservices/axiom/branches/maven-site-plugin-3.5/systests/old-tests/src/test/java/org/apache/axiom/om/impl/builder/StAXOMBuilderTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/systests/old-tests/src/test/java/org/apache/axiom/om/impl/builder/StAXOMBuilderTest.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/systests/old-tests/src/test/java/org/apache/axiom/om/impl/builder/StAXOMBuilderTest.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/systests/old-tests/src/test/java/org/apache/axiom/om/impl/builder/StAXOMBuilderTest.java Fri Feb 26 18:21:15 2016
@@ -61,28 +61,6 @@ public class StAXOMBuilderTest extends A
assertTrue(childrenCount == 5);
}
- public void testClose1() throws Exception {
- rootElement = stAXOMBuilder.getDocumentElement();
- // get the first OMElement child
- OMNode omnode = rootElement.getFirstOMChild();
- while (omnode instanceof OMText) {
- omnode = omnode.getNextOMSibling();
- }
- // Close the element immediately
- OMElement omElement = (OMElement) omnode;
- omElement.close(false);
-
- Iterator children = ((OMElement) omnode).getChildren();
- int childrenCount = 0;
- while (children.hasNext()) {
- OMNode node = (OMNode) children.next();
- if (node instanceof OMElement)
- childrenCount++;
- }
-
- assertTrue(childrenCount == 0);
- }
-
public void testClose2() throws Exception {
rootElement = stAXOMBuilder.getDocumentElement();
// get the first OMElement child
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/pom.xml?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/pom.xml (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/pom.xml Fri Feb 26 18:21:15 2016
@@ -94,6 +94,10 @@
<artifactId>jaxp-testsuite</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
</dependencies>
<build>
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/dimension/serialization/SerializeToXMLStreamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/dimension/serialization/SerializeToXMLStreamWriter.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/dimension/serialization/SerializeToXMLStreamWriter.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/dimension/serialization/SerializeToXMLStreamWriter.java Fri Feb 26 18:21:15 2016
@@ -23,6 +23,7 @@ import java.io.ByteArrayOutputStream;
import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.testutils.suite.MatrixTestCase;
@@ -44,7 +45,17 @@ public class SerializeToXMLStreamWriter
public XML serialize(OMContainer container) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLStreamWriter writer = StAXUtils.createXMLStreamWriter(baos);
+ String encoding = null;
+ // Since Axiom has no way of knowing the encoding used by the XMLStreamWriter,
+ // it will just keep the original one when writing the XML declaration. Adjust
+ // the output encoding so that it will match the encoding in the XML declaration.
+ if (container instanceof OMDocument) {
+ encoding = ((OMDocument)container).getXMLEncoding();
+ }
+ if (encoding == null) {
+ encoding = "UTF-8";
+ }
+ XMLStreamWriter writer = StAXUtils.createXMLStreamWriter(baos, encoding);
if (cache) {
container.serialize(writer);
} else {
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Fri Feb 26 18:21:15 2016
@@ -25,6 +25,7 @@ import java.lang.reflect.Method;
import javax.xml.namespace.QName;
import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.om.OMNode;
import org.apache.axiom.testing.multiton.Multiton;
import org.apache.axiom.testutils.suite.MatrixTestSuiteBuilder;
import org.apache.axiom.ts.dimension.AddAttributeStrategy;
@@ -140,6 +141,7 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.builder.TestRegisterCustomBuilderForPayloadJAXBWithXOP(metaFactory));
addTest(new org.apache.axiom.ts.om.builder.TestRootPartStreaming(metaFactory));
addTest(new org.apache.axiom.ts.om.builder.TestStandaloneConfiguration(metaFactory));
+ addTest(new org.apache.axiom.ts.om.comment.TestSerialize(metaFactory));
for (XMLSample file : getInstances(XMLSample.class)) {
for (OMContainerExtractor ce : getInstances(OMContainerExtractor.class)) {
for (BuilderFactory bf : getInstances(BuilderFactory.class)) {
@@ -162,6 +164,7 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.container.TestGetDescendants(metaFactory, cf, true));
addTest(new org.apache.axiom.ts.om.container.TestGetDescendants(metaFactory, cf, false));
}
+ addTest(new org.apache.axiom.ts.om.doctype.TestSerialize(metaFactory));
addTest(new org.apache.axiom.ts.om.document.TestAddChildIncomplete(metaFactory));
addTest(new org.apache.axiom.ts.om.document.TestAddChildWithExistingDocumentElement(metaFactory));
addTest(new org.apache.axiom.ts.om.document.TestBuild(metaFactory));
@@ -329,7 +332,8 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.element.TestGetTextAsStreamWithNonTextChildren(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetTextAsStreamWithoutCaching(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetTextAsStreamWithSingleTextNode(metaFactory));
- addTest(new org.apache.axiom.ts.om.element.TestGetTextBinary(metaFactory));
+ addTest(new org.apache.axiom.ts.om.element.TestGetTextBinary(metaFactory, false));
+ addTest(new org.apache.axiom.ts.om.element.TestGetTextBinary(metaFactory, true));
addTest(new org.apache.axiom.ts.om.element.TestGetTextWithCDATASectionChild(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetTextWithMixedOMTextChildren(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderCDATAEventFromElement(metaFactory));
@@ -434,6 +438,7 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.element.sr.TestGetNamespaceContext(metaFactory, true));
addTest(new org.apache.axiom.ts.om.element.sr.TestGetNamespaceContext(metaFactory, false));
addTest(new org.apache.axiom.ts.om.element.sr.TestNextTag(metaFactory));
+ addTest(new org.apache.axiom.ts.om.entref.TestSerialize(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMAttributeGeneratedPrefix(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMAttributeInterfaces(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMAttributeNullPrefixNoNamespace(metaFactory));
@@ -477,7 +482,8 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMNamespaceWithNullURI(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMProcessingInstructionWithoutParent(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMText(metaFactory));
- addTest(new org.apache.axiom.ts.om.factory.TestCreateOMTextFromDataHandlerProvider(metaFactory));
+ addTest(new org.apache.axiom.ts.om.factory.TestCreateOMTextFromDataHandlerProvider(metaFactory, false));
+ addTest(new org.apache.axiom.ts.om.factory.TestCreateOMTextFromDataHandlerProvider(metaFactory, true));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMTextFromOMText(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestCreateOMTextWithNullParent(metaFactory));
addTest(new org.apache.axiom.ts.om.factory.TestFactoryIsSingleton(metaFactory));
@@ -608,6 +614,7 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.sourcedelement.sr.TestCloseWithoutCaching(metaFactory, events));
}
addTest(new org.apache.axiom.ts.om.pi.TestDigest(metaFactory));
+ addTest(new org.apache.axiom.ts.om.pi.TestSerialize(metaFactory));
addTest(new org.apache.axiom.ts.om.text.TestBase64StreamingWithGetSAXSource(metaFactory));
addTest(new org.apache.axiom.ts.om.text.TestBase64StreamingWithSerialize(metaFactory));
addTest(new org.apache.axiom.ts.om.text.TestCloneBinary(metaFactory, false));
@@ -616,6 +623,9 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.text.TestGetNamespace(metaFactory));
addTest(new org.apache.axiom.ts.om.text.TestGetNamespaceNoNamespace(metaFactory));
addTest(new org.apache.axiom.ts.om.text.TestGetTextCharactersFromDataHandler(metaFactory));
+ addTest(new org.apache.axiom.ts.om.text.TestSerialize(metaFactory, OMNode.TEXT_NODE));
+ addTest(new org.apache.axiom.ts.om.text.TestSerialize(metaFactory, OMNode.SPACE_NODE));
+ addTest(new org.apache.axiom.ts.om.text.TestSerialize(metaFactory, OMNode.CDATA_SECTION_NODE));
addTest(new org.apache.axiom.ts.om.xop.TestSerialize(metaFactory, false));
addTest(new org.apache.axiom.ts.om.xop.TestSerialize(metaFactory, true));
addTest(new org.apache.axiom.ts.om.xop.TestSetOptimize(metaFactory, false));
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetTextBinary.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetTextBinary.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetTextBinary.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetTextBinary.java Fri Feb 26 18:21:15 2016
@@ -27,6 +27,7 @@ import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.OMXMLBuilderFactory;
import org.apache.axiom.testutils.activation.RandomDataSource;
import org.apache.axiom.testutils.io.IOTestUtils;
import org.apache.axiom.ts.AxiomTestCase;
@@ -37,8 +38,12 @@ import org.apache.commons.codec.binary.B
* an element that has an {@link OMText} child constructed from a {@link DataHandler}.
*/
public class TestGetTextBinary extends AxiomTestCase {
- public TestGetTextBinary(OMMetaFactory metaFactory) {
+ private final boolean compact;
+
+ public TestGetTextBinary(OMMetaFactory metaFactory, boolean compact) {
super(metaFactory);
+ this.compact = compact;
+ addTestParameter("compact", compact);
}
@Override
@@ -47,6 +52,11 @@ public class TestGetTextBinary extends A
DataSource ds = new RandomDataSource(99999, 1000);
OMElement element = factory.createOMElement("elem", null);
element.addChild(factory.createOMText(new DataHandler(ds), false));
+ if (compact) {
+ // Only the builder can create a compact element containing a DataHandler
+ element = OMXMLBuilderFactory.createStAXOMBuilder(factory, element.getXMLStreamReader()).getDocumentElement();
+ element.build();
+ }
IOTestUtils.compareStreams(ds.getInputStream(),
new ByteArrayInputStream(Base64.decodeBase64(element.getText())));
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMTextFromDataHandlerProvider.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMTextFromDataHandlerProvider.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMTextFromDataHandlerProvider.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMTextFromDataHandlerProvider.java Fri Feb 26 18:21:15 2016
@@ -18,6 +18,8 @@
*/
package org.apache.axiom.ts.om.factory;
+import static com.google.common.truth.Truth.assertThat;
+
import javax.activation.DataHandler;
import org.apache.axiom.ext.stax.datahandler.DataHandlerProvider;
@@ -25,6 +27,7 @@ import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMText;
import org.apache.axiom.ts.AxiomTestCase;
+import org.apache.axiom.util.UIDGenerator;
public class TestCreateOMTextFromDataHandlerProvider extends AxiomTestCase {
static class TestDataHandlerProvider implements DataHandlerProvider {
@@ -46,16 +49,26 @@ public class TestCreateOMTextFromDataHan
}
}
- public TestCreateOMTextFromDataHandlerProvider(OMMetaFactory metaFactory) {
+ private final boolean nullContentID;
+
+ public TestCreateOMTextFromDataHandlerProvider(OMMetaFactory metaFactory, boolean nullContentID) {
super(metaFactory);
+ this.nullContentID = nullContentID;
+ addTestParameter("nullContentId", nullContentID);
}
protected void runTest() throws Throwable {
TestDataHandlerProvider prov = new TestDataHandlerProvider();
OMFactory factory = metaFactory.getOMFactory();
- OMText text = factory.createOMText(null, prov, true);
+ String contentID = nullContentID ? null : UIDGenerator.generateContentId();
+ OMText text = factory.createOMText(contentID, prov, true);
assertFalse(prov.isDataHandlerCreated());
assertEquals(text.getDataHandler().getContent(), "Data");
assertTrue(prov.isDataHandlerCreated());
+ if (contentID == null) {
+ assertThat(text.getContentID()).isNotNull();
+ } else {
+ assertThat(text.getContentID()).isEqualTo(contentID);
+ }
}
}
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestDetach.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestDetach.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestDetach.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/sourcedelement/TestDetach.java Fri Feb 26 18:21:15 2016
@@ -47,7 +47,7 @@ public class TestDetach extends AxiomTes
protected void runTest() throws Throwable {
OMFactory factory = metaFactory.getOMFactory();
String xml1 = "<root><a/><b/></root>";
- String xml2 = "<child>test</child>";
+ String xml2 = "<child><c/><d/></child>";
OMElement parent = OMXMLBuilderFactory.createOMBuilder(factory, new StringReader(xml1)).getDocumentElement();
PullOMDataSource ds = new PullOMDataSource(xml2);
OMSourcedElement omse = factory.createOMElement(ds, "child", null);
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/soap/message/TestSerialize.java Fri Feb 26 18:21:15 2016
@@ -52,7 +52,6 @@ public class TestSerialize extends Axiom
assertAbout(xml())
.that(serializationStrategy.serialize(soapMessage).getInputSource())
.ignoringRedundantNamespaceDeclarations()
- .ignoringPrologAndEpilog() // TODO: why???
.hasSameContentAs(message.getInputStream());
soapMessage.close(false);
}
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/
------------------------------------------------------------------------------
--- svn:auto-props (added)
+++ svn:auto-props Fri Feb 26 18:21:15 2016
@@ -0,0 +1 @@
+*.xml = svn:eol-style=LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIOM-124.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Modified: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml?rev=1732530&r1=1732529&r2=1732530&view=diff
==============================================================================
--- webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml (original)
+++ webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml Fri Feb 26 18:21:15 2016
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<foo xmlns:e="http://opensource.lk">
- <bar1 b:attr="test attr value1" xmlns:b="http://opensource.lk/ns1">test1</bar1>
- <bar2 b:attr="test attr value2" xmlns:b="http://opensource.lk/ns1">test2</bar2>
+<?xml version='1.0' encoding='UTF-8'?>
+<foo xmlns:e="http://opensource.lk">
+ <bar1 b:attr="test attr value1" xmlns:b="http://opensource.lk/ns1">test1</bar1>
+ <bar2 b:attr="test attr value2" xmlns:b="http://opensource.lk/ns1">test2</bar2>
</foo>
\ No newline at end of file
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-192.xml
------------------------------------------------------------------------------
svn:eol-style = LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/AXIS2-565.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/cdata.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/default-namespace.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/dtd.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-external-subset.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-internal-subset.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/entity-reference-with-markup.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/iso-8859-1.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/many-attributes.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/masked-namespace-declaration.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF
Propchange: webservices/axiom/branches/maven-site-plugin-3.5/testing/xml-testsuite/src/main/resources/org/apache/axiom/ts/xml/bulk/namespaces.xml
------------------------------------------------------------------------------
--- svn:eol-style (original)
+++ svn:eol-style Fri Feb 26 18:21:15 2016
@@ -1 +1 @@
-native
+LF