Author: knopp
Date: Mon Jun 11 05:11:34 2007
New Revision: 546118

URL: http://svn.apache.org/viewvc?view=rev&rev=546118
Log:
WICKET-139 - DefaultTreeState allowSelectMultiple == false not evaluated when 
selecting node already selected

Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java?view=diff&rev=546118&r1=546117&r2=546118
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/tree/DefaultTreeState.java
 Mon Jun 11 05:11:34 2007
@@ -212,13 +212,14 @@
         */
        public void selectNode(TreeNode node, boolean selected)
        {
-               if (selected == true && selectedNodes.contains(node) == false)
+               
+               if (isAllowSelectMultiple() == false && selectedNodes.size() > 
0)
                {
-                       if (isAllowSelectMultiple() == false && 
selectedNodes.size() > 0)
+                       for (Iterator i = selectedNodes.iterator(); 
i.hasNext();)
                        {
-                               for (Iterator i = selectedNodes.iterator(); 
i.hasNext();)
+                               TreeNode current = (TreeNode)i.next();
+                               if (current.equals(node) == false) 
                                {
-                                       TreeNode current = (TreeNode)i.next();
                                        i.remove();
                                        Object[] listenersCopy = 
listeners.toArray();
                                        for(int j = 0; j < 
listenersCopy.length; j++) 
@@ -228,6 +229,11 @@
                                        }
                                }
                        }
+               }
+               
+               if (selected == true && selectedNodes.contains(node) == false)
+               {
+                       
                        selectedNodes.add(node);
                        Object[] listenersCopy = listeners.toArray();
                        for(int i = 0; i < listenersCopy.length; i++) 


Reply via email to