Author: mgrigorov
Date: Tue May 10 18:58:54 2011
New Revision: 1101597
URL: http://svn.apache.org/viewvc?rev=1101597&view=rev
Log:
WICKET-3698 FileUploadField no longer updates model in wicket 1.5
FileUploadField now accepts ListModel as constructor parameter.
The user application can get the uploaded file(s) thru:
1) getFileUpload() - returns the first (out of many) or the single (if
'multiple' is not supported)
2) getFileUploads() - returns a list of all uploaded files
3) getModelObject() - returns a list of all uploaded files
Change one of the tests to use getModelObject() so we have bigger coverage.
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadError.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java?rev=1101597&r1=1101596&r2=1101597&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java
Tue May 10 18:58:54 2011
@@ -18,12 +18,10 @@ package org.apache.wicket.markup.html.fo
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.html.form.FormComponent;
-import org.apache.wicket.model.IModel;
import org.apache.wicket.model.util.ListModel;
import org.apache.wicket.protocol.http.IMultipartWebRequest;
import org.apache.wicket.request.Request;
@@ -62,11 +60,11 @@ public class FileUploadField extends For
* @param id
* See Component
* @param model
- * See Component
+ * the model holding the uploaded {@link FileUpload}s
*/
- public FileUploadField(final String id, IModel<FileUpload> model)
+ public FileUploadField(final String id, ListModel<FileUpload> model)
{
- super(id, new
ListModel<FileUpload>(Arrays.asList(model.getObject())));
+ super(id, model);
}
/**
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadError.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadError.java?rev=1101597&r1=1101596&r2=1101597&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadError.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadError.java
Tue May 10 18:58:54 2011
@@ -22,6 +22,7 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.ListModel;
import org.apache.wicket.validation.validator.StringValidator;
/**
@@ -75,7 +76,7 @@ public class FileUploadError extends Web
form.add(inputField);
// file upload
- form.add(new FileUploadField("fileUpload", new
Model<FileUpload>()));
+ form.add(new FileUploadField("fileUpload", new
ListModel<FileUpload>()));
// feedback
form.add(new FeedbackPanel("feedback"));
}
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java?rev=1101597&r1=1101596&r2=1101597&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/MockPageWithFormAndUploadField.java
Tue May 10 18:58:54 2011
@@ -18,7 +18,7 @@ package org.apache.wicket.markup.html.fo
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.ListModel;
/**
* Mock page for use in the FileUploadFieldTest
@@ -38,6 +38,8 @@ public class MockPageWithFormAndUploadFi
*/
public MockPageWithFormAndUploadField()
{
+ final ListModel<FileUpload> model = new ListModel<FileUpload>();
+
form = new Form<Void>("form")
{
/**
@@ -48,10 +50,10 @@ public class MockPageWithFormAndUploadFi
@Override
protected void onSubmit()
{
- fileUpload = fileUploadField.getFileUpload();
+ fileUpload = model.getObject().get(0);
}
};
- fileUploadField = new FileUploadField("upload", new
Model<FileUpload>());
+ fileUploadField = new FileUploadField("upload", model);
form.add(fileUploadField);
add(form);
}
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java?rev=1101597&r1=1101596&r2=1101597&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/util/tester/MockFormFileUploadPage.java
Tue May 10 18:58:54 2011
@@ -24,7 +24,7 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.markup.html.form.upload.FileUpload;
import org.apache.wicket.markup.html.form.upload.FileUploadField;
import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
+import org.apache.wicket.model.util.ListModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.util.lang.Bytes;
import org.apache.wicket.util.string.StringValue;
@@ -105,7 +105,7 @@ public class MockFormFileUploadPage exte
form.setMultiPart(true);
form.setMaxSize(Bytes.kilobytes(100));
form.add(new TextField<String>("text"));
- fileUploadField = new FileUploadField("file", new
Model<FileUpload>());
+ fileUploadField = new FileUploadField("file", new
ListModel<FileUpload>());
StringValue requiredParam = param.get("required");
boolean required = requiredParam.toBoolean();
fileUploadField.setRequired(required);