Author: veithen
Date: Sat Mar 12 00:08:06 2016
New Revision: 1734649
URL: http://svn.apache.org/viewvc?rev=1734649&view=rev
Log:
Fix an issue in build/isComplete that causes problems in Axis2.
Modified:
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCoreParentNodeSupport.aj
Modified: webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCoreParentNodeSupport.aj
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCoreParentNodeSupport.aj?rev=1734649&r1=1734648&r2=1734649&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCoreParentNodeSupport.aj
(original)
+++ webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/mixin/AxiomCoreParentNodeSupport.aj
Sat Mar 12 00:08:06 2016
@@ -33,12 +33,14 @@ public aspect AxiomCoreParentNodeSupport
case COMPACT:
return true;
case COMPLETE:
- CoreChildNode child = coreGetFirstChild();
- while (child != null) {
- if (!(child instanceof AxiomSourcedElement || ((AxiomSerializable)child).isComplete()))
{
- return false;
+ if (isExpanded()) {
+ CoreChildNode child = coreGetFirstChild();
+ while (child != null) {
+ if (!(child instanceof AxiomSourcedElement || ((AxiomSerializable)child).isComplete()))
{
+ return false;
+ }
+ child = child.coreGetNextSibling();
}
- child = child.coreGetNextSibling();
}
return true;
default:
@@ -56,6 +58,10 @@ public aspect AxiomCoreParentNodeSupport
case DISCARDED:
throw new NodeUnavailableException();
case COMPLETE:
+ if (!isExpanded()) {
+ break;
+ }
+ // Fall through
case INCOMPLETE:
// First do the children that have already been created; only they need
recursion.
CoreChildNode child = coreGetFirstChildIfAvailable();
|