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;
 	}