Author: ivaynberg
Date: Tue Jul 10 13:22:16 2007
New Revision: 555066

URL: http://svn.apache.org/viewvc?view=rev&rev=555066
Log:
do not call setobject twice on the model within the same request

Modified:
    
incubator/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java

Modified: 
incubator/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java?view=diff&rev=555066&r1=555065&r2=555066
==============================================================================
--- 
incubator/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
 (original)
+++ 
incubator/wicket/trunk/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/select/Select.java
 Tue Jul 10 13:22:16 2007
@@ -84,7 +84,7 @@
                }
                else
                {
-                       getModel().setObject(null);
+                       object = null;
                }
 
                /*
@@ -145,7 +145,8 @@
                                        }
                                        else
                                        {
-                                               
setModelObject(option.getModelObject());
+                                               object = 
option.getModelObject();
+                                               break;
                                        }
                                }
                        }
@@ -155,6 +156,9 @@
                {
                        modelChanged();
                }
+
+               // force notify of model via setObject()
+               getModel().setObject(object);
        }
 
        /**
@@ -166,19 +170,23 @@
        boolean isSelected(SelectOption option)
        {
                // if the raw input is specified use that, otherwise use model
-               if (hasRawInput()) {
+               if (hasRawInput())
+               {
                        String[] paths = getInputAsArray();
                        if (paths != null && paths.length > 0)
                        {
                                for (int i = 0; i < paths.length; i++)
                                {
                                        String path = paths[i];
-                                       if (path.equals(option.getPath())) {
+                                       if (path.equals(option.getPath()))
+                                       {
                                                return true;
                                        }
                                }
                        }
-               } else {
+               }
+               else
+               {
                        Object selected = getModelObject();
                        Object value = option.getModelObject();
 
@@ -198,9 +206,9 @@
                                return Objects.equal(selected, value);
                        }
                }
-               
+
                return false;
-               
+
        }
 
 }


Reply via email to