Author: veithen
Date: Thu Sep 29 19:38:56 2011
New Revision: 1177407

URL: http://svn.apache.org/viewvc?rev=1177407&view=rev
Log:
Fixed an issue in DOOM: the detach() method didn't update the previousSibling 
and nextSibling attributes of the node. This is related to RAMPART-336.

Modified:
    
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
    
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/node/TestDetach.java

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java?rev=1177407&r1=1177406&r2=1177407&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ChildNode.java
 Thu Sep 29 19:38:56 2011
@@ -134,11 +134,13 @@ public abstract class ChildNode extends 
             }
             if (this.nextSibling != null) {
                 this.nextSibling.setPreviousOMSibling(this.previousSibling);
+                this.nextSibling = null;
             }
             if (this.parentNode != null && this.parentNode.lastChild == this) {
                 this.parentNode.lastChild = previousSibling;
             }
             this.parentNode = null;
+            this.previousSibling = null;
         }
         return this;
     }

Modified: 
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/node/TestDetach.java
URL: 
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/node/TestDetach.java?rev=1177407&r1=1177406&r2=1177407&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/node/TestDetach.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/node/TestDetach.java
 Thu Sep 29 19:38:56 2011
@@ -50,6 +50,8 @@ public class TestDetach extends AxiomTes
         OMNode returnValue = b.detach();
         assertSame(b, returnValue); // Detach is expected to do a "return this"
         assertNull(b.getParent());
+        assertNull(b.getPreviousOMSibling());
+        assertNull(b.getNextOMSibling());
         OMElement c = (OMElement)a.getNextOMSibling();
         assertEquals("c", c.getLocalName());
         assertSame(c, a.getNextOMSibling());


Reply via email to