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/05/05 15:41:29 UTC

svn commit: r1742440 - in /webservices/axiom/trunk: axiom-api/pom.xml axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java

Author: veithen
Date: Thu May  5 15:41:29 2016
New Revision: 1742440

URL: http://svn.apache.org/viewvc?rev=1742440&view=rev
Log:
Avoid instantiations of MTOMXMLStreamWriter outside of om-aspects.

Modified:
    webservices/axiom/trunk/axiom-api/pom.xml
    webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java
    webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java

Modified: webservices/axiom/trunk/axiom-api/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/pom.xml?rev=1742440&r1=1742439&r2=1742440&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/pom.xml (original)
+++ webservices/axiom/trunk/axiom-api/pom.xml Thu May  5 15:41:29 2016
@@ -321,7 +321,6 @@
                                 org.apache.axiom.om.OMOutputFormat -> org.apache.axiom.om.util.XMLStreamWriterFilter,
                                 org.apache.axiom.om.impl.MTOMXMLStreamWriter -> org.apache.axiom.om.util.XMLStreamWriterFilter,
                                 <!-- StAXUtils is in the wrong package (should be o.a.a.util.stax) -->
-                                org.apache.axiom.om.ds.AbstractOMDataSource -> org.apache.axiom.om.util.StAXUtils,
                                 org.apache.axiom.om.ds.AbstractPushOMDataSource -> org.apache.axiom.om.util.StAXUtils,
                                 org.apache.axiom.om.ds.BlobOMDataSource -> org.apache.axiom.om.util.StAXUtils,
                                 org.apache.axiom.om.ds.StringOMDataSource -> org.apache.axiom.om.util.StAXUtils,

Modified: webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java?rev=1742440&r1=1742439&r2=1742440&view=diff
==============================================================================
--- webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java (original)
+++ webservices/axiom/trunk/axiom-api/src/main/java/org/apache/axiom/om/ds/AbstractOMDataSource.java Thu May  5 15:41:29 2016
@@ -31,12 +31,11 @@ import javax.xml.stream.XMLStreamExcepti
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
+import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
-import org.apache.axiom.om.util.StAXUtils;
 
 /**
  * Base class for {@link OMDataSourceExt} implementations. This class should only be used by data
@@ -62,18 +61,14 @@ public abstract class AbstractOMDataSour
         return properties.put(key, value);
     }
 
+    // Note: this method is never executed by Axiom itself
     public final void serialize(OutputStream out, OMOutputFormat format) throws XMLStreamException {
-        XMLStreamWriter writer = new MTOMXMLStreamWriter(out, format);
-        serialize(writer);
-        writer.flush();
+        OMAbstractFactory.getOMFactory().createOMElement(this).serializeAndConsume(out, format);
     }
 
+    // Note: this method is never executed by Axiom itself
     public final void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException {
-        MTOMXMLStreamWriter xmlWriter =
-            new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer));
-        xmlWriter.setOutputFormat(format);
-        serialize(xmlWriter);
-        xmlWriter.flush();
+        OMAbstractFactory.getOMFactory().createOMElement(this).serializeAndConsume(writer, format);
     }
 
     public final byte[] getXMLBytes(String encoding) throws UnsupportedEncodingException {

Modified: webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java?rev=1742440&r1=1742439&r2=1742440&view=diff
==============================================================================
--- webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java (original)
+++ webservices/axiom/trunk/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/xop/TestSerialize.java Thu May  5 15:41:29 2016
@@ -27,7 +27,6 @@ import org.apache.axiom.om.OMMetaFactory
 import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMXMLBuilderFactory;
 import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
 import org.apache.axiom.om.util.StAXParserConfiguration;
 import org.apache.axiom.ts.AxiomTestCase;
 import org.apache.axiom.ts.soap.MTOMSample;
@@ -59,12 +58,11 @@ public class TestSerialize extends Axiom
         
         // Write out the message
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(baos, oof);
         
         OMXMLParserWrapper builder =
             OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), StAXParserConfiguration.DEFAULT, attachments);
         OMElement om = builder.getDocumentElement();
-        om.serialize(writer);
+        om.serialize(baos, oof);
         om.close(false);
         String out = baos.toString();