You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2008/09/10 20:36:02 UTC
svn commit: r693923 - in /tapestry/tapestry5/trunk/tapestry-upload/src:
main/java/org/apache/tapestry5/upload/components/Upload.java
test/java/org/apache/tapestry5/upload/components/UploadTest.java
Author: hlship
Date: Wed Sep 10 11:36:01 2008
New Revision: 693923
URL: http://svn.apache.org/viewvc?rev=693923&view=rev
Log:
TAPESTRY-2453: Form enctype is not updated when an Upload component is injected via FormInjector / AjaxFormLoop
Modified:
tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry5/upload/components/UploadTest.java
Modified: tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java?rev=693923&r1=693922&r2=693923&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java (original)
+++ tapestry/tapestry5/trunk/tapestry-upload/src/main/java/org/apache/tapestry5/upload/components/Upload.java Wed Sep 10 11:36:01 2008
@@ -171,22 +171,35 @@
return value;
}
- void injectDecorator(ValidationDecorator decorator)
+ Upload injectDecorator(ValidationDecorator decorator)
{
setDecorator(decorator);
+
+ return this;
}
- void injectFormSupport(FormSupport formSupport)
+ Upload injectRequest(Request request)
+ {
+ this.request = request;
+
+ return this;
+ }
+
+ Upload injectFormSupport(FormSupport formSupport)
{
// We have our copy ...
this.formSupport = formSupport;
// As does AbstractField
setFormSupport(formSupport);
+
+ return this;
}
- void injectFieldValidator(FieldValidator validator)
+ Upload injectFieldValidator(FieldValidator validator)
{
this.validate = validator;
+
+ return this;
}
}
Modified: tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry5/upload/components/UploadTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry5/upload/components/UploadTest.java?rev=693923&r1=693922&r2=693923&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry5/upload/components/UploadTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-upload/src/test/java/org/apache/tapestry5/upload/components/UploadTest.java Wed Sep 10 11:36:01 2008
@@ -17,6 +17,7 @@
import org.apache.tapestry5.*;
import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.services.FormSupport;
+import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.test.TapestryTestCase;
import org.apache.tapestry5.upload.services.MultipartDecoder;
import org.apache.tapestry5.upload.services.UploadedFile;
@@ -40,6 +41,9 @@
FormSupport formSupport = mockFormSupport();
ComponentResources resources = mockComponentResources();
FieldValidator validator = mockFieldValidator();
+ Request request = mockRequest();
+
+ train_isXHR(request, false);
formSupport.setEncodingType(Upload.MULTIPART_ENCTYPE);
@@ -51,9 +55,8 @@
Upload component = new Upload(null, null, null, null, resources, null);
- component.injectDecorator(new BaseValidationDecorator());
- component.injectFormSupport(formSupport);
- component.injectFieldValidator(validator);
+ component.injectDecorator(new BaseValidationDecorator()).injectFormSupport(formSupport).injectFieldValidator(
+ validator).injectRequest(request);
component.beginRender(writer);
@@ -78,22 +81,24 @@
MarkupWriter writer = createMarkupWriter();
writer.element("form");
FieldValidator validator = mockFieldValidator();
+ Request request = mockRequest();
FormSupport formSupport = mockFormSupport();
formSupport.setEncodingType(Upload.MULTIPART_ENCTYPE);
- component.injectFormSupport(formSupport);
+ component.injectFormSupport(formSupport).injectRequest(request);
ValidationDecorator decorator = mockValidationDecorator();
- component.injectDecorator(decorator);
- component.injectFieldValidator(validator);
+ component.injectDecorator(decorator).injectFieldValidator(validator);
validator.render(writer);
resources.renderInformalParameters(writer);
decorator.insideField(component);
+ train_isXHR(request, false);
+
replay();
component.beginRender(writer);
@@ -112,19 +117,24 @@
Upload component = new Upload(null, validate, null, null, resources, null);
MarkupWriter writer = createMarkupWriter();
writer.element("form");
+ Request request = mockRequest();
FormSupport formSupport = mockFormSupport();
formSupport.setEncodingType(Upload.MULTIPART_ENCTYPE);
- component.injectFormSupport(formSupport);
+
ValidationDecorator decorator = mockValidationDecorator();
- component.injectDecorator(decorator);
+ component.injectDecorator(decorator).injectRequest(request).injectFormSupport(formSupport);
validate.render(writer);
+
resources.renderInformalParameters(writer);
+
decorator.insideField(component);
+ train_isXHR(request, false);
+
replay();
component.beginRender(writer);