You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/06/06 21:48:31 UTC
[commons-fileupload] branch master updated: Use a builder for DiskFileItemFactory
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-fileupload.git
The following commit(s) were added to refs/heads/master by this push:
new be459a0 Use a builder for DiskFileItemFactory
be459a0 is described below
commit be459a0252c00357951186d88aca541ca9b4af2c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Jun 6 17:48:27 2023 -0400
Use a builder for DiskFileItemFactory
Better method names
---
.../commons/fileupload2/AbstractFileUpload.java | 2 +-
.../commons/fileupload2/FileItemFactory.java | 2 +-
.../commons/fileupload2/FileItemIteratorImpl.java | 2 +-
.../commons/fileupload2/disk/DiskFileItem.java | 10 +-
.../fileupload2/disk/DiskFileItemFactory.java | 116 +++++++++++++++------
.../commons/fileupload2/AbstractStreamingTest.java | 4 +-
.../fileupload2/DiskFileItemSerializeTest.java | 6 +-
.../jakarta/JakartaServletFileUploadTest.java | 6 +-
.../fileupload2/jakarta/JakartaSizesTest.java | 2 +-
.../javax/JavaxServletFileUploadTest.java | 8 +-
.../commons/fileupload2/javax/JavaxSizesTest.java | 2 +-
.../fileupload2/portlet/PortletFileUploadTest.java | 2 +-
12 files changed, 105 insertions(+), 57 deletions(-)
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
index a3a06d6..6d23ea2 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/AbstractFileUpload.java
@@ -420,7 +420,7 @@ public abstract class AbstractFileUpload {
final FileItemStream item = iter.next();
// Don't use getName() here to prevent an InvalidFileNameException.
final String fileName = item.getName();
- final FileItem fileItem = fileItemFactory.createItem(item.getFieldName(), item.getContentType(), item.isFormField(), fileName);
+ final FileItem fileItem = fileItemFactory.createFileItem(item.getFieldName(), item.getContentType(), item.isFormField(), fileName);
items.add(fileItem);
try (InputStream inputStream = item.openStream();
OutputStream outputStream = fileItem.getOutputStream()) {
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
index a94a0aa..9a970ae 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemFactory.java
@@ -33,6 +33,6 @@ public interface FileItemFactory {
* @param fileName The name of the uploaded file, if any, as supplied by the browser or other client.
* @return The newly created file item.
*/
- FileItem createItem(String fieldName, String contentType, boolean isFormField, String fileName);
+ FileItem createFileItem(String fieldName, String contentType, boolean isFormField, String fileName);
}
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIteratorImpl.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIteratorImpl.java
index c067080..b446832 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIteratorImpl.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIteratorImpl.java
@@ -196,7 +196,7 @@ class FileItemIteratorImpl implements FileItemIterator {
final List<FileItem> items = new ArrayList<>();
while (hasNext()) {
final FileItemStream fis = next();
- items.add(fileUploadBase.getFileItemFactory().createItem(fis.getFieldName(), fis.getContentType(), fis.isFormField(), fis.getName()));
+ items.add(fileUploadBase.getFileItemFactory().createFileItem(fis.getFieldName(), fis.getContentType(), fis.isFormField(), fis.getName()));
}
return items;
}
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItem.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItem.java
index 020ccf9..9208bc7 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItem.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItem.java
@@ -153,7 +153,7 @@ public class DiskFileItem implements FileItem {
/**
* The threshold above which uploads will be stored on disk.
*/
- private final int sizeThreshold;
+ private final int threshold;
/**
* The directory in which uploaded files will be stored, if stored on disk.
@@ -192,16 +192,16 @@ public class DiskFileItem implements FileItem {
* @param contentType The content type passed by the browser or {@code null} if not specified.
* @param isFormField Whether or not this item is a plain form field, as opposed to a file upload.
* @param fileName The original file name in the user's file system, or {@code null} if not specified.
- * @param sizeThreshold The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.
+ * @param threshold The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.
* @param repository The data repository, which is the directory in which files will be created, should the item size exceed the threshold.
*/
- public DiskFileItem(final String fieldName, final String contentType, final boolean isFormField, final String fileName, final int sizeThreshold,
+ public DiskFileItem(final String fieldName, final String contentType, final boolean isFormField, final String fileName, final int threshold,
final Path repository) {
this.fieldName = fieldName;
this.contentType = contentType;
this.isFormField = isFormField;
this.fileName = fileName;
- this.sizeThreshold = sizeThreshold;
+ this.threshold = threshold;
this.repository = repository != null ? repository : PathUtils.getTempDirectory();
}
@@ -334,7 +334,7 @@ public class DiskFileItem implements FileItem {
@Override
public OutputStream getOutputStream() {
if (dfos == null) {
- dfos = DeferredFileOutputStream.builder().setThreshold(sizeThreshold).setOutputFile(getTempFile().toFile()).get();
+ dfos = DeferredFileOutputStream.builder().setThreshold(threshold).setOutputFile(getTempFile().toFile()).get();
}
return dfos;
}
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItemFactory.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItemFactory.java
index bf881f0..4f6c544 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItemFactory.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/DiskFileItemFactory.java
@@ -22,11 +22,14 @@ import java.nio.file.Path;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
import org.apache.commons.io.FileCleaningTracker;
+import org.apache.commons.io.build.AbstractOrigin;
+import org.apache.commons.io.build.AbstractStreamBuilder;
+import org.apache.commons.io.file.PathUtils;
/**
- * The default {@link org.apache.commons.fileupload2.FileItemFactory} implementation.
+ * The default {@link FileItemFactory} implementation.
* <p>
- * This implementation creates {@link org.apache.commons.fileupload2.FileItem} instances which keep their content either in memory, for smaller items, or in a
+ * This implementation creates {@link FileItem} instances which keep their content either in memory, for smaller items, or in a
* temporary file on disk, for larger items. The size threshold, above which content will be stored on disk, is configurable, as is the directory in which
* temporary files will be created.
* </p>
@@ -34,11 +37,11 @@ import org.apache.commons.io.FileCleaningTracker;
* If not otherwise configured, the default configuration values are as follows:
* </p>
* <ul>
- * <li>Size threshold is 10KB.</li>
- * <li>Repository is the system default temp directory, as returned by {@code System.getProperty("java.io.tmpdir")}.</li>
+ * <li>Size threshold is 10 KB.</li>
+ * <li>Repository is the system default temporary directory, as returned by {@code System.getProperty("java.io.tmpdir")}.</li>
* </ul>
* <p>
- * <b>NOTE</b>: Files are created in the system default temp directory with predictable names. This means that a local attacker with write access to that
+ * <b>NOTE</b>: Files are created in the system default temporary directory with predictable names. This means that a local attacker with write access to that
* directory can perform a TOUTOC attack to replace any uploaded file with a file of the attackers choice. The implications of this will depend on how the
* uploaded file is used but could be significant. When using this implementation in an environment with local, untrusted users, {@link #setRepository(Path)}
* MUST be used to configure a repository location that is not publicly writable. In a Servlet container the location identified by the ServletContext attribute
@@ -51,13 +54,68 @@ import org.apache.commons.io.FileCleaningTracker;
* the so-called reaper thread, which is started and stopped automatically by the {@link FileCleaningTracker} when there are files to be tracked. It might make
* sense to terminate that thread, for example, if your web application ends. See the section on "Resource cleanup" in the users guide of Commons FileUpload.
* </p>
+ * @see Builder
+ * @see Builder#get()
*/
-public class DiskFileItemFactory implements FileItemFactory {
+public final class DiskFileItemFactory implements FileItemFactory {
/**
- * The default threshold above which uploads will be stored on disk.
+ * Builds a new {@link DiskFileItemFactory} instance.
+ * <p>
+ * For example:
+ * </p>
+ *
+ * <pre>{@code
+ * DiskFileItemFactory factory = DiskFileItemFactory.builder()
+ * .setPath(path)
+ * .setBufferSize(DEFAULT_THRESHOLD)
+ * .get();
+ * }
+ * </pre>
+ *
+ * @since 2.12.0
*/
- public static final int DEFAULT_SIZE_THRESHOLD = 10_240;
+ public static class Builder extends AbstractStreamBuilder<DiskFileItemFactory, Builder> {
+
+ public Builder() {
+ setBufferSize(DEFAULT_THRESHOLD);
+ setPath(PathUtils.getTempDirectory());
+ }
+
+ /**
+ * Constructs a new instance.
+ * <p>
+ * This builder use the aspects Path and buffer size.
+ * </p>
+ * <p>
+ * You must provide an origin that can be converted to a Reader by this builder, otherwise, this call will throw an
+ * {@link UnsupportedOperationException}.
+ * </p>
+ *
+ * @return a new instance.
+ * @throws UnsupportedOperationException if the origin cannot provide a Path.
+ * @see AbstractOrigin#getReader(Charset)
+ */
+ @Override
+ public DiskFileItemFactory get() {
+ return new DiskFileItemFactory(getOrigin().getPath(), getBufferSize());
+ }
+
+ }
+
+ /**
+ * The default threshold in bytes above which uploads will be stored on disk.
+ */
+ public static final int DEFAULT_THRESHOLD = 10_240;
+
+ /**
+ * Constructs a new {@link Builder}.
+ *
+ * @return a new {@link Builder}.
+ */
+ public static Builder builder() {
+ return new Builder();
+ }
/**
* The directory in which uploaded files will be stored, if stored on disk.
@@ -67,7 +125,7 @@ public class DiskFileItemFactory implements FileItemFactory {
/**
* The threshold above which uploads will be stored on disk.
*/
- private int sizeThreshold = DEFAULT_SIZE_THRESHOLD;
+ private int threshold = DEFAULT_THRESHOLD;
/**
* The instance of {@link FileCleaningTracker}, which is responsible for deleting temporary files.
@@ -82,21 +140,13 @@ public class DiskFileItemFactory implements FileItemFactory {
*/
private Charset defaultCharset = DiskFileItem.DEFAULT_CHARSET;
- /**
- * Constructs an unconfigured instance of this class. The resulting factory may be configured by calling the appropriate setter methods.
- */
- public DiskFileItemFactory() {
- this(DEFAULT_SIZE_THRESHOLD, null);
- }
-
/**
* Constructs a preconfigured instance of this class.
- *
- * @param sizeThreshold The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.
- * @param repository The data repository, which is the directory in which files will be created, should the item size exceed the threshold.
+ * @param repository The data repository, which is the directory in which files will be created, should the item size exceed the threshold.
+ * @param threshold The threshold, in bytes, below which items will be retained in memory and above which they will be stored as a file.
*/
- public DiskFileItemFactory(final int sizeThreshold, final Path repository) {
- this.sizeThreshold = sizeThreshold;
+ private DiskFileItemFactory(final Path repository, final int threshold) {
+ this.threshold = threshold;
this.repository = repository;
}
@@ -110,8 +160,8 @@ public class DiskFileItemFactory implements FileItemFactory {
* @return The newly created file item.
*/
@Override
- public FileItem createItem(final String fieldName, final String contentType, final boolean isFormField, final String fileName) {
- final DiskFileItem result = new DiskFileItem(fieldName, contentType, isFormField, fileName, sizeThreshold, repository);
+ public FileItem createFileItem(final String fieldName, final String contentType, final boolean isFormField, final String fileName) {
+ final DiskFileItem result = new DiskFileItem(fieldName, contentType, isFormField, fileName, threshold, repository);
result.setDefaultCharset(defaultCharset);
final FileCleaningTracker tracker = getFileCleaningTracker();
if (tracker != null) {
@@ -149,13 +199,13 @@ public class DiskFileItemFactory implements FileItemFactory {
}
/**
- * Gets the size threshold beyond which files are written directly to disk. The default value is 10240 bytes.
+ * Gets the size threshold beyond which files are written directly to disk. The default value is {@value #DEFAULT_THRESHOLD} bytes.
*
- * @return The size threshold, in bytes.
- * @see #setSizeThreshold(int)
+ * @return The size threshold in bytes.
+ * @see #setThreshold(int)
*/
- public int getSizeThreshold() {
- return sizeThreshold;
+ public int getThreshold() {
+ return threshold;
}
/**
@@ -187,12 +237,12 @@ public class DiskFileItemFactory implements FileItemFactory {
}
/**
- * Sets the size threshold beyond which files are written directly to disk.
+ * Sets the size threshold beyond which files are written directly to disk. The default value is {@value #DEFAULT_THRESHOLD} bytes.
*
- * @param sizeThreshold The size threshold, in bytes.
- * @see #getSizeThreshold()
+ * @param threshold The size threshold in bytes.
+ * @see #getThreshold()
*/
- public void setSizeThreshold(final int sizeThreshold) {
- this.sizeThreshold = sizeThreshold;
+ public void setThreshold(final int threshold) {
+ this.threshold = threshold;
}
}
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractStreamingTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractStreamingTest.java
index 4d95f0b..9ba0ee1 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractStreamingTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractStreamingTest.java
@@ -96,7 +96,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
final String contentType = "multipart/form-data; boundary=---1234";
final AbstractFileUpload upload = newFileUpload();
- upload.setFileItemFactory(new DiskFileItemFactory());
+ upload.setFileItemFactory(DiskFileItemFactory.builder().get());
final R request = newMockHttpServletRequest(inputStream, length, contentType, -1);
return upload.parseRequest(newServletRequestContext(request));
@@ -106,7 +106,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
final String contentType = "multipart/form-data; boundary=---1234";
final AbstractFileUpload upload = newFileUpload();
- upload.setFileItemFactory(new DiskFileItemFactory());
+ upload.setFileItemFactory(DiskFileItemFactory.builder().get());
final R request = newMockHttpServletRequest(inputStream, length, contentType, -1);
return upload.getItemIterator(newServletRequestContext(request));
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/DiskFileItemSerializeTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/DiskFileItemSerializeTest.java
index f736c02..a2a87d7 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/DiskFileItemSerializeTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/DiskFileItemSerializeTest.java
@@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
@@ -33,7 +32,6 @@ import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
import org.apache.commons.fileupload2.disk.DiskFileItemFactory;
-import org.apache.commons.io.FileUtils;
import org.apache.commons.io.file.PathUtils;
import org.apache.commons.io.file.SimplePathVisitor;
import org.apache.commons.lang3.SerializationUtils;
@@ -100,10 +98,10 @@ public class DiskFileItemSerializeTest {
* Create a FileItem with the specfied content bytes and repository.
*/
private FileItem createFileItem(final byte[] contentBytes, final Path repository) throws IOException {
- final FileItemFactory factory = new DiskFileItemFactory(THRESHOLD, repository);
+ final FileItemFactory factory = DiskFileItemFactory.builder().setBufferSize(THRESHOLD).setPath(repository).get();
final String textFieldName = "textField";
- final FileItem item = factory.createItem(textFieldName, TEXT_CONTENT_TYPE, true, "My File Name");
+ final FileItem item = factory.createFileItem(textFieldName, TEXT_CONTENT_TYPE, true, "My File Name");
try (OutputStream os = item.getOutputStream()) {
os.write(contentBytes);
}
diff --git a/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUploadTest.java b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUploadTest.java
index 9c299a5..9f65a2e 100644
--- a/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUploadTest.java
+++ b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUploadTest.java
@@ -40,7 +40,7 @@ import jakarta.servlet.http.HttpServletRequest;
public class JakartaServletFileUploadTest extends AbstractFileUploadTest<JakartaServletFileUpload> {
public JakartaServletFileUploadTest() {
- super(new JakartaServletFileUpload(new DiskFileItemFactory()));
+ super(new JakartaServletFileUpload(DiskFileItemFactory.builder().get()));
}
@Test
@@ -58,7 +58,7 @@ public class JakartaServletFileUploadTest extends AbstractFileUploadTest<Jakarta
final byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
final HttpServletRequest request = new JakartaMockServletHttpRequest(bytes, Constants.CONTENT_TYPE);
- final DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
+ final DiskFileItemFactory fileItemFactory = DiskFileItemFactory.builder().get();
fileItemFactory.setDefaultCharset(StandardCharsets.UTF_8);
final JakartaServletFileUpload upload = new JakartaServletFileUpload(fileItemFactory);
final List<FileItem> fileItems = upload.parseRequest(request);
@@ -95,7 +95,7 @@ public class JakartaServletFileUploadTest extends AbstractFileUploadTest<Jakarta
final byte[] bytes = text.getBytes(StandardCharsets.US_ASCII);
final HttpServletRequest request = new JakartaMockServletHttpRequest(bytes, Constants.CONTENT_TYPE);
- final JakartaServletFileUpload upload = new JakartaServletFileUpload(new DiskFileItemFactory());
+ final JakartaServletFileUpload upload = new JakartaServletFileUpload(DiskFileItemFactory.builder().get());
final Map<String, List<FileItem>> mappedParameters = upload.parseParameterMap(request);
assertTrue(mappedParameters.containsKey("file"));
assertEquals(1, mappedParameters.get("file").size());
diff --git a/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java
index 4023e6f..7f04b11 100644
--- a/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java
+++ b/commons-fileupload2-jakarta/src/test/java/org/apache/commons/fileupload2/jakarta/JakartaSizesTest.java
@@ -30,7 +30,7 @@ public class JakartaSizesTest extends AbstractSizesTest<JakartaServletFileUpload
@Override
protected JakartaServletFileUpload newFileUpload() {
- return new JakartaServletFileUpload(new DiskFileItemFactory());
+ return new JakartaServletFileUpload(DiskFileItemFactory.builder().get());
}
@Override
diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
index ec98fdf..79b0205 100644
--- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
+++ b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxServletFileUploadTest.java
@@ -44,7 +44,7 @@ import org.junit.jupiter.api.Test;
public class JavaxServletFileUploadTest extends AbstractFileUploadTest<JavaxServletFileUpload> {
public JavaxServletFileUploadTest() {
- super(new JavaxServletFileUpload(new DiskFileItemFactory()));
+ super(new JavaxServletFileUpload(DiskFileItemFactory.builder().get()));
}
@Test
@@ -62,7 +62,7 @@ public class JavaxServletFileUploadTest extends AbstractFileUploadTest<JavaxServ
final byte[] bytes = text.getBytes(StandardCharsets.UTF_8);
final HttpServletRequest request = new JavaxMockHttpServletRequest(bytes, Constants.CONTENT_TYPE);
- final DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
+ final DiskFileItemFactory fileItemFactory = DiskFileItemFactory.builder().get();
fileItemFactory.setDefaultCharset(StandardCharsets.UTF_8);
final JavaxServletFileUpload upload = new JavaxServletFileUpload(fileItemFactory);
final List<FileItem> fileItems = upload.parseRequest(request);
@@ -99,7 +99,7 @@ public class JavaxServletFileUploadTest extends AbstractFileUploadTest<JavaxServ
final byte[] bytes = text.getBytes(StandardCharsets.US_ASCII);
final HttpServletRequest request = new JavaxMockHttpServletRequest(bytes, Constants.CONTENT_TYPE);
- final JavaxServletFileUpload upload = new JavaxServletFileUpload(new DiskFileItemFactory());
+ final JavaxServletFileUpload upload = new JavaxServletFileUpload(DiskFileItemFactory.builder().get());
final Map<String, List<FileItem>> mappedParameters = upload.parseParameterMap(request);
assertTrue(mappedParameters.containsKey("file"));
assertEquals(1, mappedParameters.get("file").size());
@@ -139,7 +139,7 @@ public class JavaxServletFileUploadTest extends AbstractFileUploadTest<JavaxServ
}
baos.write("-----1234--\r\n".getBytes(StandardCharsets.US_ASCII));
- final List<FileItem> fileItems = parseUpload(new JavaxServletFileUpload(new DiskFileItemFactory()), baos.toByteArray());
+ final List<FileItem> fileItems = parseUpload(new JavaxServletFileUpload(DiskFileItemFactory.builder().get()), baos.toByteArray());
final Iterator<FileItem> fileIter = fileItems.iterator();
add = 16;
num = 0;
diff --git a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java
index d7998e7..00caa9b 100644
--- a/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java
+++ b/commons-fileupload2-javax/src/test/java/org/apache/commons/fileupload2/javax/JavaxSizesTest.java
@@ -30,7 +30,7 @@ public class JavaxSizesTest extends AbstractSizesTest<JavaxServletFileUpload, Ht
@Override
protected JavaxServletFileUpload newFileUpload() {
- return new JavaxServletFileUpload(new DiskFileItemFactory());
+ return new JavaxServletFileUpload(DiskFileItemFactory.builder().get());
}
@Override
diff --git a/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java b/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
index 483dde8..8e69355 100644
--- a/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
+++ b/commons-fileupload2-portlet/src/test/java/org/apache/commons/fileupload2/portlet/PortletFileUploadTest.java
@@ -43,7 +43,7 @@ import org.junit.jupiter.api.Test;
public class PortletFileUploadTest extends AbstractFileUploadTest<JavaxPortletFileUpload> {
public PortletFileUploadTest() {
- super(new JavaxPortletFileUpload(new DiskFileItemFactory()));
+ super(new JavaxPortletFileUpload(DiskFileItemFactory.builder().get()));
}
@Test