Repository: struts
Updated Branches:
refs/heads/master 6dcff10a6 -> 82f61666f
WW-4767 Makes some methods protected instead private to allow override them
when subclassing
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/82f61666
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/82f61666
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/82f61666
Branch: refs/heads/master
Commit: 82f61666f8f8337f4aa23e5ed38d66aa12f87b4c
Parents: 6dcff10
Author: Lukasz Lenart
Authored: Thu Mar 23 07:14:32 2017 +0100
Committer: Lukasz Lenart
Committed: Thu Mar 23 07:14:32 2017 +0100
--
.../multipart/AbstractMultiPartRequest.java | 17 +
.../multipart/JakartaMultiPartRequest.java | 32
.../JakartaStreamMultiPartRequest.java | 39 ++--
3 files changed, 37 insertions(+), 51 deletions(-)
--
http://git-wip-us.apache.org/repos/asf/struts/blob/82f61666/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
--
diff --git
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
index cc20523..10ed6cd 100644
---
a/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
+++
b/core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java
@@ -107,4 +107,21 @@ public abstract class AbstractMultiPartRequest implements
MultiPartRequest {
return errors;
}
+/**
+ * @param originalFileName file name
+ * @return the canonical name based on the supplied filename
+ */
+protected String getCanonicalName(final String originalFileName) {
+String fileName = originalFileName;
+
+int forwardSlash = fileName.lastIndexOf("/");
+int backwardSlash = fileName.lastIndexOf("\\");
+if (forwardSlash != -1 && forwardSlash > backwardSlash) {
+fileName = fileName.substring(forwardSlash + 1, fileName.length());
+} else {
+fileName = fileName.substring(backwardSlash + 1,
fileName.length());
+}
+return fileName;
+}
+
}
http://git-wip-us.apache.org/repos/asf/struts/blob/82f61666/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 e6fab1e..68bbd2b 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
@@ -87,12 +87,14 @@ public class JakartaMultiPartRequest extends
AbstractMultiPartRequest {
}
protected void processUpload(HttpServletRequest request, String saveDir)
throws FileUploadException, UnsupportedEncodingException {
-for (FileItem item : parseRequest(request, saveDir)) {
-LOG.debug("Found file item: [{}]", item.getFieldName());
-if (item.isFormField()) {
-processNormalFormField(item, request.getCharacterEncoding());
-} else {
-processFileField(item);
+if (ServletFileUpload.isMultipartContent(request)) {
+for (FileItem item : parseRequest(request, saveDir)) {
+LOG.debug("Found file item: [{}]", item.getFieldName());
+if (item.isFormField()) {
+processNormalFormField(item,
request.getCharacterEncoding());
+} else {
+processFileField(item);
+}
}
}
}
@@ -281,24 +283,6 @@ public class JakartaMultiPartRequest extends
AbstractMultiPartRequest {
}
/**
- * Returns the canonical name of the given file.
- *
- * @param filename the given file
- * @return the canonical name of the given file
- */
-private String getCanonicalName(String filename) {
-int forwardSlash = filename.lastIndexOf("/");
-int backwardSlash = filename.lastIndexOf("\\");
-if (forwardSlash != -1 && forwardSlash > backwardSlash) {
-filename = filename.substring(forwardSlash + 1, filename.length());
-} else if (backwardSlash != -1 && backwardSlash >= forwardSlash) {
-filename = filename.substring(backwardSlash + 1,
filename.length());
-}
-
-return filename;
-}
-
-/**
* Creates a RequestContext needed by Jakarta C