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 <garydgreg...@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>