You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2016/02/28 11:25:46 UTC
svn commit: r1732713 - in /webservices/axiom/trunk/aspects:
core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/
om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/
Author: veithen
Date: Sun Feb 28 10:25:45 2016
New Revision: 1732713
URL: http://svn.apache.org/viewvc?rev=1732713&view=rev
Log:
Use incremental serialization for documents as well.
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj?rev=1732713&r1=1732712&r2=1732713&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj Sun Feb 28 10:25:45 2016
@@ -19,14 +19,11 @@
package org.apache.axiom.core.impl.mixin;
import org.apache.axiom.core.CoreModelException;
-import org.apache.axiom.core.CoreModelStreamException;
import org.apache.axiom.core.CoreNSAwareElement;
import org.apache.axiom.core.NodeType;
-import org.apache.axiom.core.impl.TreeWalkerImpl;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
import org.apache.axiom.core.stream.XmlInput;
-import org.apache.axiom.core.stream.XmlReader;
public aspect CoreNSAwareElementSupport {
public final NodeType CoreNSAwareElement.coreGetNodeType() {
@@ -52,15 +49,4 @@ public aspect CoreNSAwareElementSupport
public final void CoreNSAwareElement.serializeEndEvent(XmlHandler handler) throws StreamException {
handler.endElement();
}
-
- public final void CoreNSAwareElement.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
- try {
- XmlReader reader = new TreeWalkerImpl(handler, this, cache);
- while (!reader.proceed()) {
- // Just loop
- }
- } catch (CoreModelStreamException ex) {
- throw ex.getCoreModelException();
- }
- }
}
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj?rev=1732713&r1=1732712&r2=1732713&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj Sun Feb 28 10:25:45 2016
@@ -31,6 +31,7 @@ import org.apache.axiom.core.CoreDocumen
import org.apache.axiom.core.CoreDocumentFragment;
import org.apache.axiom.core.CoreElement;
import org.apache.axiom.core.CoreModelException;
+import org.apache.axiom.core.CoreModelStreamException;
import org.apache.axiom.core.CoreNode;
import org.apache.axiom.core.CoreParentNode;
import org.apache.axiom.core.ElementAction;
@@ -44,8 +45,10 @@ import org.apache.axiom.core.Semantics;
import org.apache.axiom.core.impl.ElementsIterator;
import org.apache.axiom.core.impl.Flags;
import org.apache.axiom.core.impl.NodesIterator;
+import org.apache.axiom.core.impl.TreeWalkerImpl;
import org.apache.axiom.core.stream.StreamException;
import org.apache.axiom.core.stream.XmlHandler;
+import org.apache.axiom.core.stream.XmlReader;
public aspect CoreParentNodeSupport {
private InputContext CoreParentNode.context;
@@ -368,40 +371,13 @@ public aspect CoreParentNodeSupport {
}
public void CoreParentNode.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
- serializeStartEvent(handler);
- serializeChildren(handler, cache);
- serializeEndEvent(handler);
- }
-
- public final void CoreParentNode.serializeChildren(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
- if (getState() == DISCARDED) {
- Builder builder = coreGetBuilder();
- if (builder != null) {
- builder.debugDiscarded(this);
- }
- throw new NodeConsumedException();
- }
- if (cache) {
- CoreChildNode child = coreGetFirstChild();
- while (child != null) {
- child.internalSerialize(handler, true);
- child = child.coreGetNextSibling();
- }
- } else {
- // First, recursively serialize all child nodes that have already been created
- CoreChildNode child = coreGetFirstChildIfAvailable();
- while (child != null) {
- child.internalSerialize(handler, cache);
- child = child.coreGetNextSiblingIfAvailable();
- }
- InputContext context = coreGetInputContext();
- if (context != null) {
- context.setPassThroughHandler(handler);
- Builder builder = context.getBuilder();
- do {
- builder.next();
- } while (coreGetInputContext() != null);
+ try {
+ XmlReader reader = new TreeWalkerImpl(handler, this, cache);
+ while (!reader.proceed()) {
+ // Just loop
}
+ } catch (CoreModelStreamException ex) {
+ throw ex.getCoreModelException();
}
}
}
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java?rev=1732713&r1=1732712&r2=1732713&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java (original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/Context.java Sun Feb 28 10:25:45 2016
@@ -302,10 +302,7 @@ public final class Context implements In
public void endDocument() throws StreamException {
if (passThroughHandler != null) {
- // TODO: hack
- if (passThroughDepth > 0) {
- passThroughHandler.endDocument();
- }
+ passThroughHandler.endDocument();
decrementPassThroughDepth();
} else {
if (depth != 0) {