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);


Reply via email to