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/12 14:09:34 UTC
[commons-fileupload] branch master updated: Pull up FileUpload into AbstractFileUpload
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 5b94321 Pull up FileUpload into AbstractFileUpload
5b94321 is described below
commit 5b943214256f5388f4beef1b7b83150c761835ca
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jun 12 10:09:29 2023 -0400
Pull up FileUpload into AbstractFileUpload
---
.../commons/fileupload2/AbstractFileUpload.java | 45 ++++++++-
.../org/apache/commons/fileupload2/FileItem.java | 2 +-
.../fileupload2/FileItemInputIteratorImpl.java | 6 +-
.../org/apache/commons/fileupload2/FileUpload.java | 111 ---------------------
.../commons/fileupload2/disk/package-info.java | 2 +-
.../apache/commons/fileupload2/package-info.java | 2 +-
.../fileupload2/AbstractFileUploadTest.java | 10 +-
.../fileupload2/AbstractFileUploadWrapper.java | 6 +-
.../fileupload2/AbstractProgressListenerTest.java | 2 +-
.../commons/fileupload2/AbstractSizesTest.java | 2 +-
.../commons/fileupload2/AbstractStreamingTest.java | 6 +-
.../apache/commons/fileupload2/AbstractTest.java | 2 +-
.../jakarta/JakartaServletFileUpload.java | 9 +-
.../commons/fileupload2/jakarta/package-info.java | 2 +-
.../fileupload2/javax/JavaxServletFileUpload.java | 9 +-
.../commons/fileupload2/javax/package-info.java | 6 +-
.../portlet/JavaxPortletFileUpload.java | 9 +-
.../commons/fileupload2/portlet/package-info.java | 4 +-
18 files changed, 80 insertions(+), 155 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 18569c9..a3d460b 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
@@ -40,8 +40,9 @@ import org.apache.commons.io.IOUtils;
* <p>
* How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
* </p>
+ * @param <T> the context type
*/
-public abstract class AbstractFileUpload {
+public abstract class AbstractFileUpload<T> {
/**
* Boundary parameter key.
@@ -141,6 +142,11 @@ public abstract class AbstractFileUpload {
*/
private ProgressListener progressListener = ProgressListener.NOP;
+ /**
+ * The factory to use to create new form items.
+ */
+ private FileItemFactory fileItemFactory;
+
/**
* Gets the boundary from the {@code Content-type} header.
*
@@ -201,7 +207,9 @@ public abstract class AbstractFileUpload {
*
* @return The factory class for new file items.
*/
- public abstract FileItemFactory getFileItemFactory();
+ public FileItemFactory getFileItemFactory() {
+ return fileItemFactory;
+ }
/**
* Gets the file name from the {@code Content-disposition} header.
@@ -278,6 +286,17 @@ public abstract class AbstractFileUpload {
return new FileItemInputIteratorImpl(this, requestContext);
}
+ /**
+ * Gets a file item iterator.
+ *
+ * @param request The servlet request to be parsed.
+ * @return An iterator to instances of {@code FileItemInput} parsed from the request, in the order that they were transmitted.
+ * @throws FileUploadException if there are problems reading/parsing the request or storing files.
+ * @throws IOException An I/O error occurred. This may be a network error while communicating with the client or a problem while storing the
+ * uploaded content.
+ */
+ public abstract FileItemInputIterator getItemIterator(T request) throws FileUploadException, IOException;
+
/**
* Parses the {@code header-part} and returns as key/value pairs.
* <p>
@@ -407,6 +426,15 @@ public abstract class AbstractFileUpload {
return itemsMap;
}
+ /**
+ * Parses an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
+ *
+ * @param request The servlet request to be parsed.
+ * @return A map of {@code FileItem} instances parsed from the request.
+ * @throws FileUploadException if there are problems reading/parsing the request or storing files.
+ */
+ public abstract Map<String, List<FileItem>> parseParameterMap(T request) throws FileUploadException;
+
/**
* Parses an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
*
@@ -464,6 +492,15 @@ public abstract class AbstractFileUpload {
}
}
+ /**
+ * Parses an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
+ *
+ * @param request The servlet request to be parsed.
+ * @return A list of {@code FileItem} instances parsed from the request, in the order that they were transmitted.
+ * @throws FileUploadException if there are problems reading/parsing the request or storing files.
+ */
+ public abstract List<FileItem> parseRequest(T request) throws FileUploadException;
+
/**
* Sets the maximum number of files allowed per request.
*
@@ -478,7 +515,9 @@ public abstract class AbstractFileUpload {
*
* @param factory The factory class for new file items.
*/
- public abstract void setFileItemFactory(FileItemFactory factory);
+ public void setFileItemFactory(final FileItemFactory factory) {
+ this.fileItemFactory = factory;
+ }
/**
* Sets the maximum allowed size of a single uploaded file, as opposed to {@link #getSizeMax()}.
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItem.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItem.java
index ebc74c0..414a02d 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItem.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItem.java
@@ -29,7 +29,7 @@ import java.nio.file.Path;
* This class represents a file or form item that was received within a {@code multipart/form-data} POST request.
* </p>
* <p>
- * After retrieving an instance of this class from a {@link FileUpload FileUpload} instance (see
+ * After retrieving an instance of this class from a {@link AbstractFileUpload FileUpload} instance (see
* {@code org.apache.commons.fileupload2.servlet.ServletFileUpload #parseRequest(javax.servlet.http.HttpServletRequest)}), you may either request all contents
* of the file at once using {@link #get()} or request an {@link InputStream} with {@link #getInputStream()} and process the file without
* attempting to load it into memory, which may come handy with large files.
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIteratorImpl.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIteratorImpl.java
index b11f760..e58671b 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIteratorImpl.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIteratorImpl.java
@@ -40,7 +40,7 @@ class FileItemInputIteratorImpl implements FileItemInputIterator {
*
* @see AbstractFileUpload
*/
- private final AbstractFileUpload fileUpload;
+ private final AbstractFileUpload<?> fileUpload;
/**
* The request context.
@@ -107,7 +107,7 @@ class FileItemInputIteratorImpl implements FileItemInputIterator {
* @throws FileUploadException An error occurred while parsing the request.
* @throws IOException An I/O error occurred.
*/
- FileItemInputIteratorImpl(final AbstractFileUpload fileUploadBase, final RequestContext requestContext) throws FileUploadException, IOException {
+ FileItemInputIteratorImpl(final AbstractFileUpload<?> fileUploadBase, final RequestContext requestContext) throws FileUploadException, IOException {
this.fileUpload = fileUploadBase;
this.sizeMax = fileUploadBase.getSizeMax();
this.fileSizeMax = fileUploadBase.getFileSizeMax();
@@ -247,7 +247,7 @@ class FileItemInputIteratorImpl implements FileItemInputIterator {
return findNextItem();
}
- protected void init(final AbstractFileUpload fileUploadBase, final RequestContext initContext) throws FileUploadException, IOException {
+ protected void init(final AbstractFileUpload<?> fileUploadBase, final RequestContext initContext) throws FileUploadException, IOException {
final String contentType = requestContext.getContentType();
if (null == contentType || !contentType.toLowerCase(Locale.ENGLISH).startsWith(AbstractFileUpload.MULTIPART)) {
throw new FileUploadContentTypeException(String.format("the request doesn't contain a %s or %s stream, content type header is %s",
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java
deleted file mode 100644
index c00175d..0000000
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileUpload.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.commons.fileupload2;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
- * High level API for processing file uploads.
- * <p>
- * This class handles multiple files per single HTML widget, sent using {@code multipart/mixed} encoding type, as specified by
- * <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a>. Use {@link #parseRequest(RequestContext)} to acquire a list of
- * {@link FileItem} associated with a given HTML widget.
- * </p>
- * <p>
- * How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
- * </p>
- * @param <T> the context type
- */
-public abstract class FileUpload<T> extends AbstractFileUpload {
-
- /**
- * The factory to use to create new form items.
- */
- private FileItemFactory fileItemFactory;
-
- /**
- * Constructs an uninitialized instance of this class.
- *
- * A factory must be configured, using {@code setFileItemFactory()}, before attempting to parse requests.
- *
- * @see #FileUpload(FileItemFactory)
- */
- public FileUpload() {
- }
-
- /**
- * Constructs an instance of this class which uses the supplied factory to create {@code FileItem} instances.
- *
- * @see #FileUpload()
- * @param fileItemFactory The factory to use for creating file items.
- */
- public FileUpload(final FileItemFactory fileItemFactory) {
- this.fileItemFactory = fileItemFactory;
- }
-
- /**
- * Gets the factory class used when creating file items.
- *
- * @return The factory class for new file items.
- */
- @Override
- public FileItemFactory getFileItemFactory() {
- return fileItemFactory;
- }
-
- /**
- * Gets a file item iterator.
- *
- * @param request The servlet request to be parsed.
- * @return An iterator to instances of {@code FileItemInput} parsed from the request, in the order that they were transmitted.
- * @throws FileUploadException if there are problems reading/parsing the request or storing files.
- * @throws IOException An I/O error occurred. This may be a network error while communicating with the client or a problem while storing the
- * uploaded content.
- */
- public abstract FileItemInputIterator getItemIterator(T request) throws FileUploadException, IOException;
-
- /**
- * Parses an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
- *
- * @param request The servlet request to be parsed.
- * @return A map of {@code FileItem} instances parsed from the request.
- * @throws FileUploadException if there are problems reading/parsing the request or storing files.
- */
- public abstract Map<String, List<FileItem>> parseParameterMap(T request) throws FileUploadException;
-
- /**
- * Parses an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
- *
- * @param request The servlet request to be parsed.
- * @return A list of {@code FileItem} instances parsed from the request, in the order that they were transmitted.
- * @throws FileUploadException if there are problems reading/parsing the request or storing files.
- */
- public abstract List<FileItem> parseRequest(T request) throws FileUploadException;
-
- /**
- * Sets the factory class to use when creating file items.
- *
- * @param factory The factory class for new file items.
- */
- @Override
- public void setFileItemFactory(final FileItemFactory factory) {
- this.fileItemFactory = factory;
- }
-
-}
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/package-info.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/package-info.java
index 75c7a91..fb7cdf5 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/package-info.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/disk/package-info.java
@@ -22,7 +22,7 @@
* </p>
* <p>
* In typical usage, an instance of {@link org.apache.commons.fileupload2.disk.DiskFileItemFactory} would be created, configured, and then
- * passed to a {@link org.apache.commons.fileupload2.FileUpload} implementation such as
+ * passed to a {@link org.apache.commons.fileupload2.AbstractFileUpload} implementation such as
* {@code org.apache.commons.fileupload2.servlet.ServletFileUpload ServletFileUpload} or
* {@code org.apache.commons.fileupload2.portlet.PortletFileUpload PortletFileUpload}.
* </p>
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/package-info.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/package-info.java
index 79a101e..9afe4a0 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/package-info.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/package-info.java
@@ -22,7 +22,7 @@
* </p>
* <p>
* While this package provides the generic functionality for file uploads, these classes are not typically used directly. Instead, normal usage involves one of
- * the provided extensions of {@link org.apache.commons.fileupload2.FileUpload} such as
+ * the provided extensions of {@link org.apache.commons.fileupload2.AbstractFileUpload} such as
* {@code org.apache.commons.fileupload2.servlet.ServletFileUpload ServletFileUpload} or
* {@code org.apache.commons.fileupload2.portlet.PortletFileUpload PortletFileUpload}, together with a factory for
* {@link org.apache.commons.fileupload2.FileItem} instances, such as {@link org.apache.commons.fileupload2.disk.DiskFileItemFactory}.
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
index 4cef95c..4e39a48 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadTest.java
@@ -28,12 +28,12 @@ import java.util.List;
import org.junit.jupiter.api.Test;
/**
- * Common tests for implementations of {@link FileUpload}. This is a parameterized test. Tests must be valid and common to all implementations of FileUpload
- * added as parameter in this class.
+ * Common tests for implementations of {@link AbstractFileUpload}. This is a parameterized test. Tests must be valid and common to all implementations of
+ * FileUpload added as parameter in this class.
*
- * @param <T> The type for {@link FileUpload}.
+ * @param <T> The type for {@link AbstractFileUpload}.
*/
-public abstract class AbstractFileUploadTest<T extends FileUpload<?>> extends AbstractFileUploadWrapper<T> {
+public abstract class AbstractFileUploadTest<T extends AbstractFileUpload<?>> extends AbstractFileUploadWrapper<T> {
protected AbstractFileUploadTest(final T fileUpload) {
super(fileUpload);
@@ -53,7 +53,7 @@ public abstract class AbstractFileUploadTest<T extends FileUpload<?>> extends Ab
/**
* Tests <a href="https://issues.apache.org/jira/browse/FILEUPLOAD-239">FILEUPLOAD-239</a>
*
- * @throws IOException Test failure.
+ * @throws IOException Test failure.
*/
@Test
public void testContentTypeAttachment() throws IOException {
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
index 303471d..c5c9e85 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractFileUploadWrapper.java
@@ -20,12 +20,12 @@ import java.nio.charset.StandardCharsets;
import java.util.List;
/**
- * Common tests for implementations of {@link FileUpload}. This is a parameterized test. Tests must be valid and common to all implementations of FileUpload
+ * Common tests for implementations of {@link AbstractFileUpload}. This is a parameterized test. Tests must be valid and common to all implementations of FileUpload
* added as parameter in this class.
*
- * @param <T> The type for {@link FileUpload}.
+ * @param <T> The type for {@link AbstractFileUpload}.
*/
-public abstract class AbstractFileUploadWrapper<T extends FileUpload<?>> {
+public abstract class AbstractFileUploadWrapper<T extends AbstractFileUpload<?>> {
protected final T upload;
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractProgressListenerTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractProgressListenerTest.java
index fa24c38..d016549 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractProgressListenerTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractProgressListenerTest.java
@@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
* @param <F> The subclass of FileUpload.
* @param <R> The type of FileUpload request.
*/
-public abstract class AbstractProgressListenerTest<F extends FileUpload<R>, R> extends AbstractTest<F, R> {
+public abstract class AbstractProgressListenerTest<F extends AbstractFileUpload<R>, R> extends AbstractTest<F, R> {
protected static class ProgressListenerImpl implements ProgressListener {
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractSizesTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractSizesTest.java
index fba7cdb..6631cfd 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractSizesTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractSizesTest.java
@@ -36,7 +36,7 @@ import org.junit.jupiter.api.Test;
* @param <F> The subclass of FileUpload.
* @param <R> The type of FileUpload request.
*/
-public abstract class AbstractSizesTest<F extends FileUpload<R>, R> extends AbstractTest<F, R> {
+public abstract class AbstractSizesTest<F extends AbstractFileUpload<R>, R> extends AbstractTest<F, R> {
/**
* Checks, whether limiting the file size works.
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 8e21112..be4977d 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
@@ -41,7 +41,7 @@ import org.junit.jupiter.api.Test;
* @param <R> The type of FileUpload request.
* @param <C> The request context type.
*/
-public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extends AbstractRequestContext> extends AbstractTest<F, R> {
+public abstract class AbstractStreamingTest<F extends AbstractFileUpload<R>, R, C extends AbstractRequestContext<?>> extends AbstractTest<F, R> {
protected String getFooter() {
return "-----1234--\r\n";
@@ -96,7 +96,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
protected List<FileItem> parseUpload(final InputStream inputStream, final int length) throws FileUploadException {
final String contentType = "multipart/form-data; boundary=---1234";
- final AbstractFileUpload upload = newFileUpload();
+ final AbstractFileUpload<?> upload = newFileUpload();
upload.setFileItemFactory(DiskFileItemFactory.builder().get());
final R request = newMockHttpServletRequest(inputStream, length, contentType, -1);
@@ -106,7 +106,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
protected FileItemInputIterator parseUpload(final int length, final InputStream inputStream) throws FileUploadException, IOException {
final String contentType = "multipart/form-data; boundary=---1234";
- final AbstractFileUpload upload = newFileUpload();
+ final AbstractFileUpload<?> upload = newFileUpload();
upload.setFileItemFactory(DiskFileItemFactory.builder().get());
final R request = newMockHttpServletRequest(inputStream, length, contentType, -1);
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractTest.java
index 784a846..6dbbd63 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/AbstractTest.java
@@ -26,7 +26,7 @@ import java.nio.charset.StandardCharsets;
* @param <F> The subclass of FileUpload.
* @param <R> The type of FileUpload request.
*/
-public abstract class AbstractTest<F extends FileUpload<R>, R> {
+public abstract class AbstractTest<F extends AbstractFileUpload<R>, R> {
protected abstract F newFileUpload();
diff --git a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUpload.java b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUpload.java
index 6a3e36c..60933d7 100644
--- a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUpload.java
+++ b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/JakartaServletFileUpload.java
@@ -24,7 +24,6 @@ import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
import org.apache.commons.fileupload2.FileItemInputIterator;
-import org.apache.commons.fileupload2.FileUpload;
import org.apache.commons.fileupload2.FileUploadException;
import jakarta.servlet.http.HttpServletRequest;
@@ -40,7 +39,7 @@ import jakarta.servlet.http.HttpServletRequest;
* How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
* </p>
*/
-public class JakartaServletFileUpload extends FileUpload<HttpServletRequest> {
+public class JakartaServletFileUpload extends AbstractFileUpload<HttpServletRequest> {
/**
* Constant for HTTP POST method.
@@ -62,7 +61,7 @@ public class JakartaServletFileUpload extends FileUpload<HttpServletRequest> {
* Constructs an uninitialized instance of this class. A factory must be configured, using {@code setFileItemFactory()}, before attempting to parse
* requests.
*
- * @see FileUpload#FileUpload(FileItemFactory)
+ * @see AbstractFileUpload#AbstractFileUpload()
*/
public JakartaServletFileUpload() {
}
@@ -70,11 +69,11 @@ public class JakartaServletFileUpload extends FileUpload<HttpServletRequest> {
/**
* Constructs an instance of this class which uses the supplied factory to create {@code FileItem} instances.
*
- * @see FileUpload#FileUpload()
+ * @see AbstractFileUpload#AbstractFileUpload()
* @param fileItemFactory The factory to use for creating file items.
*/
public JakartaServletFileUpload(final FileItemFactory fileItemFactory) {
- super(fileItemFactory);
+ setFileItemFactory(fileItemFactory);
}
/**
diff --git a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/package-info.java b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/package-info.java
index b82309c..72246d3 100644
--- a/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/package-info.java
+++ b/commons-fileupload2-jakarta/src/main/java/org/apache/commons/fileupload2/jakarta/package-info.java
@@ -17,7 +17,7 @@
/**
* <p>
- * An implementation of {@link org.apache.commons.fileupload2.FileUpload} for use in servlets conforming to the namespace {@code jakarta.servlet}.
+ * An implementation of {@link org.apache.commons.fileupload2.AbstractFileUpload} for use in servlets conforming to the namespace {@code jakarta.servlet}.
*
* </p>
* <p>
diff --git a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletFileUpload.java b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletFileUpload.java
index d0d478b..6df3fd2 100644
--- a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletFileUpload.java
+++ b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/JavaxServletFileUpload.java
@@ -26,7 +26,6 @@ import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
import org.apache.commons.fileupload2.FileItemInputIterator;
-import org.apache.commons.fileupload2.FileUpload;
import org.apache.commons.fileupload2.FileUploadException;
/**
@@ -40,7 +39,7 @@ import org.apache.commons.fileupload2.FileUploadException;
* How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
* </p>
*/
-public class JavaxServletFileUpload extends FileUpload<HttpServletRequest> {
+public class JavaxServletFileUpload extends AbstractFileUpload<HttpServletRequest> {
/**
* Constant for HTTP POST method.
@@ -62,7 +61,7 @@ public class JavaxServletFileUpload extends FileUpload<HttpServletRequest> {
* Constructs an uninitialized instance of this class. A factory must be configured, using {@code setFileItemFactory()}, before attempting to parse
* requests.
*
- * @see FileUpload#FileUpload(FileItemFactory)
+ * @see AbstractFileUpload#AbstractFileUpload()
*/
public JavaxServletFileUpload() {
}
@@ -70,11 +69,11 @@ public class JavaxServletFileUpload extends FileUpload<HttpServletRequest> {
/**
* Constructs an instance of this class which uses the supplied factory to create {@code FileItem} instances.
*
- * @see FileUpload#FileUpload()
+ * @see AbstractFileUpload#AbstractFileUpload()
* @param fileItemFactory The factory to use for creating file items.
*/
public JavaxServletFileUpload(final FileItemFactory fileItemFactory) {
- super(fileItemFactory);
+ setFileItemFactory(fileItemFactory);
}
/**
diff --git a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/package-info.java b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/package-info.java
index b6471db..ce9085c 100644
--- a/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/package-info.java
+++ b/commons-fileupload2-javax/src/main/java/org/apache/commons/fileupload2/javax/package-info.java
@@ -17,9 +17,9 @@
/**
* <p>
- * An implementation of {@link org.apache.commons.fileupload2.FileUpload} for use in servlets conforming to JSR 53. This implementation requires only access to
- * the servlet's current {@code HttpServletRequest} instance, and a suitable {@link org.apache.commons.fileupload2.FileItemFactory} implementation, such as
- * {@link org.apache.commons.fileupload2.disk.DiskFileItemFactory}.
+ * An implementation of {@link org.apache.commons.fileupload2.AbstractFileUpload} for use in servlets conforming to JSR 53. This implementation requires only
+ * access to the servlet's current {@code HttpServletRequest} instance, and a suitable {@link org.apache.commons.fileupload2.FileItemFactory} implementation,
+ * such as {@link org.apache.commons.fileupload2.disk.DiskFileItemFactory}.
* </p>
* <p>
* The following code fragment demonstrates typical usage.
diff --git a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/JavaxPortletFileUpload.java b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/JavaxPortletFileUpload.java
index 7cab2c5..b77471b 100644
--- a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/JavaxPortletFileUpload.java
+++ b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/JavaxPortletFileUpload.java
@@ -26,7 +26,6 @@ import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
import org.apache.commons.fileupload2.FileItemInputIterator;
-import org.apache.commons.fileupload2.FileUpload;
import org.apache.commons.fileupload2.FileUploadException;
import org.apache.commons.fileupload2.javax.JavaxServletFileUpload;
@@ -41,7 +40,7 @@ import org.apache.commons.fileupload2.javax.JavaxServletFileUpload;
* How the data for individual parts is stored is determined by the factory used to create them; a given part may be in memory, on disk, or somewhere else.
* </p>
*/
-public class JavaxPortletFileUpload extends FileUpload<ActionRequest> {
+public class JavaxPortletFileUpload extends AbstractFileUpload<ActionRequest> {
/**
* Tests whether the request contains multipart content.
@@ -57,7 +56,7 @@ public class JavaxPortletFileUpload extends FileUpload<ActionRequest> {
* Constructs an uninitialized instance of this class. A factory must be configured, using {@code setFileItemFactory()}, before attempting to parse
* requests.
*
- * @see FileUpload#FileUpload(FileItemFactory)
+ * @see AbstractFileUpload#AbstractFileUpload()
*/
public JavaxPortletFileUpload() {
}
@@ -65,11 +64,11 @@ public class JavaxPortletFileUpload extends FileUpload<ActionRequest> {
/**
* Constructs an instance of this class which uses the supplied factory to create {@code FileItem} instances.
*
- * @see FileUpload#FileUpload()
+ * @see AbstractFileUpload#AbstractFileUpload()
* @param fileItemFactory The factory to use for creating file items.
*/
public JavaxPortletFileUpload(final FileItemFactory fileItemFactory) {
- super(fileItemFactory);
+ setFileItemFactory(fileItemFactory);
}
/**
diff --git a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/package-info.java b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/package-info.java
index 0aeecd0..dd6063e 100644
--- a/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/package-info.java
+++ b/commons-fileupload2-portlet/src/main/java/org/apache/commons/fileupload2/portlet/package-info.java
@@ -17,8 +17,8 @@
/**
* <p>
- * An implementation of {@link org.apache.commons.fileupload2.FileUpload} for use in portlets conforming to JSR 168. This implementation requires only access to
- * the portlet's current {@code ActionRequest} instance, and a suitable {@link org.apache.commons.fileupload2.FileItemFactory} implementation, such as
+ * An implementation of {@link org.apache.commons.fileupload2.AbstractFileUpload} for use in portlets conforming to JSR 168. This implementation requires only
+ * access to the portlet's current {@code ActionRequest} instance, and a suitable {@link org.apache.commons.fileupload2.FileItemFactory} implementation, such as
* {@link org.apache.commons.fileupload2.disk.DiskFileItemFactory}.
* </p>
* <p>