This is an automated email from the ASF dual-hosted git repository. mgrigorov pushed a commit to branch WICKET-6915-upgrade-to-fileupload2 in repository https://gitbox.apache.org/repos/asf/wicket.git
commit 47d87a247322282325b6bbe613d940dcd29c90a5 Author: Martin Tzvetanov Grigorov <[email protected]> AuthorDate: Fri Aug 20 11:59:47 2021 +0300 WICKET-6915 Upgrade to commons-fileupload:2.0-SNAPSHOT --- pom.xml | 24 +++++----- wicket-core/src/main/java/module-info.java | 2 +- .../org/apache/wicket/markup/html/form/Form.java | 13 ++--- .../wicket/markup/html/form/upload/FileUpload.java | 3 +- .../markup/html/form/upload/FileUploadField.java | 2 +- .../html/form/upload/MultiFileUploadField.java | 2 +- .../wicket/protocol/http/IMultipartWebRequest.java | 2 +- .../protocol/http/mock/MockHttpServletRequest.java | 2 +- .../http/servlet/MultipartServletWebRequest.java | 4 +- .../servlet/MultipartServletWebRequestImpl.java | 55 +++++++++------------- .../protocol/http/servlet/ServletPartFileItem.java | 6 +-- .../protocol/http/servlet/ServletWebRequest.java | 8 ++-- .../markup/html/form/upload/FileUploadTest.java | 9 ++-- .../examples/ajax/builtin/FileUploadPage.java | 2 +- wicket-extensions/src/main/java/module-info.java | 2 +- .../extensions/ajax/AjaxFileDropBehavior.java | 4 +- .../html/form/upload/UploadStatusResource.java | 2 +- wicket-util/pom.xml | 9 ++-- wicket-util/src/main/java/module-info.java | 2 +- 19 files changed, 67 insertions(+), 86 deletions(-) diff --git a/pom.xml b/pom.xml index 5dec096..15190fd 100644 --- a/pom.xml +++ b/pom.xml @@ -141,7 +141,7 @@ <cdi-unit.version>4.1.0</cdi-unit.version> <commons-collections.version>3.2.2</commons-collections.version> <commons-collections4.version>4.4</commons-collections4.version> - <commons-fileupload.version>1.4</commons-fileupload.version> + <commons-fileupload.version>2.0-SNAPSHOT</commons-fileupload.version> <commons-io.version>2.11.0</commons-io.version> <commons-lang3.version>3.12.0</commons-lang3.version> <guice.version>5.0.1</guice.version> @@ -282,17 +282,6 @@ <version>${commons-collections.version}</version> </dependency> <dependency> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - <version>${commons-fileupload.version}</version> - <exclusions> - <exclusion> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons-io.version}</version> @@ -330,6 +319,17 @@ </dependency> <dependency> <groupId>org.apache.commons</groupId> + <artifactId>commons-fileupload2</artifactId> + <version>${commons-fileupload.version}</version> + <exclusions> + <exclusion> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>${commons-lang3.version}</version> </dependency> diff --git a/wicket-core/src/main/java/module-info.java b/wicket-core/src/main/java/module-info.java index 9c6dc2a..cfeed62 100644 --- a/wicket-core/src/main/java/module-info.java +++ b/wicket-core/src/main/java/module-info.java @@ -23,7 +23,7 @@ module org.apache.wicket.core { requires org.apache.wicket.request; requires org.apache.commons.io; requires org.apache.commons.collections4; - requires commons.fileupload; + requires commons.fileupload2; requires org.slf4j; requires jakarta.servlet; requires org.danekja.jdk.serializable.functional; diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java index 249083c..bf5dbbe 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java @@ -25,9 +25,9 @@ import java.util.Locale; import java.util.Map; import jakarta.servlet.http.HttpServletRequest; - -import org.apache.commons.fileupload.FileUploadBase; -import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload2.FileUploadException; +import org.apache.commons.fileupload2.pub.FileSizeLimitExceededException; +import org.apache.commons.fileupload2.pub.SizeLimitExceededException; import org.apache.wicket.Component; import org.apache.wicket.IGenericComponent; import org.apache.wicket.IRequestListener; @@ -1496,12 +1496,12 @@ public class Form<T> extends WebMarkupContainer protected void onFileUploadException(final FileUploadException e, final Map<String, Object> model) { - if (e instanceof FileUploadBase.SizeLimitExceededException) + if (e instanceof SizeLimitExceededException) { String msg = getString(UPLOAD_TOO_LARGE_RESOURCE_KEY, Model.ofMap(model)); error(msg); } - else if (e instanceof FileUploadBase.FileSizeLimitExceededException) + else if (e instanceof FileSizeLimitExceededException) { String msg = getString(UPLOAD_SINGLE_FILE_TOO_LARGE_RESOURCE_KEY, Model.ofMap(model)); error(msg); @@ -1515,9 +1515,6 @@ public class Form<T> extends WebMarkupContainer } } - /** - * @see org.apache.wicket.Component#internalOnModelChanged() - */ @Override protected void internalOnModelChanged() { diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUpload.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUpload.java index 4e662f4..39b6a7b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUpload.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUpload.java @@ -24,8 +24,7 @@ import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.List; -import org.apache.commons.fileupload.FileItem; -import org.apache.wicket.util.io.IClusterable; +import org.apache.commons.fileupload2.FileItem; import org.apache.wicket.Session; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.request.cycle.RequestCycle; diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java index 5a8f288..93f392d 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/FileUploadField.java @@ -20,7 +20,7 @@ package org.apache.wicket.markup.html.form.upload; import java.util.ArrayList; import java.util.List; -import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload2.FileItem; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.form.FormComponent; import org.apache.wicket.model.IModel; diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java index 252b39c..353ef54 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/upload/MultiFileUploadField.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; -import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload2.FileItem; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.JavaScriptHeaderItem; diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/IMultipartWebRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/IMultipartWebRequest.java index a25c92c..36f9f50 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/IMultipartWebRequest.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/IMultipartWebRequest.java @@ -19,7 +19,7 @@ package org.apache.wicket.protocol.http; import java.util.List; import java.util.Map; -import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload2.FileItem; /** 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 bb32ee1..8d315e3 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 @@ -57,7 +57,7 @@ import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpUpgradeHandler; import jakarta.servlet.http.Part; -import org.apache.commons.fileupload.FileUploadBase; +import org.apache.commons.fileupload2.FileUploadBase; import org.apache.wicket.Application; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.mock.MockRequestParameters; diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequest.java index 29bc91b..4c2d5dd 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequest.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequest.java @@ -21,8 +21,8 @@ import java.util.Map; import jakarta.servlet.http.HttpServletRequest; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload2.FileItem; +import org.apache.commons.fileupload2.FileUploadException; import org.apache.wicket.protocol.http.IMultipartWebRequest; import org.apache.wicket.request.IRequestParameters; import org.apache.wicket.request.Url; diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java index cc27c4e..294faf1 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java @@ -18,7 +18,6 @@ package org.apache.wicket.protocol.http.servlet; import java.io.IOException; import java.io.InputStream; -import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -26,16 +25,16 @@ import java.util.List; import java.util.Map; import jakarta.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.Part; - -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemFactory; -import org.apache.commons.fileupload.FileUploadBase; -import org.apache.commons.fileupload.FileUploadException; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.fileupload.servlet.ServletFileUpload; -import org.apache.commons.fileupload.servlet.ServletRequestContext; +import org.apache.commons.fileupload2.FileItem; +import org.apache.commons.fileupload2.FileItemFactory; +import org.apache.commons.fileupload2.FileUploadBase; +import org.apache.commons.fileupload2.FileUploadException; +import org.apache.commons.fileupload2.disk.DiskFileItemFactory; +import org.apache.commons.fileupload2.jaksrvlt.JakSrvltFileUpload; +import org.apache.commons.fileupload2.jaksrvlt.JakSrvltRequestContext; +import org.apache.commons.fileupload2.pub.FileSizeLimitExceededException; import org.apache.commons.io.FileCleaningTracker; import org.apache.wicket.Application; import org.apache.wicket.WicketRuntimeException; @@ -91,7 +90,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest * Thrown if something goes wrong with upload */ public MultipartServletWebRequestImpl(HttpServletRequest request, String filterPrefix, - Bytes maxSize, String upload) throws FileUploadException + Bytes maxSize, String upload) throws FileUploadException { this(request, filterPrefix, maxSize, upload, new DiskFileItemFactory() { @@ -135,12 +134,11 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest files = new HashMap<>(); // Check that request is multipart - // FIXME Wicket 10 This needs a new release of Commons FileUpload (https://issues.apache.org/jira/browse/FILEUPLOAD-309) - final boolean isMultipart = ServletFileUpload.isMultipartContent(request); + final boolean isMultipart = JakSrvltFileUpload.isMultipartContent(request); if (!isMultipart) { throw new IllegalStateException( - "ServletRequest does not contain multipart content. One possible solution is to explicitly call Form.setMultipart(true), Wicket tries its best to auto-detect multipart forms but there are certain situation where it cannot."); + "ServletRequest does not contain multipart content. One possible solution is to explicitly call Form.setMultipart(true), Wicket tries its best to auto-detect multipart forms but there are certain situations where it cannot."); } setMaxSize(maxSize); @@ -149,7 +147,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest @Override public void parseFileParts() throws FileUploadException { - HttpServletRequest request = new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()); + HttpServletRequest request = getContainerRequest(); // The encoding that will be used to decode the string parameters // It should NOT be null at this point, but it may be @@ -170,7 +168,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest if (wantUploadProgressUpdates()) { - ServletRequestContext ctx = new ServletRequestContext(request) + JakSrvltRequestContext ctx = new JakSrvltRequestContext(request) { @Override public InputStream getInputStream() throws IOException @@ -194,7 +192,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest { // try to parse the file uploads by using Apache Commons FileUpload APIs // because they are feature richer (e.g. progress updates, cleaner) - items = fileUpload.parseRequest(new ServletRequestContext(request)); + items = fileUpload.parseRequest(new JakSrvltRequestContext(request)); if (items.isEmpty()) { // fallback to Servlet 3.0 APIs @@ -217,7 +215,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest { value = item.getString(encoding); } - catch (UnsupportedEncodingException e) + catch (IOException e) { throw new WicketRuntimeException(e); } @@ -284,7 +282,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest */ protected FileUploadBase newFileUpload(String encoding) { // Configure the factory here, if desired. - ServletFileUpload fileUpload = new ServletFileUpload(fileItemFactory); + JakSrvltFileUpload fileUpload = new JakSrvltFileUpload(fileItemFactory); // set encoding specifically when we found it if (encoding != null) @@ -375,7 +373,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest } /** - * Subclasses that want to receive upload notifications should return true. By default it takes + * Subclasses that want to receive upload notifications should return true. By default, it takes * the value from {@link org.apache.wicket.settings.ApplicationSettings#isUploadProgressUpdatesEnabled()}. * * @return true if upload status update event should be invoked @@ -394,7 +392,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest { UploadInfo info = new UploadInfo(totalBytes); - setUploadInfo(new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()), upload, info); + setUploadInfo(getContainerRequest(), upload, info); } /** @@ -405,7 +403,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest */ protected void onUploadUpdate(int bytesUploaded, int total) { - HttpServletRequest request = new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()); + HttpServletRequest request = getContainerRequest(); UploadInfo info = getUploadInfo(request, upload); if (info == null) { @@ -422,7 +420,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest */ protected void onUploadCompleted() { - clearUploadInfo(new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()), upload); + clearUploadInfo(getContainerRequest(), upload); } /** @@ -446,9 +444,6 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest this.in = in; } - /** - * @see java.io.InputStream#read() - */ @Override public int read() throws IOException { @@ -458,9 +453,6 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest return read; } - /** - * @see java.io.InputStream#read(byte[]) - */ @Override public int read(byte[] b) throws IOException { @@ -470,9 +462,6 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest return read; } - /** - * @see java.io.InputStream#read(byte[], int, int) - */ @Override public int read(byte[] b, int off, int len) throws IOException { @@ -502,7 +491,7 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest if (fileMaxSize != null && fileItem.getSize() > fileMaxSize.bytes()) { String fieldName = entry.getKey(); - FileUploadException fslex = new FileUploadBase.FileSizeLimitExceededException("The field '" + + FileUploadException fslex = new FileSizeLimitExceededException("The field '" + fieldName + "' exceeds its maximum permitted size of '" + maxSize + "' characters.", fileItem.getSize(), fileMaxSize.bytes()); throw fslex; diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java index 93c2ea3..69fc05e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletPartFileItem.java @@ -25,9 +25,9 @@ import java.util.Collection; import jakarta.servlet.http.Part; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemHeaders; -import org.apache.commons.fileupload.util.FileItemHeadersImpl; +import org.apache.commons.fileupload2.FileItem; +import org.apache.commons.fileupload2.FileItemHeaders; +import org.apache.commons.fileupload2.util.FileItemHeadersImpl; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.request.resource.AbstractResource; import org.apache.wicket.util.io.IOUtils; diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java index 85e600e..3a87b87 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java @@ -30,8 +30,8 @@ import java.util.Set; import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import org.apache.commons.fileupload.FileItemFactory; -import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload2.FileItemFactory; +import org.apache.commons.fileupload2.FileUploadException; import org.apache.wicket.protocol.http.RequestUtils; import org.apache.wicket.request.IRequestParameters; import org.apache.wicket.request.IWritableRequestParameters; @@ -428,7 +428,7 @@ public class ServletWebRequest extends WebRequest public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload) throws FileUploadException { - return new MultipartServletWebRequestImpl(new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()), filterPrefix, maxSize, upload); + return new MultipartServletWebRequestImpl(getContainerRequest(), filterPrefix, maxSize, upload); } /** @@ -445,7 +445,7 @@ public class ServletWebRequest extends WebRequest public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload, FileItemFactory factory) throws FileUploadException { - return new MultipartServletWebRequestImpl(new javax.servlet.http.HttpServletRequest.Impl(getContainerRequest()), filterPrefix, maxSize, upload, factory); + return new MultipartServletWebRequestImpl(getContainerRequest(), filterPrefix, maxSize, upload, factory); } @Override diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadTest.java index 9df7275..5ce3791 100644 --- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/upload/FileUploadTest.java @@ -27,8 +27,8 @@ import java.io.InputStream; import java.lang.reflect.Field; import java.util.List; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.fileupload2.FileItem; +import org.apache.commons.fileupload2.disk.DiskFileItemFactory; import org.apache.commons.io.FileCleaningTracker; import org.apache.wicket.util.file.File; import org.apache.wicket.util.file.FileCleaner; @@ -36,7 +36,6 @@ import org.apache.wicket.util.file.FileCleanerTrackerAdapter; import org.apache.wicket.util.file.IFileCleaner; import org.apache.wicket.util.tester.FormTester; import org.apache.wicket.util.tester.WicketTestCase; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -44,9 +43,7 @@ import org.junit.jupiter.api.Test; * * @author Frank Bille (billen) */ -// FIXME Wicket 10 -@Disabled -public class FileUploadTest extends WicketTestCase +class FileUploadTest extends WicketTestCase { /** diff --git a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java index a84b45b..33cb635 100644 --- a/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java +++ b/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/FileUploadPage.java @@ -21,7 +21,7 @@ import java.util.Iterator; import java.util.List; import org.apache.commons.collections4.iterators.EmptyIterator; -import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload2.FileUploadException; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxButton; diff --git a/wicket-extensions/src/main/java/module-info.java b/wicket-extensions/src/main/java/module-info.java index 287d7a3..54479d7 100644 --- a/wicket-extensions/src/main/java/module-info.java +++ b/wicket-extensions/src/main/java/module-info.java @@ -21,7 +21,7 @@ module org.apache.wicket.extensions { requires org.slf4j; requires com.fasterxml.jackson.databind; requires com.github.openjson; - requires commons.fileupload; + requires commons.fileupload2; requires org.apache.wicket.util; requires org.apache.wicket.request; requires org.apache.wicket.core; diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxFileDropBehavior.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxFileDropBehavior.java index b2f29c9..6554c44 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxFileDropBehavior.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/AjaxFileDropBehavior.java @@ -19,8 +19,8 @@ package org.apache.wicket.extensions.ajax; import java.util.ArrayList; import java.util.List; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileUploadException; +import org.apache.commons.fileupload2.FileItem; +import org.apache.commons.fileupload2.FileUploadException; import org.apache.wicket.Component; import org.apache.wicket.WicketRuntimeException; import org.apache.wicket.ajax.AjaxEventBehavior; diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadStatusResource.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadStatusResource.java index bdd878a..13dbd2b 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadStatusResource.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadStatusResource.java @@ -91,7 +91,7 @@ class UploadStatusResource extends AbstractResource final HttpServletRequest req = (HttpServletRequest)attributes.getRequest() .getContainerRequest(); - UploadInfo info = MultipartServletWebRequestImpl.getUploadInfo(new javax.servlet.http.HttpServletRequest.Impl(req), upload); + UploadInfo info = MultipartServletWebRequestImpl.getUploadInfo(req, upload); String status; if ((info == null) || (info.getTotalBytes() < 1)) diff --git a/wicket-util/pom.xml b/wicket-util/pom.xml index 8073a20..bdfbf85 100755 --- a/wicket-util/pom.xml +++ b/wicket-util/pom.xml @@ -29,11 +29,6 @@ <dependencies> <dependency> - <groupId>commons-fileupload</groupId> -<!-- <groupId>com.jwebmp.jpms.commons</groupId>--> - <artifactId>commons-fileupload</artifactId> - </dependency> - <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> @@ -42,6 +37,10 @@ <artifactId>commons-collections4</artifactId> </dependency> <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-fileupload2</artifactId> + </dependency> + <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>compile</scope> diff --git a/wicket-util/src/main/java/module-info.java b/wicket-util/src/main/java/module-info.java index e6729ec..697a540 100644 --- a/wicket-util/src/main/java/module-info.java +++ b/wicket-util/src/main/java/module-info.java @@ -23,7 +23,7 @@ module org.apache.wicket.util { requires java.desktop; requires org.apache.commons.io; requires org.apache.commons.collections4; - requires commons.fileupload; + requires commons.fileupload2; requires org.slf4j; requires jakarta.servlet; requires org.junit.jupiter.api;
