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 2013/01/26 22:38:57 UTC
svn commit: r1438968 - in /webservices/axiom/trunk/modules:
axiom-api/src/main/java/org/apache/axiom/om/impl/
axiom-api/src/main/java/org/apache/axiom/om/impl/util/
axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/
axiom-dom/src/main/jav...
Author: veithen
Date: Sat Jan 26 21:38:57 2013
New Revision: 1438968
URL: http://svn.apache.org/viewvc?rev=1438968&view=rev
Log:
Started refactoring of the serialization code (to simplify the code and eventually be able to implement AXIOM-288).
Added:
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java (with props)
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/StAXSerializer.java
- copied, changed from r1438949, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
Modified:
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMNodeEx.java
webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IChildNode.java
webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMDocumentHelper.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentTypeImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPMessageImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocTypeImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.java
webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMAttributeNullPrefixNoNamespace.java
Modified: webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMNodeEx.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMNodeEx.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMNodeEx.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMNodeEx.java Sat Jan 26 21:38:57 2013
@@ -21,10 +21,6 @@ package org.apache.axiom.om.impl;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMSerializable;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
/**
* Interface that is used internally by Axiom and that should not be considered being part of the
@@ -40,18 +36,6 @@ public interface OMNodeEx extends OMNode
public void setComplete(boolean state);
/**
- * Serializes the node. Note that this is an internal method that MUST NOT be used outside of
- * Axiom. Please use {@link OMSerializable#serialize(XMLStreamWriter, boolean)} instead.
- *
- * @param writer
- * @param cache indicates if caching should be enabled
- * @throws javax.xml.stream.XMLStreamException
- *
- */
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
- throws XMLStreamException;
-
- /**
* Get the next sibling if it is available. The sibling is available if it is complete or
* if the builder has started building the node. In the latter case,
* {@link OMNode#isComplete()} may return <code>false</code> when called on the sibling.
Modified: webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java (original)
+++ webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java Sat Jan 26 21:38:57 2013
@@ -52,7 +52,7 @@ public class OMSerializerUtil {
*
* @param writer
* @throws javax.xml.stream.XMLStreamException
- *
+ * @deprecated This is an internal method that is no longer used.
*/
public static void serializeEndpart(XMLStreamWriter writer)
throws XMLStreamException {
@@ -164,6 +164,7 @@ public class OMSerializerUtil {
* @param element
* @param writer
* @throws XMLStreamException
+ * @deprecated This is an internal method that is no longer used.
*/
public static void serializeStartpart(OMElement element,
XMLStreamWriter writer) throws XMLStreamException {
@@ -177,6 +178,7 @@ public class OMSerializerUtil {
* @param localName (in some cases, the caller wants to force a different localName)
* @param writer
* @throws XMLStreamException
+ * @deprecated This is an internal method that is no longer used.
*/
public static void serializeStartpart(OMElement element, String localName,
XMLStreamWriter writer)
@@ -545,6 +547,9 @@ public class OMSerializerUtil {
serializeByPullStream(element, writer, false);
}
+ /**
+ * @deprecated This is an internal method that is no longer used.
+ */
public static void serializeByPullStream
(OMElement
element, XMLStreamWriter writer, boolean cache) throws XMLStreamException {
@@ -556,26 +561,29 @@ public class OMSerializerUtil {
}
}
+ /**
+ * @deprecated This is an internal method that is no longer used.
+ */
public static void serializeChildren(OMContainer container, XMLStreamWriter writer,
boolean cache) throws XMLStreamException {
if (cache) {
- OMNodeEx child = (OMNodeEx)container.getFirstOMChild();
+ OMNode child = container.getFirstOMChild();
while (child != null) {
- child.internalSerialize(writer, true);
- child = (OMNodeEx)child.getNextOMSibling();
+ child.serialize(writer, true);
+ child = child.getNextOMSibling();
}
} else {
- OMNodeEx child = (OMNodeEx)container.getFirstOMChild();
+ OMNode child = (OMNodeEx)container.getFirstOMChild();
while (child != null) {
if ((!(child instanceof OMElement)) || child.isComplete() ||
((OMElement)child).getBuilder() == null) {
- child.internalSerialize(writer, false);
+ child.serialize(writer, false);
} else {
OMElement element = (OMElement) child;
element.getBuilder().setCache(false);
serializeByPullStream(element, writer, cache);
}
- child = (OMNodeEx)child.getNextOMSiblingIfAvailable();
+ child = ((OMNodeEx)child).getNextOMSiblingIfAvailable();
}
}
}
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IChildNode.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IChildNode.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IChildNode.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/IChildNode.java Sat Jan 26 21:38:57 2013
@@ -20,6 +20,6 @@ package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.impl.OMNodeEx;
-public interface IChildNode extends OMNodeEx {
+public interface IChildNode extends OMNodeEx, ISerializable {
IParentNode getIParentNode();
}
Added: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java?rev=1438968&view=auto
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java (added)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java Sat Jan 26 21:38:57 2013
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axiom.om.impl.common;
+
+import javax.xml.stream.XMLStreamException;
+
+import org.apache.axiom.om.OMSerializable;
+
+public interface ISerializable extends OMSerializable {
+ /**
+ * Serializes the node.
+ *
+ * @param serializer
+ * @param cache indicates if caching should be enabled
+ * @throws XMLStreamException
+ *
+ */
+ void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException;
+}
Propchange: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/ISerializable.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMDocumentHelper.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMDocumentHelper.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMDocumentHelper.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/OMDocumentHelper.java Sat Jan 26 21:38:57 2013
@@ -21,12 +21,10 @@ package org.apache.axiom.om.impl.common;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.serialize.StreamingOMSerializer;
-import org.apache.axiom.om.impl.util.OMSerializerUtil;
/**
* Utility class with default implementations for some of the methods defined by the
@@ -35,10 +33,10 @@ import org.apache.axiom.om.impl.util.OMS
public class OMDocumentHelper {
private OMDocumentHelper() {}
- public static void internalSerialize(OMDocument document, XMLStreamWriter writer2,
+ public static void internalSerialize(OMDocument document, StAXSerializer serializer,
boolean cache, boolean includeXMLDeclaration) throws XMLStreamException {
- MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter) writer2;
+ MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter)serializer.getWriter();
if (includeXMLDeclaration) {
//Check whether the OMOutput char encoding and OMDocument char
//encoding matches, if not use char encoding of OMOutput
@@ -58,7 +56,7 @@ public class OMDocumentHelper {
}
if (cache || document.isComplete() || document.getBuilder() == null) {
- OMSerializerUtil.serializeChildren(document, writer, cache);
+ serializer.serializeChildren(document, cache);
} else {
StreamingOMSerializer streamingOMSerializer = new StreamingOMSerializer();
XMLStreamReader reader = document.getXMLStreamReaderWithoutCaching();
Copied: webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/StAXSerializer.java (from r1438949, webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java)
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/StAXSerializer.java?p2=webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/StAXSerializer.java&p1=webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java&r1=1438949&r2=1438968&rev=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/util/OMSerializerUtil.java (original)
+++ webservices/axiom/trunk/modules/axiom-common-impl/src/main/java/org/apache/axiom/om/impl/common/StAXSerializer.java Sat Jan 26 21:38:57 2013
@@ -16,17 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-
-package org.apache.axiom.om.impl.util;
+package org.apache.axiom.om.impl.common;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMContainer;
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.OMConstants;
-import org.apache.axiom.om.impl.OMNodeEx;
import org.apache.axiom.om.impl.serialize.StreamingOMSerializer;
import org.apache.axiom.om.util.CommonUtils;
import org.apache.commons.logging.Log;
@@ -39,135 +36,43 @@ import javax.xml.stream.XMLStreamWriter;
import java.util.ArrayList;
import java.util.Iterator;
-public class OMSerializerUtil {
- private static final Log log = LogFactory.getLog(OMSerializerUtil.class);
+public class StAXSerializer {
+ private static final Log log = LogFactory.getLog(StAXSerializer.class);
private static boolean ADV_DEBUG_ENABLED = true;
static long nsCounter = 0;
private static final String XSI_URI = "http://www.w3.org/2001/XMLSchema-instance";
private static final String XSI_LOCAL_NAME = "type";
- /**
- * Method serializeEndpart.
- *
- * @param writer
- * @throws javax.xml.stream.XMLStreamException
- *
- */
- public static void serializeEndpart(XMLStreamWriter writer)
- throws XMLStreamException {
- writer.writeEndElement();
+
+ private final XMLStreamWriter writer;
+
+ public StAXSerializer(XMLStreamWriter writer) {
+ this.writer = writer;
}
- /**
- * Method serializeAttribute.
- *
- * @param attr
- * @param writer
- * @throws XMLStreamException
- * @deprecated use serializeStartpart instead
- */
- public static void serializeAttribute(OMAttribute attr, XMLStreamWriter writer)
- throws XMLStreamException {
-
- // first check whether the attribute is associated with a namespace
- OMNamespace ns = attr.getNamespace();
- String prefix = null;
- String namespaceName = null;
- if (ns != null) {
-
- // add the prefix if it's availble
- prefix = ns.getPrefix();
- namespaceName = ns.getNamespaceURI();
- if (prefix != null) {
- writer.writeAttribute(prefix, namespaceName,
- attr.getLocalName(), attr.getAttributeValue());
- } else {
- writer.writeAttribute(namespaceName, attr.getLocalName(),
- attr.getAttributeValue());
- }
- } else {
- String localName = attr.getLocalName();
- String attributeValue = attr.getAttributeValue();
- writer.writeAttribute(localName, attributeValue);
- }
+ public XMLStreamWriter getWriter() {
+ return writer;
}
/**
- * Method serializeNamespace.
+ * Method serializeEndpart.
+ *
+ * @throws javax.xml.stream.XMLStreamException
*
- * @param namespace
- * @param writer
- * @throws XMLStreamException
- * @deprecated Use serializeStartpart instead
- */
- public static void serializeNamespace(OMNamespace namespace, XMLStreamWriter writer)
- throws XMLStreamException {
- if (namespace == null) {
- return;
- }
- String uri = namespace.getNamespaceURI();
- String prefix = namespace.getPrefix();
-
- if (uri != null && !"".equals(uri)) {
- String prefixFromWriter = writer.getPrefix(uri);
-
- // Handling Default Namespaces First
- // Case 1 :
- // here we are trying define a default namespace. But has this been defined in the current context.
- // yes, there can be a default namespace, but it may have a different URI. If its a different URI
- // then explicitly define the default namespace here.
- // Case 2 :
- // The passed in namespace is a default ns, but there is a non-default ns declared
- // in the current scope.
- if (("".equals(prefix) && "".equals(prefixFromWriter) &&
- !uri.equals(writer.getNamespaceContext().getNamespaceURI(""))) ||
- (prefix != null && "".equals(prefix) &&
- (prefixFromWriter == null || !prefix.equals(prefixFromWriter)))) {
- // this has not been declared earlier
- writer.writeDefaultNamespace(uri);
- writer.setDefaultNamespace(uri);
- } else {
- prefix = prefix == null ? getNextNSPrefix(writer) : prefix;
- if (prefix != null && !prefix.equals(prefixFromWriter) &&
- !checkForPrefixInTheCurrentContext(writer, uri, prefix)) {
- writer.writeNamespace(prefix, uri);
- writer.setPrefix(prefix, uri);
- }
- }
- } else {
- // now the nsURI passed is "" or null. Meaning we gonna work with defaultNS.
- // check whether there is a defaultNS already declared. If yes, is it the same as this ?
- String currentDefaultNSURI = writer.getNamespaceContext().getNamespaceURI("");
- if ((currentDefaultNSURI != null && !currentDefaultNSURI.equals(uri)) ||
- uri != null && !uri.equals(currentDefaultNSURI)) {
- // this has not been declared earlier
- writer.writeDefaultNamespace(uri);
- writer.setDefaultNamespace(uri);
- }
- }
- }
-
- /**
- * @deprecated This method was used to work around a StAX conformance issue in early versions
- * of the XL XP-J parser. This is now handled by
- * {@link org.apache.axiom.util.stax.dialect.StAXDialect}, and this method always returns
- * <code>false</code>.
*/
- public static boolean isSetPrefixBeforeStartElement(XMLStreamWriter writer) {
- return false;
+ public void serializeEndpart() throws XMLStreamException {
+ writer.writeEndElement();
}
/**
* Method serializeStartpart. Serialize the start tag of an element.
*
* @param element
- * @param writer
* @throws XMLStreamException
*/
- public static void serializeStartpart(OMElement element,
- XMLStreamWriter writer) throws XMLStreamException {
- serializeStartpart(element, element.getLocalName(), writer);
+ public void serializeStartpart(OMElement element) throws XMLStreamException {
+ serializeStartpart(element, element.getLocalName());
}
/**
@@ -175,11 +80,9 @@ public class OMSerializerUtil {
*
* @param element
* @param localName (in some cases, the caller wants to force a different localName)
- * @param writer
* @throws XMLStreamException
*/
- public static void serializeStartpart(OMElement element, String localName,
- XMLStreamWriter writer)
+ public void serializeStartpart(OMElement element, String localName)
throws XMLStreamException {
// Note: To serialize the start tag, we must follow the order dictated by the JSR-173 (StAX) specification.
@@ -211,7 +114,7 @@ public class OMSerializerUtil {
if (eNamespace != null) {
if (ePrefix == null) {
- if (!isAssociated("", eNamespace, writer)) {
+ if (!isAssociated("", eNamespace)) {
if (writePrefixList == null) {
writePrefixList = new ArrayList();
writeNSList = new ArrayList();
@@ -227,7 +130,7 @@ public class OMSerializerUtil {
* If XMLStreamWriter.writeStartElement(prefix,localName,namespaceURI) associates
* the prefix with the namespace ..
*/
- if (!isAssociated(ePrefix, eNamespace, writer)) {
+ if (!isAssociated(ePrefix, eNamespace)) {
if (writePrefixList == null) {
writePrefixList = new ArrayList();
writeNSList = new ArrayList();
@@ -258,7 +161,7 @@ public class OMSerializerUtil {
namespace = (namespace != null && namespace.length() == 0) ? null : namespace;
- String newPrefix = generateSetPrefix(prefix, namespace, writer, false);
+ String newPrefix = generateSetPrefix(prefix, namespace, false);
// If this is a new association, remember it so that it can written out later
if (newPrefix != null) {
if (writePrefixList == null) {
@@ -274,7 +177,7 @@ public class OMSerializerUtil {
// Generate setPrefix for the element
// Get the prefix and namespace of the element. "" and null are identical.
- String newPrefix = generateSetPrefix(ePrefix, eNamespace, writer, false);
+ String newPrefix = generateSetPrefix(ePrefix, eNamespace, false);
// If this is a new association, remember it so that it can written out later
if (newPrefix != null) {
if (writePrefixList == null) {
@@ -309,7 +212,7 @@ public class OMSerializerUtil {
prefix = (writerPrefix != null) ?
writerPrefix : getNextNSPrefix();
}
- newPrefix = generateSetPrefix(prefix, namespace, writer, true);
+ newPrefix = generateSetPrefix(prefix, namespace, true);
// If the prefix is not associated with a namespace yet, remember it so that we can
// write out a namespace declaration
if (newPrefix != null) {
@@ -357,7 +260,6 @@ public class OMSerializerUtil {
newPrefix = generateSetPrefix(refPrefix,
refNamespace,
- writer,
true);
// If the prefix is not associated with a namespace yet, remember it so that we can
// write out a namespace declaration
@@ -454,100 +356,7 @@ public class OMSerializerUtil {
}
}
- /**
- * @deprecated This is an internal method that is no longer used.
- */
- private static boolean checkForPrefixInTheCurrentContext(XMLStreamWriter writer,
- String nameSpaceName, String prefix)
- throws XMLStreamException {
- Iterator prefixesIter = writer.getNamespaceContext().getPrefixes(nameSpaceName);
- while (prefixesIter.hasNext()) {
- String prefix_w = (String) prefixesIter.next();
- if (prefix_w.equals(prefix)) {
- // if found do not declare the ns
- return true;
- }
- }
- return false;
- }
-
- /**
- * serializeNamespaces
- *
- * @param element
- * @param writer
- * @throws XMLStreamException
- * @deprecated Use serializeStartpart instead
- */
- public static void serializeNamespaces
- (OMElement
- element,
- XMLStreamWriter writer) throws XMLStreamException {
- Iterator namespaces = element.getAllDeclaredNamespaces();
- if (namespaces != null) {
- while (namespaces.hasNext()) {
- serializeNamespace((OMNamespace) namespaces.next(), writer);
- }
- }
- }
-
- /**
- * Serialize attributes
- *
- * @param element
- * @param writer
- * @throws XMLStreamException
- * @deprecated Consider using serializeStartpart instead
- */
- public static void serializeAttributes
- (OMElement
- element,
- XMLStreamWriter writer) throws XMLStreamException {
- Iterator attributes = element.getAllAttributes();
- if (attributes != null && attributes.hasNext()) {
- while (attributes.hasNext()) {
- serializeAttribute((OMAttribute) attributes.next(),
- writer);
- }
- }
- }
-
- /**
- * @deprecated This is an internal method that is no longer used.
- */
- public static void serializeNormal
- (OMElement
- element, XMLStreamWriter writer, boolean cache)
- throws XMLStreamException {
-
- if (cache) {
- element.build();
- }
-
- serializeStartpart(element, writer);
- OMNode firstChild = element.getFirstOMChild();
- if (firstChild != null) {
- if (cache) {
- (firstChild).serialize(writer);
- } else {
- (firstChild).serializeAndConsume(writer);
- }
- }
- serializeEndpart(writer);
- }
-
- /**
- * @deprecated This is an internal method that is no longer used.
- */
- public static void serializeByPullStream
- (OMElement
- element, XMLStreamWriter writer) throws XMLStreamException {
- serializeByPullStream(element, writer, false);
- }
-
- public static void serializeByPullStream
- (OMElement
- element, XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ public void serializeByPullStream(OMElement element, boolean cache) throws XMLStreamException {
XMLStreamReader reader = element.getXMLStreamReader(cache);
try {
new StreamingOMSerializer().serialize(reader, writer);
@@ -556,26 +365,25 @@ public class OMSerializerUtil {
}
}
- public static void serializeChildren(OMContainer container, XMLStreamWriter writer,
- boolean cache) throws XMLStreamException {
+ public void serializeChildren(OMContainer container, boolean cache) throws XMLStreamException {
if (cache) {
- OMNodeEx child = (OMNodeEx)container.getFirstOMChild();
+ IChildNode child = (IChildNode)container.getFirstOMChild();
while (child != null) {
- child.internalSerialize(writer, true);
- child = (OMNodeEx)child.getNextOMSibling();
+ child.internalSerialize(this, true);
+ child = (IChildNode)child.getNextOMSibling();
}
} else {
- OMNodeEx child = (OMNodeEx)container.getFirstOMChild();
+ IChildNode child = (IChildNode)container.getFirstOMChild();
while (child != null) {
if ((!(child instanceof OMElement)) || child.isComplete() ||
((OMElement)child).getBuilder() == null) {
- child.internalSerialize(writer, false);
+ child.internalSerialize(this, false);
} else {
OMElement element = (OMElement) child;
element.getBuilder().setCache(false);
- serializeByPullStream(element, writer, cache);
+ serializeByPullStream(element, cache);
}
- child = (OMNodeEx)child.getNextOMSiblingIfAvailable();
+ child = (IChildNode)child.getNextOMSiblingIfAvailable();
}
}
}
@@ -622,33 +430,19 @@ public class OMSerializerUtil {
}
/**
- * @deprecated This is an internal method that is no longer used.
- */
- public static String getNextNSPrefix(XMLStreamWriter writer) {
- String prefix = getNextNSPrefix();
- while (writer.getNamespaceContext().getNamespaceURI(prefix) != null) {
- prefix = getNextNSPrefix();
- }
-
- return prefix;
- }
-
- /**
* Generate setPrefix/setDefaultNamespace if the prefix is not associated
*
* @param prefix
* @param namespace
- * @param writer
* @param attr
* @return prefix name if a setPrefix/setDefaultNamespace is performed
*/
- public static String generateSetPrefix(String prefix, String namespace, XMLStreamWriter writer,
- boolean attr) throws XMLStreamException {
+ public String generateSetPrefix(String prefix, String namespace, boolean attr) throws XMLStreamException {
prefix = (prefix == null) ? "" : prefix;
// If the prefix and namespace are already associated, no generation is needed
- if (isAssociated(prefix, namespace, writer)) {
+ if (isAssociated(prefix, namespace)) {
return null;
}
@@ -680,11 +474,9 @@ public class OMSerializerUtil {
/**
* @param prefix
* @param namespace
- * @param writer
* @return true if the prefix is associated with the namespace in the current context
*/
- public static boolean isAssociated(String prefix, String namespace, XMLStreamWriter writer)
- throws XMLStreamException {
+ public boolean isAssociated(String prefix, String namespace) throws XMLStreamException {
// The "xml" prefix is always (implicitly) associated. Returning true here makes sure that
// we never write a declaration for the xml namespace. See AXIOM-37 for a discussion
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/AttrImpl.java Sat Jan 26 21:38:57 2013
@@ -27,6 +27,7 @@ import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.Attr;
import org.w3c.dom.DOMException;
import org.w3c.dom.Element;
@@ -37,7 +38,6 @@ import org.w3c.dom.TypeInfo;
import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
/** Implementation of <code>org.w3c.dom.Attr</code> and <code>org.apache.axiom.om.OMAttribute</code> */
public class AttrImpl extends RootNode implements OMAttribute, Attr, NamedNode {
@@ -458,7 +458,7 @@ public class AttrImpl extends RootNode i
(namespace != null ? namespace.hashCode() : 0);
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
throw new UnsupportedOperationException();
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/CommentImpl.java Sat Jan 26 21:38:57 2013
@@ -22,11 +22,11 @@ package org.apache.axiom.om.impl.dom;
import org.apache.axiom.om.OMComment;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.Comment;
import org.w3c.dom.Node;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class CommentImpl extends CharacterImpl implements Comment, OMComment {
public CommentImpl(String value, OMFactory factory) {
@@ -53,8 +53,8 @@ public class CommentImpl extends Charact
return OMNode.COMMENT_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeComment(this.textValue);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeComment(this.textValue);
}
LeafNode createClone() {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentFragmentImpl.java Sat Jan 26 21:38:57 2013
@@ -25,6 +25,7 @@ import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.common.IContainer;
import org.apache.axiom.om.impl.common.OMContainerHelper;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Node;
@@ -68,7 +69,7 @@ public class DocumentFragmentImpl extend
return "#document-fragment";
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
// TODO
throw new UnsupportedOperationException("TODO");
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java Sat Jan 26 21:38:57 2013
@@ -35,6 +35,7 @@ import org.apache.axiom.om.impl.common.I
import org.apache.axiom.om.impl.common.OMContainerHelper;
import org.apache.axiom.om.impl.common.OMDocumentHelper;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.Attr;
import org.w3c.dom.CDATASection;
import org.w3c.dom.Comment;
@@ -54,7 +55,6 @@ import org.w3c.dom.Text;
import javax.xml.XMLConstants;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Hashtable;
@@ -103,8 +103,8 @@ public class DocumentImpl extends RootNo
return null;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- internalSerialize(writer, cache, !((MTOMXMLStreamWriter) writer).isIgnoreXMLDeclaration());
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ internalSerialize(serializer, cache, !((MTOMXMLStreamWriter)serializer.getWriter()).isIgnoreXMLDeclaration());
}
// /
@@ -404,13 +404,13 @@ public class DocumentImpl extends RootNo
public void serializeAndConsume(OutputStream output, OMOutputFormat format)
throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format);
- internalSerialize(writer, false);
+ internalSerialize(new StAXSerializer(writer), false);
writer.flush();
}
public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format);
- internalSerialize(writer, true);
+ internalSerialize(new StAXSerializer(writer), true);
writer.flush();
}
@@ -569,9 +569,9 @@ public class DocumentImpl extends RootNo
setXMLVersion(version);
}
- protected void internalSerialize(XMLStreamWriter writer, boolean cache,
+ protected void internalSerialize(StAXSerializer serializer, boolean cache,
boolean includeXMLDeclaration) throws XMLStreamException {
- OMDocumentHelper.internalSerialize(this, writer, cache, includeXMLDeclaration);
+ OMDocumentHelper.internalSerialize(this, serializer, cache, includeXMLDeclaration);
}
ParentNode shallowClone(OMCloneOptions options, ParentNode targetParent, boolean namespaceRepairing) {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentTypeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentTypeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentTypeImpl.java Sat Jan 26 21:38:57 2013
@@ -20,11 +20,11 @@
package org.apache.axiom.om.impl.dom;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMDocType;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
import org.w3c.dom.DocumentType;
import org.w3c.dom.NamedNodeMap;
@@ -52,8 +52,8 @@ public class DocumentTypeImpl extends Le
return DOCUMENT_TYPE_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- XMLStreamWriterUtils.writeDTD(writer, rootName, publicId, systemId, internalSubset);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ XMLStreamWriterUtils.writeDTD(serializer.getWriter(), rootName, publicId, systemId, internalSubset);
}
public int getType() {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java Sat Jan 26 21:38:57 2013
@@ -36,6 +36,7 @@ import org.apache.axiom.om.impl.common.O
import org.apache.axiom.om.impl.common.OMElementHelper;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
import org.apache.axiom.om.impl.common.OMNodeHelper;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.traverse.OMQNameFilterIterator;
import org.apache.axiom.om.impl.traverse.OMQualifiedNameFilterIterator;
import org.apache.axiom.om.impl.util.EmptyIterator;
@@ -55,7 +56,6 @@ import javax.xml.XMLConstants;
import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.Reader;
@@ -883,15 +883,15 @@ public class ElementImpl extends ParentN
}
}
- public void internalSerialize(XMLStreamWriter writer,
+ public void internalSerialize(StAXSerializer serializer,
boolean cache) throws XMLStreamException {
if (cache || state == COMPLETE || (this.builder == null)) {
- OMSerializerUtil.serializeStartpart(this, writer);
- OMSerializerUtil.serializeChildren(this, writer, cache);
- OMSerializerUtil.serializeEndpart(writer);
+ serializer.serializeStartpart(this);
+ serializer.serializeChildren(this, cache);
+ serializer.serializeEndpart();
} else {
- OMSerializerUtil.serializeByPullStream(this, writer, cache);
+ serializer.serializeByPullStream(this, cache);
}
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java Sat Jan 26 21:38:57 2013
@@ -19,11 +19,11 @@
package org.apache.axiom.om.impl.dom;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMEntityReference;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.EntityReference;
import org.w3c.dom.Node;
@@ -41,8 +41,8 @@ public class EntityReferenceImpl extends
return OMNode.ENTITY_REFERENCE_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeEntityRef(name);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeEntityRef(name);
}
public String getName() {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/NodeImpl.java Sat Jan 26 21:38:57 2013
@@ -30,6 +30,7 @@ import org.apache.axiom.om.OMXMLParserWr
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.OMNodeEx;
import org.apache.axiom.om.impl.builder.StAXBuilder;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
import org.w3c.dom.DOMException;
@@ -744,7 +745,7 @@ public abstract class NodeImpl implement
MTOMXMLStreamWriter writer = xmlWriter instanceof MTOMXMLStreamWriter ?
(MTOMXMLStreamWriter) xmlWriter :
new MTOMXMLStreamWriter(xmlWriter);
- internalSerialize(writer, cache);
+ internalSerialize(new StAXSerializer(writer), cache);
writer.flush();
}
@@ -789,7 +790,7 @@ public abstract class NodeImpl implement
throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, true);
try {
- internalSerialize(writer, true);
+ internalSerialize(new StAXSerializer(writer), true);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -803,7 +804,7 @@ public abstract class NodeImpl implement
.createXMLStreamWriter(writer2));
writer.setOutputFormat(format);
try {
- internalSerialize(writer, true);
+ internalSerialize(new StAXSerializer(writer), true);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -815,7 +816,7 @@ public abstract class NodeImpl implement
throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, false);
try {
- internalSerialize(writer, false);
+ internalSerialize(new StAXSerializer(writer), false);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -830,16 +831,16 @@ public abstract class NodeImpl implement
try {
writer.setOutputFormat(format);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
- internalSerialize(writer, false);
+ internalSerialize(new StAXSerializer(writer), false);
writer.flush();
} finally {
writer.close();
}
}
- // This method is actually defined by OMNodeEx, but OMNodeEx is only implemented
+ // This method is actually defined by ISerializable, but ISerializable is only implemented
// by certain subclasses (for the reason, see AXIOM-385).
- public abstract void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException;
+ public abstract void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException;
public final OMInformationItem clone(OMCloneOptions options) {
return (OMInformationItem)clone(options, null, true, true);
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ProcessingInstructionImpl.java Sat Jan 26 21:38:57 2013
@@ -20,12 +20,12 @@
package org.apache.axiom.om.impl.dom;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMProcessingInstruction;
import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.w3c.dom.DOMException;
import org.w3c.dom.Node;
import org.w3c.dom.ProcessingInstruction;
@@ -81,8 +81,8 @@ public class ProcessingInstructionImpl e
return value;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeProcessingInstruction(target + " ", value);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeProcessingInstruction(target + " ", value);
}
LeafNode createClone() {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/TextNodeImpl.java Sat Jan 26 21:38:57 2013
@@ -28,6 +28,7 @@ import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.util.UIDGenerator;
import org.apache.axiom.util.base64.Base64Utils;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
@@ -358,17 +359,17 @@ public abstract class TextNodeImpl exten
}
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
if (!this.isBinary) {
- writeOutput(writer);
+ writeOutput(serializer.getWriter());
} else {
try {
if (dataHandlerObject instanceof DataHandlerProvider) {
- XMLStreamWriterUtils.writeDataHandler(writer, (DataHandlerProvider)dataHandlerObject,
+ XMLStreamWriterUtils.writeDataHandler(serializer.getWriter(), (DataHandlerProvider)dataHandlerObject,
contentID, optimize);
} else {
- XMLStreamWriterUtils.writeDataHandler(writer, (DataHandler)getDataHandler(),
+ XMLStreamWriterUtils.writeDataHandler(serializer.getWriter(), (DataHandler)getDataHandler(),
contentID, optimize);
}
} catch (IOException ex) {
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPEnvelopeImpl.java Sat Jan 26 21:38:57 2013
@@ -31,6 +31,8 @@ import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
+import org.apache.axiom.om.impl.dom.NodeImpl;
import org.apache.axiom.om.impl.dom.ParentNode;
import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAP11Constants;
@@ -189,10 +191,10 @@ public class SOAPEnvelopeImpl extends SO
// here do nothing as SOAPEnvelope doesn't have a parent !!!
}
- public void internalSerialize(XMLStreamWriter writer2, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
- MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter) writer2;
+ MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter)serializer.getWriter();
if (!writer.isIgnoreXMLDeclaration()) {
String charSetEncoding = writer.getCharSetEncoding();
String xmlVersion = writer.getXmlVersion();
@@ -203,18 +205,18 @@ public class SOAPEnvelopeImpl extends SO
: xmlVersion);
}
if (cache || state == COMPLETE || builder == null) {
- OMSerializerUtil.serializeStartpart(this, writer);
+ serializer.serializeStartpart(this);
//serialize children
for (Iterator it = getChildren(); it.hasNext(); ) {
- OMNodeEx child = (OMNodeEx)it.next();
+ NodeImpl child = (NodeImpl)it.next();
// Skip empty SOAPHeader (compatibility with previous Axiom versions; see AXIOM-340)
if (!(child instanceof SOAPHeader && ((SOAPHeader)child).getFirstOMChild() == null)) {
- child.internalSerialize(writer, cache);
+ child.internalSerialize(serializer, cache);
}
}
- OMSerializerUtil.serializeEndpart(writer);
+ serializer.serializeEndpart();
} else {
- OMSerializerUtil.serializeByPullStream(this, writer, cache);
+ serializer.serializeByPullStream(this, cache);
}
}
Modified: webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPMessageImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPMessageImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPMessageImpl.java Sat Jan 26 21:38:57 2013
@@ -23,15 +23,15 @@ import org.apache.axiom.om.OMCloneOption
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.dom.DocumentImpl;
+import org.apache.axiom.om.impl.dom.NodeImpl;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPMessage;
import org.apache.axiom.soap.SOAPProcessingException;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class SOAPMessageImpl extends DocumentImpl implements SOAPMessage {
@@ -58,9 +58,9 @@ public class SOAPMessageImpl extends Doc
}
}
- protected void internalSerialize(XMLStreamWriter writer, boolean cache,
+ protected void internalSerialize(StAXSerializer serializer, boolean cache,
boolean includeXMLDeclaration) throws XMLStreamException {
- ((OMNodeEx)getOwnerDocument().getDocumentElement()).internalSerialize(writer, cache);
+ ((NodeImpl)getOwnerDocument().getDocumentElement()).internalSerialize(serializer, cache);
}
protected DocumentImpl createClone(OMCloneOptions options) {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMCommentImpl.java Sat Jan 26 21:38:57 2013
@@ -24,9 +24,9 @@ import org.apache.axiom.om.OMComment;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class OMCommentImpl extends OMLeafNode implements OMComment {
protected String value;
@@ -47,8 +47,8 @@ public class OMCommentImpl extends OMLea
return OMNode.COMMENT_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeComment(this.value);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeComment(this.value);
}
/**
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocTypeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocTypeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocTypeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocTypeImpl.java Sat Jan 26 21:38:57 2013
@@ -24,10 +24,10 @@ import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMDocType;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class OMDocTypeImpl extends OMLeafNode implements OMDocType {
private final String rootName;
@@ -48,8 +48,8 @@ public class OMDocTypeImpl extends OMLea
return OMNode.DTD_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- XMLStreamWriterUtils.writeDTD(writer, rootName, publicId, systemId, internalSubset);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ XMLStreamWriterUtils.writeDTD(serializer.getWriter(), rootName, publicId, systemId, internalSubset);
}
public String getRootName() {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java Sat Jan 26 21:38:57 2013
@@ -36,13 +36,13 @@ import org.apache.axiom.om.impl.common.O
import org.apache.axiom.om.impl.common.OMContainerHelper;
import org.apache.axiom.om.impl.common.OMDescendantsIterator;
import org.apache.axiom.om.impl.common.OMDocumentHelper;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.jaxp.OMSource;
import org.apache.axiom.om.impl.traverse.OMChildrenIterator;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.sax.SAXSource;
import java.util.Iterator;
@@ -289,13 +289,13 @@ public class OMDocumentImpl extends OMSe
this.xmlEncoding = encoding;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- internalSerialize(writer, cache, !((MTOMXMLStreamWriter) writer).isIgnoreXMLDeclaration());
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ internalSerialize(serializer, cache, !((MTOMXMLStreamWriter)serializer.getWriter()).isIgnoreXMLDeclaration());
}
- protected void internalSerialize(XMLStreamWriter writer, boolean cache,
+ protected void internalSerialize(StAXSerializer serializer, boolean cache,
boolean includeXMLDeclaration) throws XMLStreamException {
- OMDocumentHelper.internalSerialize(this, writer, cache, includeXMLDeclaration);
+ OMDocumentHelper.internalSerialize(this, serializer, cache, includeXMLDeclaration);
}
public XMLStreamReader getXMLStreamReader() {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java Sat Jan 26 21:38:57 2013
@@ -43,6 +43,7 @@ import org.apache.axiom.om.impl.common.O
import org.apache.axiom.om.impl.common.OMDescendantsIterator;
import org.apache.axiom.om.impl.common.OMElementHelper;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.jaxp.OMSource;
import org.apache.axiom.om.impl.traverse.OMChildrenIterator;
import org.apache.axiom.om.impl.util.EmptyIterator;
@@ -785,15 +786,15 @@ public class OMElementImpl extends OMNod
///////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
if (cache || state == COMPLETE || (this.builder == null)) {
- OMSerializerUtil.serializeStartpart(this, writer);
- OMSerializerUtil.serializeChildren(this, writer, cache);
- OMSerializerUtil.serializeEndpart(writer);
+ serializer.serializeStartpart(this);
+ serializer.serializeChildren(this, cache);
+ serializer.serializeEndpart();
} else {
- OMSerializerUtil.serializeByPullStream(this, writer, cache);
+ serializer.serializeByPullStream(this, cache);
}
}
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java Sat Jan 26 21:38:57 2013
@@ -19,13 +19,13 @@
package org.apache.axiom.om.impl.llom;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import org.apache.axiom.om.OMCloneOptions;
import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMEntityReference;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.impl.common.StAXSerializer;
public class OMEntityReferenceImpl extends OMLeafNode implements OMEntityReference {
private final String name;
@@ -42,8 +42,8 @@ public class OMEntityReferenceImpl exten
return OMNode.ENTITY_REFERENCE_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeEntityRef(name);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeEntityRef(name);
}
public String getName() {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMProcessingInstructionImpl.java Sat Jan 26 21:38:57 2013
@@ -24,9 +24,9 @@ import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMProcessingInstruction;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class OMProcessingInstructionImpl extends OMLeafNode implements OMProcessingInstruction {
protected String target;
@@ -50,8 +50,8 @@ public class OMProcessingInstructionImpl
return OMNode.PI_NODE;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
- writer.writeProcessingInstruction(this.target + " ", this.value);
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
+ serializer.getWriter().writeProcessingInstruction(this.target + " ", this.value);
}
/**
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSerializableImpl.java Sat Jan 26 21:38:57 2013
@@ -25,20 +25,19 @@ import java.io.Writer;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
-import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.OMSerializable;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
import org.apache.axiom.om.impl.builder.StAXBuilder;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
+import org.apache.axiom.om.impl.common.ISerializable;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-public abstract class OMSerializableImpl implements OMSerializable {
+public abstract class OMSerializableImpl implements ISerializable {
private static final Log log = LogFactory.getLog(OMSerializableImpl.class);
protected OMFactory factory;
@@ -72,14 +71,6 @@ public abstract class OMSerializableImpl
public abstract void setComplete(boolean state);
- /**
- * Serializes the node.
- *
- * @param writer
- * @throws XMLStreamException
- */
- public abstract void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException;
-
public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException {
serialize(xmlWriter, true);
}
@@ -93,7 +84,7 @@ public abstract class OMSerializableImpl
MTOMXMLStreamWriter writer = xmlWriter instanceof MTOMXMLStreamWriter ?
(MTOMXMLStreamWriter) xmlWriter :
new MTOMXMLStreamWriter(xmlWriter);
- internalSerialize(writer, cache);
+ internalSerialize(new StAXSerializer(writer), cache);
writer.flush();
}
@@ -136,7 +127,7 @@ public abstract class OMSerializableImpl
public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, true);
try {
- internalSerialize(writer, true);
+ internalSerialize(new StAXSerializer(writer), true);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -149,7 +140,7 @@ public abstract class OMSerializableImpl
new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer2));
writer.setOutputFormat(format);
try {
- internalSerialize(writer, true);
+ internalSerialize(new StAXSerializer(writer), true);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -161,7 +152,7 @@ public abstract class OMSerializableImpl
throws XMLStreamException {
MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format, false);
try {
- internalSerialize(writer, false);
+ internalSerialize(new StAXSerializer(writer), false);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
@@ -175,7 +166,7 @@ public abstract class OMSerializableImpl
new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writer2));
writer.setOutputFormat(format);
try {
- internalSerialize(writer, false);
+ internalSerialize(new StAXSerializer(writer), false);
// TODO: the flush is necessary because of an issue with the lifecycle of MTOMXMLStreamWriter
writer.flush();
} finally {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java Sat Jan 26 21:38:57 2013
@@ -38,6 +38,7 @@ import org.apache.axiom.om.QNameAwareOMD
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.impl.common.OMDataSourceUtil;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -705,25 +706,25 @@ public class OMSourcedElementImpl extend
return super.getType();
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
if (isExpanded()) {
- super.internalSerialize(writer, cache);
+ super.internalSerialize(serializer, cache);
} else if (cache) {
if (OMDataSourceUtil.isDestructiveWrite(dataSource)) {
forceExpand();
- super.internalSerialize(writer, true);
+ super.internalSerialize(serializer, true);
} else {
- dataSource.serialize(writer);
+ dataSource.serialize(serializer.getWriter());
}
} else {
- dataSource.serialize(writer);
+ dataSource.serialize(serializer.getWriter());
}
}
public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException {
// The contract is to serialize with caching
- internalSerialize(xmlWriter, true);
+ internalSerialize(new StAXSerializer(xmlWriter), true);
}
public void serialize(OutputStream output) throws XMLStreamException {
@@ -760,7 +761,7 @@ public class OMSourcedElementImpl extend
public void serializeAndConsume(javax.xml.stream.XMLStreamWriter xmlWriter)
throws XMLStreamException {
- internalSerialize(xmlWriter, false);
+ internalSerialize(new StAXSerializer(xmlWriter), false);
}
public void serializeAndConsume(OutputStream output) throws XMLStreamException {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMTextImpl.java Sat Jan 26 21:38:57 2013
@@ -30,6 +30,7 @@ import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMText;
import org.apache.axiom.om.impl.common.OMNamespaceImpl;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.util.UIDGenerator;
import org.apache.axiom.util.base64.Base64Utils;
import org.apache.axiom.util.stax.XMLStreamWriterUtils;
@@ -370,17 +371,17 @@ public class OMTextImpl extends OMLeafNo
return this.contentID;
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache) throws XMLStreamException {
+ public void internalSerialize(StAXSerializer serializer, boolean cache) throws XMLStreamException {
if (!this.isBinary) {
- writeOutput(writer);
+ writeOutput(serializer.getWriter());
} else {
try {
if (dataHandlerObject instanceof DataHandlerProvider) {
- XMLStreamWriterUtils.writeDataHandler(writer, (DataHandlerProvider)dataHandlerObject,
+ XMLStreamWriterUtils.writeDataHandler(serializer.getWriter(), (DataHandlerProvider)dataHandlerObject,
contentID, optimize);
} else {
- XMLStreamWriterUtils.writeDataHandler(writer, (DataHandler)getDataHandler(),
+ XMLStreamWriterUtils.writeDataHandler(serializer.getWriter(), (DataHandler)getDataHandler(),
contentID, optimize);
}
} catch (IOException ex) {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java Sat Jan 26 21:38:57 2013
@@ -32,9 +32,9 @@ import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
-import org.apache.axiom.om.impl.OMNodeEx;
-import org.apache.axiom.om.impl.util.OMSerializerUtil;
+import org.apache.axiom.om.impl.llom.OMNodeImpl;
import org.apache.axiom.om.impl.builder.StAXBuilder;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAP12Constants;
import org.apache.axiom.soap.SOAP12Version;
@@ -192,9 +192,9 @@ public class SOAPEnvelopeImpl extends SO
// here do nothing as SOAPEnvelope doesn't have a parent !!!
}
- public void internalSerialize(XMLStreamWriter writer2, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
- MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter) writer2;
+ MTOMXMLStreamWriter writer = (MTOMXMLStreamWriter)serializer.getWriter();
if (!writer.isIgnoreXMLDeclaration()) {
String charSetEncoding = writer.getCharSetEncoding();
String xmlVersion = writer.getXmlVersion();
@@ -204,18 +204,18 @@ public class SOAPEnvelopeImpl extends SO
xmlVersion == null ? OMConstants.DEFAULT_XML_VERSION : xmlVersion);
}
if (cache || state == COMPLETE || builder == null) {
- OMSerializerUtil.serializeStartpart(this, writer);
+ serializer.serializeStartpart(this);
//serialize children
for (Iterator it = getChildren(); it.hasNext(); ) {
- OMNodeEx child = (OMNodeEx)it.next();
+ OMNodeImpl child = (OMNodeImpl)it.next();
// Skip empty SOAPHeader (compatibility with previous Axiom versions; see AXIOM-340)
if (!(child instanceof SOAPHeader && ((SOAPHeader)child).getFirstOMChild() == null)) {
- child.internalSerialize(writer, cache);
+ child.internalSerialize(serializer, cache);
}
}
- OMSerializerUtil.serializeEndpart(writer);
+ serializer.serializeEndpart();
} else {
- OMSerializerUtil.serializeByPullStream(this, writer, cache);
+ serializer.serializeByPullStream(this, cache);
}
if (!cache) {
// let's try to close the builder/parser here since we are now done with the
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java Sat Jan 26 21:38:57 2013
@@ -26,9 +26,9 @@ import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.llom.OMElementImpl;
-import org.apache.axiom.om.impl.util.OMSerializerUtil;
+import org.apache.axiom.om.impl.llom.OMNodeImpl;
import org.apache.axiom.soap.SOAPBody;
import org.apache.axiom.soap.SOAPConstants;
import org.apache.axiom.soap.SOAPFactory;
@@ -40,7 +40,6 @@ import org.apache.axiom.soap.SOAPProcess
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Iterator;
@@ -123,17 +122,17 @@ public abstract class SOAPFaultImpl exte
faultDetailEnty.setText(sw.getBuffer().toString());
}
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
+ public void internalSerialize(StAXSerializer serializer, boolean cache)
throws XMLStreamException {
- OMSerializerUtil.serializeStartpart(this, writer);
+ serializer.serializeStartpart(this);
for (Iterator it = getChildren(); it.hasNext(); ) {
- OMNodeEx child = (OMNodeEx)it.next();
+ OMNodeImpl child = (OMNodeImpl)it.next();
// TODO: AXIOM-392
if (!((child instanceof SOAPFaultRole || child instanceof SOAPFaultNode) && ((OMElement)child).getText().length() == 0)) {
- child.internalSerialize(writer, true);
+ child.internalSerialize(serializer, true);
}
}
- OMSerializerUtil.serializeEndpart(writer);
+ serializer.serializeEndpart();
}
protected OMElement createClone(OMCloneOptions options, OMContainer targetParent) {
Modified: webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.java (original)
+++ webservices/axiom/trunk/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.java Sat Jan 26 21:38:57 2013
@@ -24,15 +24,15 @@ import org.apache.axiom.om.OMDocument;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMException;
import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.OMNodeEx;
+import org.apache.axiom.om.impl.common.StAXSerializer;
import org.apache.axiom.om.impl.llom.OMDocumentImpl;
+import org.apache.axiom.om.impl.llom.OMNodeImpl;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPMessage;
import org.apache.axiom.soap.SOAPProcessingException;
import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
public class SOAPMessageImpl extends OMDocumentImpl implements SOAPMessage {
@@ -60,9 +60,9 @@ public class SOAPMessageImpl extends OMD
}
}
- protected void internalSerialize(XMLStreamWriter writer, boolean cache,
+ protected void internalSerialize(StAXSerializer serializer, boolean cache,
boolean includeXMLDeclaration) throws XMLStreamException {
- ((OMNodeEx)getOMDocumentElement()).internalSerialize(writer, cache);
+ ((OMNodeImpl)getOMDocumentElement()).internalSerialize(serializer, cache);
}
protected OMDocument createClone(OMCloneOptions options) {
Modified: webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMAttributeNullPrefixNoNamespace.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMAttributeNullPrefixNoNamespace.java?rev=1438968&r1=1438967&r2=1438968&view=diff
==============================================================================
--- webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMAttributeNullPrefixNoNamespace.java (original)
+++ webservices/axiom/trunk/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/factory/TestCreateOMAttributeNullPrefixNoNamespace.java Sat Jan 26 21:38:57 2013
@@ -19,11 +19,10 @@
package org.apache.axiom.ts.om.factory;
import org.apache.axiom.om.OMAttribute;
-import org.apache.axiom.om.OMContainer;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMMetaFactory;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.OMSerializable;
import org.apache.axiom.ts.AxiomTestCase;
/**
@@ -46,7 +45,6 @@ public class TestCreateOMAttributeNullPr
// An OMAttribute is neither an OMNode nor an OMContainer. For the latter this is in
// contrast to DOM where an Attr node is a parent node (containing Text and EntityReference
// nodes).
- assertFalse(attr instanceof OMNode);
- assertFalse(attr instanceof OMContainer);
+ assertFalse(attr instanceof OMSerializable);
}
}