[
https://issues.apache.org/jira/browse/WW-5388?focusedWorklogId=920261&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-920261
]
ASF GitHub Bot logged work on WW-5388:
--------------------------------------
Author: ASF GitHub Bot
Created on: 21/May/24 15:32
Start Date: 21/May/24 15:32
Worklog Time Spent: 10m
Work Description: lukaszlenart commented on code in PR #861:
URL: https://github.com/apache/struts/pull/861#discussion_r1608537187
##########
core/src/main/java/org/apache/struts2/dispatcher/multipart/AbstractMultiPartRequest.java:
##########
@@ -171,4 +298,109 @@ protected String getCanonicalName(final String
originalFileName) {
return fileName;
}
+ protected String sanitizeNewlines(String before) {
+ return before.replaceAll("\\R", "_");
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getErrors()
+ */
+ public List<LocalizedMessage> getErrors() {
+ return errors;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getFileParameterNames()
+ */
+ public Enumeration<String> getFileParameterNames() {
+ return Collections.enumeration(uploadedFiles.keySet());
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getContentType(java.lang.String)
+ */
+ public String[] getContentType(String fieldName) {
+ return uploadedFiles.getOrDefault(fieldName,
Collections.emptyList()).stream()
+ .map(UploadedFile::getContentType)
+ .toArray(String[]::new);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getFile(java.lang.String)
+ */
+ @SuppressWarnings("unchecked")
+ public UploadedFile<T>[] getFile(String fieldName) {
+ return uploadedFiles.getOrDefault(fieldName, Collections.emptyList())
+ .toArray(UploadedFile[]::new);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getFileNames(java.lang.String)
+ */
+ public String[] getFileNames(String fieldName) {
+ return uploadedFiles.getOrDefault(fieldName,
Collections.emptyList()).stream()
+ .map(file -> getCanonicalName(file.getName()))
+ .toArray(String[]::new);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getFilesystemName(java.lang.String)
+ */
+ public String[] getFilesystemName(String fieldName) {
+ return uploadedFiles.getOrDefault(fieldName,
Collections.emptyList()).stream()
+ .map(UploadedFile::getAbsolutePath)
+ .toArray(String[]::new);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getParameter(java.lang.String)
+ */
+ public String getParameter(String name) {
+ List<String> paramValue = parameters.getOrDefault(name,
Collections.emptyList());
+ if (!paramValue.isEmpty()) {
+ return paramValue.get(0);
+ }
+
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getParameterNames()
+ */
+ public Enumeration<String> getParameterNames() {
+ return Collections.enumeration(parameters.keySet());
+ }
+
+ /* (non-Javadoc)
+ * @see
org.apache.struts2.dispatcher.multipart.MultiPartRequest#getParameterValues(java.lang.String)
+ */
+ public String[] getParameterValues(String name) {
+ return parameters.getOrDefault(name, Collections.emptyList())
+ .toArray(String[]::new);
Review Comment:
@criderp please register this bug in
[JIRA](https://issues.apache.org/jira/browse/WW), thanks!
Issue Time Tracking
-------------------
Worklog Id: (was: 920261)
Time Spent: 11h 20m (was: 11h 10m)
> Upgrade Commons Fileupload to FileUpload Jakarta Servlet 6
> ----------------------------------------------------------
>
> Key: WW-5388
> URL: https://issues.apache.org/jira/browse/WW-5388
> Project: Struts 2
> Issue Type: Improvement
> Components: Core
> Reporter: Lukasz Lenart
> Assignee: Lukasz Lenart
> Priority: Major
> Fix For: 7.0.0
>
> Time Spent: 11h 20m
> Remaining Estimate: 0h
>
> There is a new version of JakartaEE FileUpload
> {code:xml}
> <dependency>
> <groupId>org.apache.commons</groupId>
> <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
> <version>2.0.0-M2</version>
> </dependency>
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)