Author: mbenson
Date: Wed Jan 10 14:44:18 2007
New Revision: 495019

URL: http://svn.apache.org/viewvc?view=rev&rev=495019
Log:
[JXPATH-20] removeAll() only removed the first matching element; slightly 
inelegant fix

Modified:
    
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java

Modified: 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java?view=diff&rev=495019&r1=495018&r2=495019
==============================================================================
--- 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java
 (original)
+++ 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java
 Wed Jan 10 14:44:18 2007
@@ -52,6 +52,7 @@
 import org.apache.commons.jxpath.ri.model.beans.CollectionPointerFactory;
 import org.apache.commons.jxpath.ri.model.container.ContainerPointerFactory;
 import org.apache.commons.jxpath.ri.model.dynamic.DynamicPointerFactory;
+import org.apache.commons.jxpath.util.ReverseComparator;
 import org.apache.commons.jxpath.util.TypeUtils;
 
 /**
@@ -576,10 +577,14 @@
             while (it.hasNext()) {
                 list.add(it.next());
             }
-            Collections.sort(list);
-            for (int i = list.size() - 1; i >= 0; i--) {
-                NodePointer pointer = (NodePointer) list.get(i);
+            Collections.sort(list, ReverseComparator.INSTANCE);
+            it = list.iterator();
+            if (it.hasNext()) {
+                NodePointer pointer = (NodePointer) it.next();
                 pointer.remove();
+                while (it.hasNext()) {
+                    removePath(((NodePointer) it.next()).asPath());
+                }
             }
         }
         catch (Throwable ex) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to