pferraro    2005/08/23 19:22:53

  Modified:    framework/src/java/org/apache/tapestry/form Upload.java
                        DatePicker.java TextArea.java
                        PropertySelection.java Checkbox.java TextField.java
               contrib/src/java/org/apache/tapestry/contrib/form
                        MultiplePropertySelection.java
               framework/src/test/org/apache/tapestry/form
                        TestCheckbox.java TestTextField.java
                        TestTextArea.java
               contrib/src/java/org/apache/tapestry/contrib/palette
                        Palette.java
               .        status.xml
  Log:
  Fixes TAPESTRY-586: Reordered rewind logic such that call to 
ValidatableFieldSupport.validate(...) comes before setting component value.
  
  Revision  Changes    Path
  1.9       +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Upload.java
  
  Index: Upload.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Upload.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Upload.java       10 Aug 2005 06:02:48 -0000      1.8
  +++ Upload.java       24 Aug 2005 02:22:53 -0000      1.9
  @@ -86,11 +86,11 @@
               file = null;
           }
           
  -        setFile(file);
  -        
           try
           {
               getValidatableFieldSupport().validate(this, writer, cycle, file);
  +            
  +            setFile(file);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.14      +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/DatePicker.java
  
  Index: DatePicker.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/DatePicker.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- DatePicker.java   10 Aug 2005 06:02:48 -0000      1.13
  +++ DatePicker.java   24 Aug 2005 02:22:53 -0000      1.14
  @@ -194,9 +194,9 @@
           {
               Date date = (Date) getTranslatedFieldSupport().parse(this, 
value);
               
  -            setValue(date);
  -            
               getValidatableFieldSupport().validate(this, writer, cycle, date);
  +            
  +            setValue(date);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.10      +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextArea.java
  
  Index: TextArea.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextArea.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TextArea.java     10 Aug 2005 06:02:48 -0000      1.9
  +++ TextArea.java     24 Aug 2005 02:22:53 -0000      1.10
  @@ -78,9 +78,9 @@
           {
               String text = (String) getTranslatedFieldSupport().parse(this, 
value);
               
  -            setValue(text);
  -            
               getValidatableFieldSupport().validate(this, writer, cycle, text);
  +            
  +            setValue(text);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.12      +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/PropertySelection.java
  
  Index: PropertySelection.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/PropertySelection.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- PropertySelection.java    14 Aug 2005 16:15:28 -0000      1.11
  +++ PropertySelection.java    24 Aug 2005 02:22:53 -0000      1.12
  @@ -117,11 +117,11 @@
           
           Object object = getModel().translateValue(value);
           
  -        setValue(object);
  -        
           try
           {
               getValidatableFieldSupport().validate(this, writer, cycle, 
object);
  +            
  +            setValue(object);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.11      +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Checkbox.java
  
  Index: Checkbox.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/Checkbox.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Checkbox.java     10 Aug 2005 06:02:48 -0000      1.10
  +++ Checkbox.java     24 Aug 2005 02:22:53 -0000      1.11
  @@ -61,13 +61,13 @@
       protected void rewindFormComponent(IMarkupWriter writer, IRequestCycle 
cycle)
       {
           String value = cycle.getParameter(getName());
  -
  -        setValue(value != null);
           
           try
           {
               // This is atypical validation - since this component does not 
explicitly bind to an object
               getValidatableFieldSupport().validate(this, writer, cycle, 
value);
  +
  +            setValue(value != null);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.14      +2 -2      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextField.java
  
  Index: TextField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/TextField.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TextField.java    10 Aug 2005 06:02:48 -0000      1.13
  +++ TextField.java    24 Aug 2005 02:22:53 -0000      1.14
  @@ -81,9 +81,9 @@
           {
               Object object = getTranslatedFieldSupport().parse(this, value);
               
  -            setValue(object);
  -            
               getValidatableFieldSupport().validate(this, writer, cycle, 
object);
  +            
  +            setValue(object);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.11      +2 -2      
jakarta-tapestry/contrib/src/java/org/apache/tapestry/contrib/form/MultiplePropertySelection.java
  
  Index: MultiplePropertySelection.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/contrib/src/java/org/apache/tapestry/contrib/form/MultiplePropertySelection.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- MultiplePropertySelection.java    10 Aug 2005 06:02:51 -0000      1.10
  +++ MultiplePropertySelection.java    24 Aug 2005 02:22:53 -0000      1.11
  @@ -172,11 +172,11 @@
               }
           }
           
  -        setSelectedList(selectedList);
  -        
           try
           {
               getValidatableFieldSupport().validate(this, writer, cycle, 
selectedList);
  +            
  +            setSelectedList(selectedList);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.3       +5 -3      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestCheckbox.java
  
  Index: TestCheckbox.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestCheckbox.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestCheckbox.java 10 Aug 2005 06:02:50 -0000      1.2
  +++ TestCheckbox.java 24 Aug 2005 02:22:53 -0000      1.3
  @@ -143,16 +143,16 @@
           IValidationDelegate delegate = newDelegate();
           
           Checkbox cb = (Checkbox) newInstance(Checkbox.class, new Object[]
  -        { "form", form, "value", Boolean.TRUE, "name", "checkbox", 
"validatableFieldSupport", vfs });
  +        { "form", form, "value", Boolean.FALSE, "name", "checkbox", 
"validatableFieldSupport", vfs });
   
           IMarkupWriter writer = newWriter();
  -        IRequestCycle cycle = newCycleGetParameter("checkbox", null);
  +        IRequestCycle cycle = newCycleGetParameter("checkbox", "foo");
   
           ValidatorException exception = new ValidatorException("failed");
           
           try
           {
  -             vfs.validate(cb, writer, cycle, null);
  +             vfs.validate(cb, writer, cycle, "foo");
                vfsc.setThrowable(exception);
            }
           catch (ValidatorException e)
  @@ -170,6 +170,8 @@
           cb.rewindFormComponent(writer, cycle);
           
           verifyControls();
  +        
  +        assertEquals(false, cb.getValue());
       }
   
       public void testSubmitNonNull()
  
  
  
  1.8       +4 -0      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestTextField.java
  
  Index: TestTextField.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestTextField.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TestTextField.java        10 Aug 2005 06:02:50 -0000      1.7
  +++ TestTextField.java        24 Aug 2005 02:22:53 -0000      1.8
  @@ -138,6 +138,8 @@
           component.render(writer, cycle);
           
           verifyControls();
  +
  +        assertNull(component.getValue());
       }
   
       public void testRewindValidateFailed()
  @@ -197,6 +199,8 @@
           component.render(writer, cycle);
           
           verifyControls();
  +        
  +        assertNull(component.getValue());
       }
   
       public void testWasPrerendered()
  
  
  
  1.7       +4 -0      
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestTextArea.java
  
  Index: TestTextArea.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/TestTextArea.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TestTextArea.java 10 Aug 2005 06:02:50 -0000      1.6
  +++ TestTextArea.java 24 Aug 2005 02:22:53 -0000      1.7
  @@ -136,6 +136,8 @@
           component.render(writer, cycle);
           
           verifyControls();
  +        
  +        assertNull(component.getValue());
       }
   
       public void testRewindValidateFailed()
  @@ -193,6 +195,8 @@
           component.render(writer, cycle);
           
           verifyControls();
  +        
  +        assertNull(component.getValue());
       }
   
       public void testWasPrerendered()
  
  
  
  1.16      +2 -2      
