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/03/05 12:20:44 UTC
svn commit: r1733700 - in /webservices/axiom/branches/stax-stream/aspects:
core-aspects/src/main/java/org/apache/axiom/core/impl/
core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/
om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/
Author: veithen
Date: Sat Mar 5 11:20:43 2016
New Revision: 1733700
URL: http://svn.apache.org/viewvc?rev=1733700&view=rev
Log:
Make sure that getXMLStreamReader works correctly with push OMDataSources.
Modified:
webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/TreeWalkerImpl.java
webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj
Modified: webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/TreeWalkerImpl.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/TreeWalkerImpl.java?rev=1733700&r1=1733699&r2=1733700&view=diff
==============================================================================
--- webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/TreeWalkerImpl.java (original)
+++ webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/TreeWalkerImpl.java Sat Mar 5 11:20:43 2016
@@ -80,6 +80,7 @@ public final class TreeWalkerImpl implem
private final XmlHandler handler;
private final CoreParentNode root;
private final boolean preserve;
+ private final boolean incremental;
private CoreNode node;
/**
@@ -90,10 +91,11 @@ public final class TreeWalkerImpl implem
private int state = STATE_NONE;
- public TreeWalkerImpl(XmlHandler handler, CoreParentNode root, boolean preserve) {
+ public TreeWalkerImpl(XmlHandler handler, CoreParentNode root, boolean preserve, boolean incremental) {
this.handler = handler;
this.root = root;
this.preserve = preserve;
+ this.incremental = incremental;
}
@Override
@@ -207,7 +209,7 @@ public final class TreeWalkerImpl implem
// been visited yet. It may be a sourced element or a leaf node
if (state == STATE_NOT_VISITED) {
if (nextNode instanceof CoreNSAwareElement) {
- XmlInput input = ((CoreNSAwareElement)nextNode).getXmlInput(preserve);
+ XmlInput input = ((CoreNSAwareElement)nextNode).getXmlInput(preserve, incremental);
if (input != null) {
reader = input.createReader(new DocumentElementExtractingFilterHandler(handler));
state = STATE_STREAMING;
Modified: webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj?rev=1733700&r1=1733699&r2=1733700&view=diff
==============================================================================
--- webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj (original)
+++ webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreNSAwareElementSupport.aj Sat Mar 5 11:20:43 2016
@@ -38,7 +38,7 @@ public aspect CoreNSAwareElementSupport
return namespaceURI.equals(coreGetNamespaceURI()) ? coreGetPrefix() : null;
}
- public XmlInput CoreNSAwareElement.getXmlInput(boolean cache) throws StreamException {
+ public XmlInput CoreNSAwareElement.getXmlInput(boolean cache, boolean incremental) throws StreamException {
return null;
}
Modified: webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj?rev=1733700&r1=1733699&r2=1733700&view=diff
==============================================================================
--- webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj (original)
+++ webservices/axiom/branches/stax-stream/aspects/core-aspects/src/main/java/org/apache/axiom/core/impl/mixin/CoreParentNodeSupport.aj Sat Mar 5 11:20:43 2016
@@ -371,13 +371,13 @@ public aspect CoreParentNodeSupport {
throw new UnsupportedOperationException();
}
- public final XmlReader CoreParentNode.coreGetReader(XmlHandler handler, boolean cache) {
- return new TreeWalkerImpl(handler, this, cache);
+ public final XmlReader CoreParentNode.coreGetReader(XmlHandler handler, boolean cache, boolean incremental) {
+ return new TreeWalkerImpl(handler, this, cache, incremental);
}
public void CoreParentNode.internalSerialize(XmlHandler handler, boolean cache) throws CoreModelException, StreamException {
try {
- XmlReader reader = coreGetReader(handler, cache);
+ XmlReader reader = coreGetReader(handler, cache, false);
while (!reader.proceed()) {
// Just loop
}
Modified: webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj?rev=1733700&r1=1733699&r2=1733700&view=diff
==============================================================================
--- webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj (original)
+++ webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomContainerSupport.aj Sat Mar 5 11:20:43 2016
@@ -141,7 +141,7 @@ public aspect AxiomContainerSupport {
}
}
try {
- pivot.setReader(coreGetReader(handler, cache));
+ pivot.setReader(coreGetReader(handler, cache, true));
} catch (StreamException ex) {
throw new OMException(ex);
}
Modified: webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj?rev=1733700&r1=1733699&r2=1733700&view=diff
==============================================================================
--- webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj (original)
+++ webservices/axiom/branches/stax-stream/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomSourcedElementSupport.aj Sat Mar 5 11:20:43 2016
@@ -403,7 +403,7 @@ public aspect AxiomSourcedElementSupport
}
}
- public final XmlInput AxiomSourcedElement.getXmlInput(boolean cache) throws StreamException {
+ public final XmlInput AxiomSourcedElement.getXmlInput(boolean cache, boolean incremental) throws StreamException {
if (isExpanded() || (cache && OMDataSourceUtil.isDestructiveWrite(dataSource))) {
return null;
}
@@ -415,8 +415,10 @@ public aspect AxiomSourcedElementSupport
} catch (XMLStreamException ex) {
throw new StreamException(ex);
}
- } else {
+ } else if (!incremental) {
return new PushOMDataSourceInput(this, dataSource);
+ } else {
+ return null;
}
}