You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ru...@apache.org on 2005/12/20 07:30:01 UTC
svn commit: r357928 -
/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java
Author: ruchithf
Date: Mon Dec 19 22:29:51 2005
New Revision: 357928
URL: http://svn.apache.org/viewcvs?rev=357928&view=rev
Log:
DOOM: Making sure the child elements are built before returning them
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java?rev=357928&r1=357927&r2=357928&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java Mon Dec 19 22:29:51 2005
@@ -19,6 +19,7 @@
import org.apache.axis2.om.OMException;
import org.apache.axis2.om.OMNode;
import org.apache.axis2.om.impl.OMContainerEx;
+import org.apache.axis2.om.impl.OMNodeEx;
import org.apache.axis2.om.impl.llom.traverse.OMChildrenIterator;
import org.apache.axis2.om.impl.llom.traverse.OMChildrenQNameIterator;
import org.w3c.dom.DOMException;
@@ -96,11 +97,17 @@
}
public OMNode getFirstOMChild() {
- return this.firstChild;
+ while ((firstChild == null) && !done) {
+ buildNext();
+ }
+ return firstChild;
}
public void setFirstChild(OMNode omNode) {
- this.firstChild = (ChildNode) omNode;
+ if (firstChild != null) {
+ ((OMNodeEx) omNode).setParent(this);
+ }
+ this.firstChild = (ChildNode)omNode;
}
@@ -113,10 +120,13 @@
}
public Node getFirstChild() {
- return this.firstChild;
+ return (Node)this.getFirstOMChild();
}
public Node getLastChild() {
+ if(!this.done) {
+ this.build();
+ }
return this.lastChild;
}