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 2015/06/22 00:14:38 UTC

svn commit: r1686756 - in /webservices/axiom/trunk: aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/ implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ implementations/axiom-impl/src/main/java/org/apache/axiom/om/imp...

Author: veithen
Date: Sun Jun 21 22:14:38 2015
New Revision: 1686756

URL: http://svn.apache.org/r1686756
Log:
Simplify the OMElement serialization code.

Modified:
    webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
    webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
    webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java

Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj?rev=1686756&r1=1686755&r2=1686756&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomElementSupport.aj Sun Jun 21 22:14:38 2015
@@ -21,6 +21,7 @@ package org.apache.axiom.om.impl.common;
 import java.io.IOException;
 import java.io.Reader;
 import java.io.StringReader;
+import java.io.StringWriter;
 import java.io.Writer;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -30,6 +31,7 @@ import javax.xml.namespace.NamespaceCont
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
 
 import org.apache.axiom.core.AttributeMatcher;
 import org.apache.axiom.core.CoreAttribute;
@@ -44,11 +46,15 @@ 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.builder.StAXOMBuilder;
 import org.apache.axiom.om.impl.common.factory.AxiomNodeFactory;
+import org.apache.axiom.om.impl.common.serializer.push.OutputException;
+import org.apache.axiom.om.impl.common.serializer.push.Serializer;
 import org.apache.axiom.om.impl.util.OMSerializerUtil;
+import org.apache.axiom.om.util.StAXUtils;
 import org.apache.axiom.util.namespace.MapBasedNamespaceContext;
 import org.apache.axiom.util.stax.XMLStreamReaderUtils;
 import org.apache.commons.logging.Log;
@@ -532,4 +538,27 @@ public aspect AxiomElementSupport {
     public final OMNamespace AxiomElement.getDefaultNamespace() {
         return findNamespaceURI("");
     }
+
+    public void AxiomElement.internalSerialize(Serializer serializer, OMOutputFormat format,
+            boolean cache) throws OutputException {
+        serializer.serializeStartpart(this);
+        serializer.serializeChildren(this, format, cache);
+        serializer.writeEndElement();
+    }
+
+    public final String AxiomElement.toStringWithConsume() throws XMLStreamException {
+        StringWriter sw = new StringWriter();
+        serializeAndConsume(sw);
+        return sw.toString();
+    }
+
+    public final String AxiomElement.toString() {
+        StringWriter sw = new StringWriter();
+        try {
+            serialize(sw);
+        } catch (XMLStreamException ex) {
+            throw new OMException("Failed to serialize node", ex);
+        }
+        return sw.toString();
+    }
 }

Modified: webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java?rev=1686756&r1=1686755&r2=1686756&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java Sun Jun 21 22:14:38 2015
@@ -34,20 +34,14 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.common.AxiomContainer;
 import org.apache.axiom.om.impl.common.AxiomElement;
-import org.apache.axiom.om.impl.common.serializer.push.OutputException;
-import org.apache.axiom.om.impl.common.serializer.push.Serializer;
 import org.apache.axiom.om.impl.util.OMSerializerUtil;
 import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.NamedNodeMap;
 
-import javax.xml.stream.XMLStreamException;
-
-import java.io.ByteArrayOutputStream;
 import java.util.Iterator;
 
 /** Implementation of the org.w3c.dom.Element and org.apache.axiom.om.Element interfaces. */
@@ -123,36 +117,6 @@ public class ElementImpl extends ParentN
         setNamespace(namespace, true);
     }
 
-    public void internalSerialize(Serializer serializer,
-                                     OMOutputFormat format, boolean cache) throws OutputException {
-
-        serializer.serializeStartpart(this);
-        serializer.serializeChildren(this, format, cache);
-        serializer.writeEndElement();
-    }
-
-    public String toStringWithConsume() throws XMLStreamException {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        this.serializeAndConsume(baos);
-        return new String(baos.toByteArray());
-    }
-
-    /**
-     * Overridden toString() for ease of debugging.
-     *
-     * @see Object#toString()
-     */
-    public String toString() {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try {
-//            this.build();
-            this.serialize(baos);
-        } catch (XMLStreamException e) {
-            throw new RuntimeException("Can not serialize OM Element " + this.getLocalName(), e);
-        }
-        return new String(baos.toByteArray());
-    }
-
     public OMElement cloneOMElement() {
         return (OMElement)clone(new OMCloneOptions());
     }

Modified: webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java?rev=1686756&r1=1686755&r2=1686756&view=diff
==============================================================================
--- webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java Sun Jun 21 22:14:38 2015
@@ -28,22 +28,15 @@ import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
 import org.apache.axiom.om.OMXMLParserWrapper;
 import org.apache.axiom.om.impl.common.AxiomContainer;
 import org.apache.axiom.om.impl.common.AxiomElement;
-import org.apache.axiom.om.impl.common.serializer.push.OutputException;
-import org.apache.axiom.om.impl.common.serializer.push.Serializer;
 import org.apache.axiom.om.impl.util.OMSerializerUtil;
-import org.apache.axiom.om.util.StAXUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
 
-import java.io.StringWriter;
 import java.util.Iterator;
 
 /** Class OMElementImpl */
@@ -159,49 +152,10 @@ public class OMElementImpl extends OMNod
 ///////////////////////////////////////////////////////////////////////////////////////////////
 //////////////////////////////////////////////////////////////////////////////////////////////
 
-    public void internalSerialize(Serializer serializer, OMOutputFormat format, boolean cache)
-            throws OutputException {
-
-        serializer.serializeStartpart(this);
-        serializer.serializeChildren(this, format, cache);
-        serializer.writeEndElement();
-    }
-
-////////////////////////////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////////////////////////////
-
     public void setNamespace(OMNamespace namespace) {
         setNamespace(namespace, true);
     }
 
-    public final String toStringWithConsume() throws XMLStreamException {
-        StringWriter writer = new StringWriter();
-        XMLStreamWriter writer2 = StAXUtils.createXMLStreamWriter(writer);
-        try {
-            this.serializeAndConsume(writer2);
-            writer2.flush();
-        } finally {
-            writer2.close();
-        }
-        return writer.toString();
-    }
-
-    public final String toString() {
-        StringWriter writer = new StringWriter();
-        try {
-            XMLStreamWriter writer2 = StAXUtils.createXMLStreamWriter(writer);
-            try {
-                this.serialize(writer2);
-                writer2.flush();
-            } finally {
-                writer2.close();
-            }
-        } catch (XMLStreamException e) {
-            throw new RuntimeException("Can not serialize OM Element " + this.getLocalName(), e);
-        }
-        return writer.toString();
-    }
-
     public final OMElement cloneOMElement() {
         
         if (log.isDebugEnabled()) {