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 2021/12/22 14:33:06 UTC
[wicket] branch master updated: WICKET-6915 Upgrade to commons-fileupload2 (#486)
This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git
The following commit(s) were added to refs/heads/master by this push:
new 41689ce WICKET-6915 Upgrade to commons-fileupload2 (#486)
41689ce is described below
commit 41689ce8ec1b41806d8cb61e08abf6227f421531
Author: Martin Grigorov <ma...@users.noreply.github.com>
AuthorDate: Wed Dec 22 16:32:58 2021 +0200
WICKET-6915 Upgrade to commons-fileupload2 (#486)
* WICKET-6915 Upgrade to commons-fileupload:2.0-SNAPSHOT
* WICKET-6915 Remove unused import of javax.servlet.http.HttpServletRequest
Update a comment in module-info.java
---
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 ++--
.../main/java/javax/servlet/ServletContext.java | 2 -
wicket-util/src/main/java/module-info.java | 4 +-
20 files changed, 68 insertions(+), 89 deletions(-)
diff --git a/pom.xml b/pom.xml
index 50d08a9..a93a0e9 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/javax/servlet/ServletContext.java b/wicket-util/src/main/java/javax/servlet/ServletContext.java
index 97d45f1..ad755b2 100644
--- a/wicket-util/src/main/java/javax/servlet/ServletContext.java
+++ b/wicket-util/src/main/java/javax/servlet/ServletContext.java
@@ -24,8 +24,6 @@ import java.util.EventListener;
import java.util.Map;
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
-
import jakarta.servlet.Filter;
import jakarta.servlet.FilterRegistration;
import jakarta.servlet.RequestDispatcher;
diff --git a/wicket-util/src/main/java/module-info.java b/wicket-util/src/main/java/module-info.java
index e6729ec..678d5d8 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;
@@ -54,7 +54,7 @@ module org.apache.wicket.util {
exports org.apache.wicket.util.watch;
exports org.apache.wicket.util.xml;
- // temporary hack until CDI-Unit, commons-fileupload and Spring provide Jakarta EE based releases
+ // temporary hack until CDI-Unit and Spring provide Jakarta EE based releases
exports javax.servlet;
exports javax.servlet.http;
}