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/21 17:58:48 UTC
svn commit: r1731542 - in /webservices/axiom/trunk:
aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/
implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/
Author: veithen
Date: Sun Feb 21 16:58:47 2016
New Revision: 1731542
URL: http://svn.apache.org/viewvc?rev=1731542&view=rev
Log:
No need to instantiate the full serializer chain to implement OMSerializable#serialize(XMLStreamWriter) for leaf nodes.
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj
webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCDATASectionSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,6 +18,9 @@
*/
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;
@@ -37,5 +40,13 @@ public aspect AxiomCDATASectionSupport {
} catch (CoreModelException ex) {
throw AxiomExceptionTranslator.translate(ex);
}
+ }
+
+ public final void AxiomCDATASection.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ writer.writeCData(coreGetCharacterData().toString());
+ } catch (CoreModelException ex) {
+ throw AxiomExceptionTranslator.translate(ex);
+ }
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCharacterDataNodeSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,6 +18,9 @@
*/
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;
@@ -32,4 +35,8 @@ public aspect AxiomCharacterDataNodeSupp
public final void AxiomCharacterDataNode.internalSerialize(XmlHandler handler, OMOutputFormat format, boolean cache) throws StreamException {
handler.processCharacterData(coreGetCharacterData(), coreIsIgnorable());
}
+
+ public final void AxiomCharacterDataNode.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ writer.writeCharacters(coreGetCharacterData().toString());
+ }
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCommentSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,6 +18,9 @@
*/
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;
@@ -50,6 +53,14 @@ public aspect AxiomCommentSupport {
} catch (CoreModelException ex) {
throw AxiomExceptionTranslator.translate(ex);
}
+ }
+
+ public final void AxiomComment.serialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ try {
+ writer.writeComment(coreGetCharacterData().toString());
+ } catch (CoreModelException ex) {
+ throw AxiomExceptionTranslator.translate(ex);
+ }
}
public final void AxiomComment.buildWithAttachments() {
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj Sun Feb 21 16:58:47 2016
@@ -263,6 +263,19 @@ public aspect AxiomContainerSupport {
return result;
}
+ 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(new StAXSerializer(writer).buildHandler(this), writer.getOutputFormat(), cache);
+ } catch (StreamException ex) {
+ throw AxiomExceptionTranslator.toXMLStreamException(ex);
+ }
+ writer.flush();
+ }
+
public final void AxiomContainer.serialize(OutputStream output) throws XMLStreamException {
serialize(output, new OMOutputFormat());
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomDocTypeSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,9 +18,14 @@
*/
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 {
@@ -35,6 +40,14 @@ public aspect AxiomDocTypeSupport {
public final void AxiomDocType.internalSerialize(XmlHandler handler, OMOutputFormat format, 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), null, cache);
+ } catch (StreamException ex) {
+ throw AxiomExceptionTranslator.toXMLStreamException(ex);
+ }
+ }
public final void AxiomDocType.buildWithAttachments() {
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomEntityReferenceSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,6 +18,9 @@
*/
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;
@@ -33,6 +36,10 @@ public aspect AxiomEntityReferenceSuppor
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/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomProcessingInstructionSupport.aj Sun Feb 21 16:58:47 2016
@@ -18,6 +18,9 @@
*/
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;
@@ -53,6 +56,14 @@ public aspect AxiomProcessingInstruction
} 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/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSerializableSupport.aj Sun Feb 21 16:58:47 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/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java?rev=1731542&r1=1731541&r2=1731542&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java (original)
+++ webservices/axiom/trunk/implementations/fom-impl/src/main/java/org/apache/abdera/parser/stax/FOMDiv.java Sun Feb 21 16:58:47 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) {
}