jakarta-tapestry/contrib/src/java/org/apache/tapestry/contrib/palette/Palette.java
  
  Index: Palette.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/contrib/src/java/org/apache/tapestry/contrib/palette/Palette.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Palette.java      10 Aug 2005 06:02:50 -0000      1.15
  +++ Palette.java      24 Aug 2005 02:22:53 -0000      1.16
  @@ -294,12 +294,12 @@
   
               selected.add(option);
           }
  -
  -        setSelected(selected);
           
           try
           {
               getValidatableFieldSupport().validate(this, writer, cycle, 
selected);
  +
  +            setSelected(selected);
           }
           catch (ValidatorException e)
           {
  
  
  
  1.226     +1 -0      jakarta-tapestry/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/status.xml,v
  retrieving revision 1.225
  retrieving revision 1.226
  diff -u -r1.225 -r1.226
  --- status.xml        23 Aug 2005 23:27:20 -0000      1.225
  +++ status.xml        24 Aug 2005 02:22:53 -0000      1.226
  @@ -76,6 +76,7 @@
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-579">E-mail validator 
pattern doesn't take new TLDs into account</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-581">Tapestry 
attempts to invoke focus() on client-side objects that don't implement 
it</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-222">IE Error in 
DataPicker.js</action>
  +      <action type="fix" dev="PF" fixes-bug="TAPESTRY-586">Do not bind form 
component values unless all validators succeed.</action>
       </release>
       <release version="4.0-beta-4" date="Aug 10 2005">
         <action type="fix" dev="HLS">Add getComponent() method to 
IComponent.</action>
  
  
  

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

Reply via email to