Repository: struts Updated Branches: refs/heads/develop 09012d7e5 -> 1dd873078
WW-4308 Extracts method and increases visibility to allow subclassing Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/1dd87307 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/1dd87307 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/1dd87307 Branch: refs/heads/develop Commit: 1dd8730781eac4e9ea9b114ad110047d2f1808e2 Parents: 09012d7 Author: Lukasz Lenart <lukaszlen...@apache.org> Authored: Fri Aug 1 13:47:09 2014 +0200 Committer: Lukasz Lenart <lukaszlen...@apache.org> Committed: Fri Aug 1 13:47:09 2014 +0200 ---------------------------------------------------------------------- .../multipart/JakartaMultiPartRequest.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts/blob/1dd87307/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java index 1d7ec36..eecec0e 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java @@ -123,7 +123,7 @@ public class JakartaMultiPartRequest implements MultiPartRequest { return LocalizedTextUtil.findText(this.getClass(), errorKey, defaultLocale, e.getMessage(), args); } - private void processUpload(HttpServletRequest request, String saveDir) throws FileUploadException, UnsupportedEncodingException { + protected void processUpload(HttpServletRequest request, String saveDir) throws FileUploadException, UnsupportedEncodingException { for (FileItem item : parseRequest(request, saveDir)) { if (LOG.isDebugEnabled()) { LOG.debug("Found item " + item.getFieldName()); @@ -136,7 +136,7 @@ public class JakartaMultiPartRequest implements MultiPartRequest { } } - private void processFileField(FileItem item) { + protected void processFileField(FileItem item) { if (LOG.isDebugEnabled()) { LOG.debug("Item is a file upload"); } @@ -158,7 +158,7 @@ public class JakartaMultiPartRequest implements MultiPartRequest { files.put(item.getFieldName(), values); } - private void processNormalFormField(FileItem item, String charset) throws UnsupportedEncodingException { + protected void processNormalFormField(FileItem item, String charset) throws UnsupportedEncodingException { if (LOG.isDebugEnabled()) { LOG.debug("Item is a normal form field"); } @@ -182,14 +182,19 @@ public class JakartaMultiPartRequest implements MultiPartRequest { item.delete(); } - private List<FileItem> parseRequest(HttpServletRequest servletRequest, String saveDir) throws FileUploadException { + protected List<FileItem> parseRequest(HttpServletRequest servletRequest, String saveDir) throws FileUploadException { DiskFileItemFactory fac = createDiskFileItemFactory(saveDir); + ServletFileUpload upload = createServletFileUpload(fac); + return upload.parseRequest(createRequestContext(servletRequest)); + } + + protected ServletFileUpload createServletFileUpload(DiskFileItemFactory fac) { ServletFileUpload upload = new ServletFileUpload(fac); upload.setSizeMax(maxSize); - return upload.parseRequest(createRequestContext(servletRequest)); + return upload; } - private DiskFileItemFactory createDiskFileItemFactory(String saveDir) { + protected DiskFileItemFactory createDiskFileItemFactory(String saveDir) { DiskFileItemFactory fac = new DiskFileItemFactory(); // Make sure that the data is written to file fac.setSizeThreshold(0); @@ -350,7 +355,7 @@ public class JakartaMultiPartRequest implements MultiPartRequest { * @param req the request. * @return a new request context. */ - private RequestContext createRequestContext(final HttpServletRequest req) { + protected RequestContext createRequestContext(final HttpServletRequest req) { return new RequestContext() { public String getCharacterEncoding() { return req.getCharacterEncoding();