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]