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()) {