You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/03/12 14:43:35 UTC
git commit: WICKET-5074 Improvement for MockHttpServletRequest and
FormTester to support 'multiple' input type of fileUpload
Updated Branches:
refs/heads/master af890025e -> 3bf98ca71
WICKET-5074 Improvement for MockHttpServletRequest and FormTester to support 'multiple' input type of fileUpload
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/3bf98ca7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/3bf98ca7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/3bf98ca7
Branch: refs/heads/master
Commit: 3bf98ca71ee72088920a37292ac301815991521f
Parents: af89002
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Mar 12 14:42:52 2013 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Mar 12 14:42:52 2013 +0100
----------------------------------------------------------------------
.../protocol/http/mock/MockHttpServletRequest.java | 62 +++++++++------
1 files changed, 36 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/3bf98ca7/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
index b760093..8c1a123 100755
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
@@ -175,7 +175,7 @@ public class MockHttpServletRequest implements HttpServletRequest
private String url;
- private Map<String, UploadedFile> uploadedFiles;
+ private Map<String, List<UploadedFile>> uploadedFiles;
private boolean useMultiPartContentType;
@@ -264,12 +264,19 @@ public class MockHttpServletRequest implements HttpServletRequest
if (uploadedFiles == null)
{
- uploadedFiles = new HashMap<String, UploadedFile>();
+ uploadedFiles = new HashMap<String, List<UploadedFile>>();
}
UploadedFile uf = new UploadedFile(fieldName, file, contentType);
- uploadedFiles.put(fieldName, uf);
+ List<UploadedFile> filesPerField = uploadedFiles.get(fieldName);
+ if (filesPerField == null)
+ {
+ filesPerField = new ArrayList<UploadedFile>();
+ uploadedFiles.put(fieldName, filesPerField);
+ }
+
+ filesPerField.add(uf);
setUseMultiPartContentType(true);
}
@@ -1642,32 +1649,35 @@ public class MockHttpServletRequest implements HttpServletRequest
{
for (String fieldName : uploadedFiles.keySet())
{
- UploadedFile uf = uploadedFiles.get(fieldName);
-
- newAttachment(out);
- out.write("; name=\"".getBytes());
- out.write(fieldName.getBytes());
- out.write("\"; filename=\"".getBytes());
- out.write(uf.getFile().getName().getBytes());
- out.write("\"".getBytes());
- out.write(crlf.getBytes());
- out.write("Content-Type: ".getBytes());
- out.write(uf.getContentType().getBytes());
- out.write(crlf.getBytes());
- out.write(crlf.getBytes());
-
- // Load the file and put it into the the inputstream
- FileInputStream fis = new FileInputStream(uf.getFile());
+ List<UploadedFile> files = uploadedFiles.get(fieldName);
- try
+ for (UploadedFile uf : files)
{
- IOUtils.copy(fis, out);
+ newAttachment(out);
+ out.write("; name=\"".getBytes());
+ out.write(fieldName.getBytes());
+ out.write("\"; filename=\"".getBytes());
+ out.write(uf.getFile().getName().getBytes());
+ out.write("\"".getBytes());
+ out.write(crlf.getBytes());
+ out.write("Content-Type: ".getBytes());
+ out.write(uf.getContentType().getBytes());
+ out.write(crlf.getBytes());
+ out.write(crlf.getBytes());
+
+ // Load the file and put it into the the inputstream
+ FileInputStream fis = new FileInputStream(uf.getFile());
+
+ try
+ {
+ IOUtils.copy(fis, out);
+ }
+ finally
+ {
+ fis.close();
+ }
+ out.write(crlf.getBytes());
}
- finally
- {
- fis.close();
- }
- out.write(crlf.getBytes());
}
}