You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2006/12/21 23:06:39 UTC
svn commit: r489474 - in /tapestry/tapestry4/trunk:
tapestry-annotations/src/descriptor/META-INF/
tapestry-framework/src/java/org/apache/tapestry/form/
tapestry-framework/src/js/tapestry/widget/
tapestry-framework/src/test/org/apache/tapestry/form/
Author: jkuhnert
Date: Thu Dec 21 14:06:38 2006
New Revision: 489474
URL: http://svn.apache.org/viewvc?view=rev&rev=489474
Log:
Resolves TAPESTRY-1182 and TAPESTRY-1198 and TAPESTRY-1212 .
-) Patch from first try of 1182 had a reject error on the hivemodule changes that I hadn't noticed.
-) AlertDialog "Ok" text should be "OK" I guess? Made it a property on the widget.
-) Checkbox component patch that makes the checkbox record the given value even when a validation error
happens.
Modified:
tapestry/tapestry4/trunk/tapestry-annotations/src/descriptor/META-INF/hivemodule.xml
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Checkbox.java
tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/widget/AlertDialog.js
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/TestCheckbox.java
Modified: tapestry/tapestry4/trunk/tapestry-annotations/src/descriptor/META-INF/hivemodule.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-annotations/src/descriptor/META-INF/hivemodule.xml?view=diff&rev=489474&r1=489473&r2=489474
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-annotations/src/descriptor/META-INF/hivemodule.xml (original)
+++ tapestry/tapestry4/trunk/tapestry-annotations/src/descriptor/META-INF/hivemodule.xml Thu Dec 21 14:06:38 2006
@@ -131,10 +131,16 @@
<worker annotation="Asset" object="instance:AssetAnnotationWorker"/>
<worker annotation="Parameter" object="instance:ParameterAnnotationWorker"/>
<worker annotation="InjectPage" object="instance:InjectPageAnnotationWorker"/>
- <worker annotation="Component" object="instance:ComponentAnnotationWorker"/>
+ <worker annotation="Component" object="service:ComponentAnnotationWorker"/>
<worker annotation="InjectMeta" object="instance:InjectMetaAnnotationWorker"/>
<worker annotation="InjectScript" object="instance:InjectScriptAnnotationWorker"/>
</contribution>
+
+ <service-point id="ComponentAnnotationWorker" interface="MethodAnnotationEnhancementWorker">
+ <invoke-factory>
+ <construct class="ComponentAnnotationWorker" />
+ </invoke-factory>
+ </service-point>
<service-point id="InjectAssetAnnotationWorker" interface="org.apache.tapestry.enhance.EnhancementWorker">
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Checkbox.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Checkbox.java?view=diff&rev=489474&r1=489473&r2=489474
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Checkbox.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Checkbox.java Thu Dec 21 14:06:38 2006
@@ -16,6 +16,7 @@
import org.apache.tapestry.IMarkupWriter;
import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.valid.IValidationDelegate;
import org.apache.tapestry.valid.ValidatorException;
/**
@@ -44,10 +45,20 @@
if (isDisabled())
writer.attribute("disabled", "disabled");
-
- if (getValue())
+
+ // write out submitted input for case of validation errors
+
+ IValidationDelegate delegate = getForm().getDelegate();
+ boolean checked = getValue();
+ if (delegate != null && delegate.isInError()) {
+
+ checked = Boolean.valueOf(delegate.getFieldInputValue()).booleanValue();
+ }
+
+ if (checked) {
writer.attribute("checked", "checked");
-
+ }
+
renderIdAttribute(writer, cycle);
getValidatableFieldSupport().renderContributions(this, writer, cycle);
@@ -79,6 +90,7 @@
catch (ValidatorException e)
{
getForm().getDelegate().record(e);
+ getForm().getDelegate().recordFieldInputValue(Boolean.valueOf(value).toString());
}
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/widget/AlertDialog.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/widget/AlertDialog.js?view=diff&rev=489474&r1=489473&r2=489474
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/widget/AlertDialog.js (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/widget/AlertDialog.js Thu Dec 21 14:06:38 2006
@@ -29,6 +29,7 @@
dialogClass:"alertDialog",
contentClass:"alertContent",
buttonClass:"alertButton",
+ buttonText:"OK",
/**
* Function: postCreate
@@ -50,7 +51,7 @@
var buttNode=document.createElement("button");
dojo.html.setClass(buttNode, this.buttonClass);
buttNode.setAttribute("id", "alertButton");
- buttNode.innerHTML = "Ok";
+ buttNode.innerHTML = this.buttonText;
content.appendChild(buttNode);
this.okButton=buttNode;
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/TestCheckbox.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/TestCheckbox.java?view=diff&rev=489474&r1=489473&r2=489474
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/TestCheckbox.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/TestCheckbox.java Thu Dec 21 14:06:38 2006
@@ -36,12 +36,14 @@
@Test(sequential=true)
public class TestCheckbox extends BaseFormComponentTestCase
{
- public void testRenderChecked()
+
+ public void test_Render_Checked()
{
ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);
- Checkbox cb = newInstance(Checkbox.class, new Object[]
- { "name", "assignedName", "value", Boolean.TRUE, "validatableFieldSupport", vfs });
+ Checkbox cb = newInstance(Checkbox.class,
+ new Object[]{ "name", "assignedName", "value", Boolean.TRUE,
+ "validatableFieldSupport", vfs });
IForm form = newMock(IForm.class);
@@ -69,6 +71,10 @@
trainGetDelegate(form, delegate);
delegate.writePrefix(writer, cycle, cb, null);
+ expect(delegate.isInError()).andReturn(false).anyTimes();
+
+ trainGetDelegate(form, delegate);
+ expect(delegate.isInError()).andReturn(false);
vfs.renderContributions(cb, writer, cycle);
@@ -108,6 +114,9 @@
trainGetDelegate(form, delegate);
delegate.writePrefix(writer, cycle, cb, null);
+ trainGetDelegate(form, delegate);
+ expect(delegate.isInError()).andReturn(false);
+
vfs.renderContributions(cb, writer, cycle);
trainGetDelegate(form, delegate);
@@ -145,6 +154,8 @@
trainGetDelegate(form, delegate);
delegate.writePrefix(writer, cycle, cb, null);
+ expect(delegate.isInError()).andReturn(false).anyTimes();
+
vfs.renderContributions(cb, writer, cycle);
delegate.writeSuffix(writer, cycle, cb, null);
@@ -175,7 +186,9 @@
delegate.writePrefix(writer, cycle, cb, null);
- // expect(cycle.getUniqueId("foo")).andReturn("foo$unique");
+ trainGetDelegate(form, delegate);
+
+ expect(delegate.isInError()).andReturn(false).anyTimes();
vfs.renderContributions(cb, writer, cycle);
@@ -192,7 +205,7 @@
assertBuffer("<input type=\"checkbox\" name=\"assignedName\" checked=\"checked\" id=\"assignedName\" />");
}
- public void testSubmitNull()
+ public void test_Submit_Null()
{
ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);
@@ -220,7 +233,7 @@
assertEquals(false, cb.getValue());
}
- public void testSubmitValidateFailed()
+ public void test_Submit_Validate_Failed()
{
ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);
IForm form = newMock(IForm.class);
@@ -244,11 +257,13 @@
{
unreachable();
}
-
- expect(form.getDelegate()).andReturn(delegate);
+ expect(form.getDelegate()).andReturn(delegate);
delegate.record(exception);
-
+
+ expect(form.getDelegate()).andReturn(delegate);
+ delegate.recordFieldInputValue("false");
+
replay();
cb.rewindFormComponent(writer, cycle);
@@ -258,7 +273,7 @@
assertEquals(false, cb.getValue());
}
- public void testSubmitNonNull()
+ public void test_Submit_Non_Null()
{
ValidatableFieldSupport vfs = newMock(ValidatableFieldSupport.class);