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/11 21:33:14 UTC
[commons-fileupload] 02/04: Use "Input" instead of "Stream" in class names
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
commit 24ec422670696f2497809684184de991bd2cdb00
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sun Jun 11 17:14:06 2023 -0400
Use "Input" instead of "Stream" in class names
The classes are neither a Stream or InputStream.
---
.../commons/fileupload2/AbstractFileUpload.java | 22 ++++-----
.../commons/fileupload2/FileItemHeadersImpl.java | 3 +-
.../fileupload2/FileItemHeadersSupport.java | 6 +--
.../{FileItemStream.java => FileItemInput.java} | 8 ++--
...eItemStreamImpl.java => FileItemInputImpl.java} | 22 ++++-----
...temIterator.java => FileItemInputIterator.java} | 10 ++--
...torImpl.java => FileItemInputIteratorImpl.java} | 56 +++++++++++-----------
.../org/apache/commons/fileupload2/FileUpload.java | 4 +-
.../{MultipartStream.java => MultipartInput.java} | 39 ++++++++-------
.../fileupload2/AbstractProgressListenerTest.java | 6 +--
.../commons/fileupload2/AbstractSizesTest.java | 6 +--
.../commons/fileupload2/AbstractStreamingTest.java | 10 ++--
.../commons/fileupload2/MultipartStreamTest.java | 16 +++----
.../jakarta/JakartaServletFileUpload.java | 6 +--
.../fileupload2/javax/JavaxServletFileUpload.java | 6 +--
.../portlet/JavaxPortletFileUpload.java | 6 +--
16 files changed, 112 insertions(+), 114 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 7c30e6e..e0e0085 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
@@ -259,13 +259,13 @@ public abstract class AbstractFileUpload {
* Gets an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} stream.
*
* @param ctx The context for the request to be parsed.
- * @return An iterator to instances of {@code FileItemStream} parsed from the request, in the order that they were transmitted.
+ * @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 FileItemIterator getItemIterator(final RequestContext ctx) throws FileUploadException, IOException {
- return new FileItemIteratorImpl(this, ctx);
+ public FileItemInputIterator getItemIterator(final RequestContext ctx) throws FileUploadException, IOException {
+ return new FileItemInputIteratorImpl(this, ctx);
}
/**
@@ -409,7 +409,7 @@ public abstract class AbstractFileUpload {
final List<FileItem> itemList = new ArrayList<>();
boolean successful = false;
try {
- final FileItemIterator iter = getItemIterator(requestContext);
+ final FileItemInputIterator iter = getItemIterator(requestContext);
final FileItemFactory fileItemFactory = Objects.requireNonNull(getFileItemFactory(), "No FileItemFactory has been set.");
final byte[] buffer = new byte[IOUtils.DEFAULT_BUFFER_SIZE];
while (iter.hasNext()) {
@@ -417,20 +417,20 @@ public abstract class AbstractFileUpload {
// The next item will exceed the limit.
throw new FileUploadFileCountLimitException(ATTACHMENT, getFileCountMax(), itemList.size());
}
- final FileItemStream fileItemStream = iter.next();
+ final FileItemInput fileItemInput = iter.next();
// Don't use getName() here to prevent an InvalidFileNameException.
- final String fileName = fileItemStream.getName();
+ final String fileName = fileItemInput.getName();
// @formatter:off
final FileItem fileItem = fileItemFactory.fileItemBuilder()
- .setFieldName(fileItemStream.getFieldName())
- .setContentType(fileItemStream.getContentType())
- .setFormField(fileItemStream.isFormField())
+ .setFieldName(fileItemInput.getFieldName())
+ .setContentType(fileItemInput.getContentType())
+ .setFormField(fileItemInput.isFormField())
.setFileName(fileName)
- .setFileItemHeaders(fileItemStream.getHeaders())
+ .setFileItemHeaders(fileItemInput.getHeaders())
.get();
// @formatter:on
itemList.add(fileItem);
- try (InputStream inputStream = fileItemStream.getInputStream();
+ try (InputStream inputStream = fileItemInput.getInputStream();
OutputStream outputStream = fileItem.getOutputStream()) {
IOUtils.copyLarge(inputStream, outputStream, buffer);
} catch (final FileUploadException e) {
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersImpl.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersImpl.java
index 9edba7d..e803758 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersImpl.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersImpl.java
@@ -41,8 +41,7 @@ class FileItemHeadersImpl implements FileItemHeaders {
* @param value value of this header
*/
public synchronized void addHeader(final String name, final String value) {
- final List<String> headerValueList = headerNameToValueListMap.computeIfAbsent(toLowerCase(name), k -> new ArrayList<>());
- headerValueList.add(value);
+ headerNameToValueListMap.computeIfAbsent(toLowerCase(name), k -> new ArrayList<>()).add(value);
}
/**
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersSupport.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersSupport.java
index 4928efc..7f69be1 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersSupport.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemHeadersSupport.java
@@ -20,7 +20,7 @@ package org.apache.commons.fileupload2;
* Accepts headers for an item type.
*
* @see FileItem
- * @see FileItemStream
+ * @see FileItemInput
*/
public interface FileItemHeadersSupport {
@@ -32,8 +32,8 @@ public interface FileItemHeadersSupport {
FileItemHeaders getHeaders();
/**
- * Sets the headers read from within an item. Implementations of {@link FileItem} or {@link FileItemStream} should implement this interface to be able to
- * get the raw headers found within the item header block.
+ * Sets the headers read from within an item. Implementations of {@link FileItem} or {@link FileItemInput} should implement this interface to be able
+ * to get the raw headers found within the item header block.
*
* @param headers the instance that holds onto the headers for this instance.
*/
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStream.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInput.java
similarity index 92%
rename from commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStream.java
rename to commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInput.java
index 62b3442..6fb0cd5 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStream.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInput.java
@@ -28,16 +28,16 @@ import java.io.InputStream;
* Instances of this class are created by accessing the iterator, returned by {@link AbstractFileUpload#getItemIterator(RequestContext)}.
* </p>
* <p>
- * <em>Note</em>: There is an interaction between the iterator and its associated instances of {@link FileItemStream}: By invoking
+ * <em>Note</em>: There is an interaction between the iterator and its associated instances of {@link FileItemInput}: By invoking
* {@link java.util.Iterator#hasNext()} on the iterator, you discard all data, which hasn't been read so far from the previous data.
* </p>
*/
-public interface FileItemStream extends FileItemHeadersSupport {
+public interface FileItemInput extends FileItemHeadersSupport {
/**
* This exception is thrown, if an attempt is made to read data from the {@link InputStream}, which has been returned by
- * {@link FileItemStream#getInputStream()}, after {@link java.util.Iterator#hasNext()} has been invoked on the iterator, which created the
- * {@link FileItemStream}.
+ * {@link FileItemInput#getInputStream()}, after {@link java.util.Iterator#hasNext()} has been invoked on the iterator, which created the
+ * {@link FileItemInput}.
*/
class ItemSkippedException extends FileUploadException {
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStreamImpl.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputImpl.java
similarity index 86%
rename from commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStreamImpl.java
rename to commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputImpl.java
index 634f35b..a559fb6 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemStreamImpl.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputImpl.java
@@ -20,21 +20,21 @@ import java.io.IOException;
import java.io.InputStream;
import java.nio.file.InvalidPathException;
-import org.apache.commons.fileupload2.MultipartStream.ItemInputStream;
+import org.apache.commons.fileupload2.MultipartInput.ItemInputStream;
import org.apache.commons.fileupload2.disk.DiskFileItem;
import org.apache.commons.io.input.BoundedInputStream;
/**
- * Default implementation of {@link FileItemStream}.
+ * Default implementation of {@link FileItemInput}.
*/
-class FileItemStreamImpl implements FileItemStream {
+class FileItemInputImpl implements FileItemInput {
/**
* The File Item iterator implementation.
*
- * @see FileItemIteratorImpl
+ * @see FileItemInputIteratorImpl
*/
- private final FileItemIteratorImpl fileItemIteratorImpl;
+ private final FileItemInputIteratorImpl fileItemInputIteratorImpl;
/**
* The file items content type.
@@ -74,7 +74,7 @@ class FileItemStreamImpl implements FileItemStream {
/**
* Creates a new instance.
*
- * @param fileItemIterator The {@link FileItemIteratorImpl iterator}, which returned this file item.
+ * @param fileItemIterator The {@link FileItemInputIteratorImpl iterator}, which returned this file item.
* @param fileName The items file name, or null.
* @param fieldName The items field name.
* @param contentType The items content type, or null.
@@ -83,20 +83,20 @@ class FileItemStreamImpl implements FileItemStream {
* @throws IOException Creating the file item failed.
* @throws FileUploadException Parsing the incoming data stream failed.
*/
- FileItemStreamImpl(final FileItemIteratorImpl fileItemIterator, final String fileName, final String fieldName, final String contentType,
+ FileItemInputImpl(final FileItemInputIteratorImpl fileItemIterator, final String fileName, final String fieldName, final String contentType,
final boolean formField, final long contentLength) throws FileUploadException, IOException {
- this.fileItemIteratorImpl = fileItemIterator;
+ this.fileItemInputIteratorImpl = fileItemIterator;
this.fileName = fileName;
this.fieldName = fieldName;
this.contentType = contentType;
this.formField = formField;
- final long fileSizeMax = fileItemIteratorImpl.getFileSizeMax();
+ final long fileSizeMax = fileItemInputIteratorImpl.getFileSizeMax();
if (fileSizeMax != -1 && contentLength != -1 && contentLength > fileSizeMax) {
throw new FileUploadByteCountLimitException(String.format("The field %s exceeds its maximum permitted size of %s bytes.", fieldName, fileSizeMax),
contentLength, fileSizeMax, fileName, fieldName);
}
// OK to construct stream now
- final ItemInputStream itemInputStream = fileItemIteratorImpl.getMultiPartStream().newInputStream();
+ final ItemInputStream itemInputStream = fileItemInputIteratorImpl.getMultiPartStream().newInputStream();
InputStream istream = itemInputStream;
if (fileSizeMax != -1) {
istream = new BoundedInputStream(istream, fileSizeMax) {
@@ -161,7 +161,7 @@ class FileItemStreamImpl implements FileItemStream {
@Override
public InputStream getInputStream() throws IOException {
if (inputStreamClosed) {
- throw new FileItemStream.ItemSkippedException("getInputStream()");
+ throw new FileItemInput.ItemSkippedException("getInputStream()");
}
return inputStream;
}
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIterator.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIterator.java
similarity index 93%
rename from commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIterator.java
rename to commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIterator.java
index 19c8337..a9ddc31 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIterator.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIterator.java
@@ -24,7 +24,7 @@ import javax.naming.SizeLimitExceededException;
/**
* An iterator, as returned by {@link AbstractFileUpload#getItemIterator(RequestContext)}.
*/
-public interface FileItemIterator {
+public interface FileItemInputIterator {
List<FileItem> getFileItems() throws FileUploadException, IOException;
@@ -47,7 +47,7 @@ public interface FileItemIterator {
long getSizeMax();
/**
- * Tests whether another instance of {@link FileItemStream} is available.
+ * Tests whether another instance of {@link FileItemInput} is available.
*
* @throws FileUploadException Parsing or processing the file item failed.
* @throws IOException Reading the file item failed.
@@ -56,14 +56,14 @@ public interface FileItemIterator {
boolean hasNext() throws FileUploadException, IOException;
/**
- * Returns the next available {@link FileItemStream}.
+ * Returns the next available {@link FileItemInput}.
*
* @throws java.util.NoSuchElementException No more items are available. Use {@link #hasNext()} to prevent this exception.
* @throws FileUploadException Parsing or processing the file item failed.
* @throws IOException Reading the file item failed.
- * @return FileItemStream instance, which provides access to the next file item.
+ * @return FileItemInput instance, which provides access to the next file item.
*/
- FileItemStream next() throws FileUploadException, IOException;
+ FileItemInput next() throws FileUploadException, IOException;
/**
* Sets the maximum size of a single file. An {@link FileUploadByteCountLimitException} will be thrown, if there is an uploaded file, which is exceeding
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/FileItemInputIteratorImpl.java
similarity index 81%
rename from commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemIteratorImpl.java
rename to commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/FileItemInputIteratorImpl.java
index 503c56d..2b6dc7a 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/FileItemInputIteratorImpl.java
@@ -28,16 +28,16 @@ import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.BoundedInputStream;
/**
- * The iterator, which is returned by {@link AbstractFileUpload#getItemIterator(RequestContext)}.
+ * The iterator returned by {@link AbstractFileUpload#getItemIterator(RequestContext)}.
*/
-class FileItemIteratorImpl implements FileItemIterator {
+class FileItemInputIteratorImpl implements FileItemInputIterator {
/**
* The file uploads processing utility.
*
* @see AbstractFileUpload
*/
- private final AbstractFileUpload fileUploadBase;
+ private final AbstractFileUpload fileUpload;
/**
* The request context.
@@ -59,12 +59,12 @@ class FileItemIteratorImpl implements FileItemIterator {
/**
* The multi part stream to process.
*/
- private MultipartStream multiPartStream;
+ private MultipartInput multiPartStream;
/**
* The notifier, which used for triggering the {@link ProgressListener}.
*/
- private MultipartStream.ProgressNotifier progressNotifier;
+ private MultipartInput.ProgressNotifier progressNotifier;
/**
* The boundary, which separates the various parts.
@@ -74,7 +74,7 @@ class FileItemIteratorImpl implements FileItemIterator {
/**
* The item, which we currently process.
*/
- private FileItemStreamImpl currentItem;
+ private FileItemInputImpl currentItem;
/**
* The current items field name.
@@ -104,8 +104,8 @@ class FileItemIteratorImpl implements FileItemIterator {
* @throws FileUploadException An error occurred while parsing the request.
* @throws IOException An I/O error occurred.
*/
- FileItemIteratorImpl(final AbstractFileUpload fileUploadBase, final RequestContext requestContext) throws FileUploadException, IOException {
- this.fileUploadBase = fileUploadBase;
+ FileItemInputIteratorImpl(final AbstractFileUpload fileUploadBase, final RequestContext requestContext) throws FileUploadException, IOException {
+ this.fileUpload = fileUploadBase;
this.sizeMax = fileUploadBase.getSizeMax();
this.fileSizeMax = fileUploadBase.getFileSizeMax();
this.ctx = Objects.requireNonNull(requestContext, "requestContext");
@@ -127,7 +127,7 @@ class FileItemIteratorImpl implements FileItemIterator {
currentItem.close();
currentItem = null;
}
- final MultipartStream multi = getMultiPartStream();
+ final MultipartInput multi = getMultiPartStream();
for (;;) {
final boolean nextPart;
if (skipPreamble) {
@@ -146,22 +146,22 @@ class FileItemIteratorImpl implements FileItemIterator {
currentFieldName = null;
continue;
}
- final FileItemHeaders headers = fileUploadBase.getParsedHeaders(multi.readHeaders());
+ final FileItemHeaders headers = fileUpload.getParsedHeaders(multi.readHeaders());
if (currentFieldName == null) {
// We're parsing the outer multipart
- final String fieldName = fileUploadBase.getFieldName(headers);
+ final String fieldName = fileUpload.getFieldName(headers);
if (fieldName != null) {
final String subContentType = headers.getHeader(AbstractFileUpload.CONTENT_TYPE);
if (subContentType != null && subContentType.toLowerCase(Locale.ENGLISH).startsWith(AbstractFileUpload.MULTIPART_MIXED)) {
currentFieldName = fieldName;
// Multiple files associated with this field name
- final byte[] subBoundary = fileUploadBase.getBoundary(subContentType);
+ final byte[] subBoundary = fileUpload.getBoundary(subContentType);
multi.setBoundary(subBoundary);
skipPreamble = true;
continue;
}
- final String fileName = fileUploadBase.getFileName(headers);
- currentItem = new FileItemStreamImpl(this, fileName, fieldName, headers.getHeader(AbstractFileUpload.CONTENT_TYPE), fileName == null,
+ final String fileName = fileUpload.getFileName(headers);
+ currentItem = new FileItemInputImpl(this, fileName, fieldName, headers.getHeader(AbstractFileUpload.CONTENT_TYPE), fileName == null,
getContentLength(headers));
currentItem.setHeaders(headers);
progressNotifier.noteItem();
@@ -169,9 +169,9 @@ class FileItemIteratorImpl implements FileItemIterator {
return true;
}
} else {
- final String fileName = fileUploadBase.getFileName(headers);
+ final String fileName = fileUpload.getFileName(headers);
if (fileName != null) {
- currentItem = new FileItemStreamImpl(this, fileName, currentFieldName, headers.getHeader(AbstractFileUpload.CONTENT_TYPE), false,
+ currentItem = new FileItemInputImpl(this, fileName, currentFieldName, headers.getHeader(AbstractFileUpload.CONTENT_TYPE), false,
getContentLength(headers));
currentItem.setHeaders(headers);
progressNotifier.noteItem();
@@ -195,9 +195,9 @@ class FileItemIteratorImpl implements FileItemIterator {
public List<FileItem> getFileItems() throws FileUploadException, IOException {
final List<FileItem> items = new ArrayList<>();
while (hasNext()) {
- final FileItemStream fis = next();
+ final FileItemInput fis = next();
// @formatter:off
- final FileItem fileItem = fileUploadBase.getFileItemFactory().fileItemBuilder()
+ final FileItem fileItem = fileUpload.getFileItemFactory().fileItemBuilder()
.setFieldName(fis.getFieldName())
.setContentType(fis.getContentType())
.setFormField(fis.isFormField())
@@ -214,9 +214,9 @@ class FileItemIteratorImpl implements FileItemIterator {
return fileSizeMax;
}
- public MultipartStream getMultiPartStream() throws FileUploadException, IOException {
+ public MultipartInput getMultiPartStream() throws FileUploadException, IOException {
if (multiPartStream == null) {
- init(fileUploadBase, ctx);
+ init(fileUpload, ctx);
}
return multiPartStream;
}
@@ -227,7 +227,7 @@ class FileItemIteratorImpl implements FileItemIterator {
}
/**
- * Tests whether another instance of {@link FileItemStream} is available.
+ * Tests whether another instance of {@link FileItemInput} is available.
*
* @throws FileUploadException Parsing or processing the file item failed.
* @throws IOException Reading the file item failed.
@@ -258,14 +258,14 @@ class FileItemIteratorImpl implements FileItemIterator {
: contentLengthInt;
// CHECKSTYLE:ON
// @formatter:on
- final InputStream input; // N.B. this is eventually closed in MultipartStream processing
+ final InputStream input; // N.B. this is eventually closed in MultipartInput processing
if (sizeMax >= 0) {
if (requestSize != -1 && requestSize > sizeMax) {
throw new FileUploadSizeException(
String.format("the request was rejected because its size (%s) exceeds the configured maximum (%s)", requestSize, sizeMax), sizeMax,
requestSize);
}
- // N.B. this is eventually closed in MultipartStream processing
+ // N.B. this is eventually closed in MultipartInput processing
input = new BoundedInputStream(ctx.getInputStream(), sizeMax) {
@Override
protected void onMaxLength(final long maxLen, final long count) throws IOException {
@@ -288,9 +288,9 @@ class FileItemIteratorImpl implements FileItemIterator {
throw new FileUploadException("the request was rejected because no multipart boundary was found");
}
- progressNotifier = new MultipartStream.ProgressNotifier(fileUploadBase.getProgressListener(), requestSize);
+ progressNotifier = new MultipartInput.ProgressNotifier(fileUploadBase.getProgressListener(), requestSize);
try {
- multiPartStream = MultipartStream.builder().setInputStream(input).setBoundary(multiPartBoundary).setProgressNotifier(progressNotifier).get();
+ multiPartStream = MultipartInput.builder().setInputStream(input).setBoundary(multiPartBoundary).setProgressNotifier(progressNotifier).get();
} catch (final IllegalArgumentException e) {
IOUtils.closeQuietly(input); // avoid possible resource leak
throw new FileUploadContentTypeException(String.format("The boundary specified in the %s header is too long", AbstractFileUpload.CONTENT_TYPE), e);
@@ -299,15 +299,15 @@ class FileItemIteratorImpl implements FileItemIterator {
}
/**
- * Returns the next available {@link FileItemStream}.
+ * Returns the next available {@link FileItemInput}.
*
* @throws java.util.NoSuchElementException No more items are available. Use {@link #hasNext()} to prevent this exception.
* @throws FileUploadException Parsing or processing the file item failed.
* @throws IOException Reading the file item failed.
- * @return FileItemStream instance, which provides access to the next file item.
+ * @return FileItemInput instance, which provides access to the next file item.
*/
@Override
- public FileItemStream next() throws FileUploadException, IOException {
+ public FileItemInput next() throws FileUploadException, IOException {
if (eof || !itemValid && !hasNext()) {
throw new NoSuchElementException();
}
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
index a8c3fd5..c00175d 100644
--- 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
@@ -73,12 +73,12 @@ public abstract class FileUpload<T> extends AbstractFileUpload {
* Gets a file item iterator.
*
* @param request The servlet request to be parsed.
- * @return An iterator to instances of {@code FileItemStream} parsed from the request, in the order that they were transmitted.
+ * @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 FileItemIterator getItemIterator(T request) throws FileUploadException, IOException;
+ 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.
diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartStream.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartInput.java
similarity index 96%
rename from commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartStream.java
rename to commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartInput.java
index 4dda7cb..827fae3 100644
--- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartStream.java
+++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/MultipartInput.java
@@ -23,7 +23,7 @@ import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
-import org.apache.commons.fileupload2.FileItemStream.ItemSkippedException;
+import org.apache.commons.fileupload2.FileItemInput.ItemSkippedException;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.build.AbstractOrigin;
import org.apache.commons.io.build.AbstractStreamBuilder;
@@ -64,7 +64,7 @@ import org.apache.commons.io.output.NullOutputStream;
*
* <pre>
* try {
- * MultipartStream multipartStream = new MultipartStream(input, boundary);
+ * MultipartInput multipartStream = new MultipartInput(input, boundary);
* boolean nextPart = multipartStream.skipPreamble();
* OutputStream output;
* while (nextPart) {
@@ -74,30 +74,30 @@ import org.apache.commons.io.output.NullOutputStream;
* multipartStream.readBodyData(output);
* nextPart = multipartStream.readBoundary();
* }
- * } catch (MultipartStream.MalformedStreamException e) {
+ * } catch (MultipartInput.MalformedStreamException e) {
* // the stream failed to follow required syntax
* } catch (IOException e) {
* // a read or write error occurred
* }
* </pre>
*/
-public final class MultipartStream {
+public final class MultipartInput {
/**
- * Builds a new {@link MultipartStream} instance.
+ * Builds a new {@link MultipartInput} instance.
* <p>
* For example:
* </p>
*
* <pre>{@code
- * MultipartStream factory = MultipartStream.builder()
+ * MultipartInput factory = MultipartInput.builder()
* .setPath(path)
* .setBufferSize(DEFAULT_THRESHOLD)
* .get();
* }
* </pre>
*/
- public static class Builder extends AbstractStreamBuilder<MultipartStream, Builder> {
+ public static class Builder extends AbstractStreamBuilder<MultipartInput, Builder> {
/**
* Boundary.
@@ -129,8 +129,8 @@ public final class MultipartStream {
* @see AbstractOrigin#getReader(Charset)
*/
@Override
- public MultipartStream get() throws IOException {
- return new MultipartStream(getInputStream(), boundary, getBufferSize(), progressNotifier);
+ public MultipartInput get() throws IOException {
+ return new MultipartInput(getInputStream(), boundary, getBufferSize(), progressNotifier);
}
/**
@@ -231,7 +231,7 @@ public final class MultipartStream {
private void checkOpen() throws ItemSkippedException {
if (closed) {
- throw new FileItemStream.ItemSkippedException("checkOpen()");
+ throw new FileItemInput.ItemSkippedException("checkOpen()");
}
}
@@ -277,7 +277,7 @@ public final class MultipartStream {
* Called for finding the separator.
*/
private void findSeparator() {
- pos = MultipartStream.this.findSeparator();
+ pos = MultipartInput.this.findSeparator();
if (pos == -1) {
if (tail - head > keepRegion) {
pad = keepRegion;
@@ -642,7 +642,7 @@ public final class MultipartStream {
private final ProgressNotifier notifier;
/**
- * Constructs a {@code MultipartStream} with a custom size buffer.
+ * Constructs a {@code MultipartInput} with a custom size buffer.
* <p>
* Note that the buffer must be at least big enough to contain the boundary string, plus 4 characters for CR/LF and double dash, plus at least one byte of
* data. Too small a buffer size setting will degrade performance.
@@ -654,7 +654,7 @@ public final class MultipartStream {
* @param notifier The notifier, which is used for calling the progress listener, if any.
* @throws IllegalArgumentException If the buffer size is too small.
*/
- private MultipartStream(final InputStream input, final byte[] boundary, final int bufferSize, final ProgressNotifier notifier) {
+ private MultipartInput(final InputStream input, final byte[] boundary, final int bufferSize, final ProgressNotifier notifier) {
if (boundary == null) {
throw new IllegalArgumentException("boundary may not be null");
}
@@ -662,7 +662,7 @@ public final class MultipartStream {
// body-data tokens.
this.boundaryLength = boundary.length + BOUNDARY_PREFIX.length;
if (bufferSize < this.boundaryLength + 1) {
- throw new IllegalArgumentException("The buffer size specified for the MultipartStream is too small");
+ throw new IllegalArgumentException("The buffer size specified for the MultipartInput is too small");
}
this.input = input;
@@ -782,7 +782,7 @@ public final class MultipartStream {
* Reads {@code body-data} from the current {@code encapsulation} and writes its contents into the output {@code Stream}.
* <p>
* Arbitrary large amounts of data can be processed by this method using a constant size buffer. (see
- * {@link MultipartStream#builder()}).
+ * {@link MultipartInput#builder()}).
* </p>
*
* @param output The {@code Stream} to write data into. May be null, in which case this method is equivalent to {@link #discardBodyData()}.
@@ -903,8 +903,7 @@ public final class MultipartStream {
try {
headers = baos.toString(headerEncoding);
} catch (final UnsupportedEncodingException e) {
- // Fall back to platform default if specified encoding is not
- // supported.
+ // Fall back to platform default if specified encoding is not supported.
headers = baos.toString();
}
} else {
@@ -941,10 +940,10 @@ public final class MultipartStream {
* Sets the character encoding to be used when reading the headers of individual parts. When not specified, or {@code null}, the platform default encoding
* is used.
*
- * @param encoding The encoding used to read part headers.
+ * @param headerEncoding The encoding used to read part headers.
*/
- public void setHeaderEncoding(final String encoding) {
- headerEncoding = encoding;
+ public void setHeaderEncoding(final String headerEncoding) {
+ this.headerEncoding = headerEncoding;
}
/**
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 c66f470..fa24c38 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
@@ -72,11 +72,11 @@ public abstract class AbstractProgressListenerTest<F extends FileUpload<R>, R> e
final F upload = newFileUpload();
final ProgressListenerImpl listener = new ProgressListenerImpl(contentLength, itemCount);
upload.setProgressListener(listener);
- final FileItemIterator iter = upload.getItemIterator(request);
+ final FileItemInputIterator iter = upload.getItemIterator(request);
for (int i = 0; i < itemCount; i++) {
final int idxI = i;
- final FileItemStream fileItemStream = iter.next();
- try (final InputStream inputStream = fileItemStream.getInputStream()) {
+ final FileItemInput fileItemInput = iter.next();
+ try (final InputStream inputStream = fileItemInput.getInputStream()) {
for (int j = 0; j < 16_384 + i; j++) {
final int idxJ = j;
//
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 995b4ab..fba7cdb 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
@@ -209,10 +209,10 @@ public abstract class AbstractSizesTest<F extends FileUpload<R>, R> extends Abst
final R req = newMockHttpServletRequest(request, -1L, 10);
- final FileItemIterator it = upload.getItemIterator(req);
+ final FileItemInputIterator it = upload.getItemIterator(req);
assertTrue(it.hasNext());
- final FileItemStream item = it.next();
+ final FileItemInput item = it.next();
assertFalse(item.isFormField());
assertEquals("file1", item.getFieldName());
assertEquals("foo1.tab", item.getName());
@@ -230,7 +230,7 @@ public abstract class AbstractSizesTest<F extends FileUpload<R>, R> extends Abst
assertTrue(it.hasNext());
assertThrows(FileUploadException.class, () -> {
- final FileItemStream item2 = it.next();
+ final FileItemInput item2 = it.next();
try (final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final InputStream stream = item2.getInputStream()) {
IOUtils.copy(stream, baos);
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 ffbdcd0..8e21112 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
@@ -103,7 +103,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
return upload.parseRequest(newServletRequestContext(request));
}
- protected FileItemIterator parseUpload(final int length, final InputStream inputStream) throws FileUploadException, IOException {
+ protected FileItemInputIterator parseUpload(final int length, final InputStream inputStream) throws FileUploadException, IOException {
final String contentType = "multipart/form-data; boundary=---1234";
final AbstractFileUpload upload = newFileUpload();
@@ -187,7 +187,7 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
parseUpload(invalidRequest);
fail("Expected EndOfStreamException");
} catch (final FileUploadException e) {
- assertTrue(e.getSuppressed()[0] instanceof MultipartStream.MalformedStreamException, e.toString());
+ assertTrue(e.getSuppressed()[0] instanceof MultipartInput.MalformedStreamException, e.toString());
}
}
@@ -223,10 +223,10 @@ public abstract class AbstractStreamingTest<F extends FileUpload<R>, R, C extend
// @formatter:on
final byte[] reqBytes = request.getBytes(StandardCharsets.US_ASCII);
- final FileItemIterator fileItemIter = parseUpload(reqBytes.length, new ByteArrayInputStream(reqBytes));
- final FileItemStream fileItemStream = fileItemIter.next();
+ final FileItemInputIterator fileItemIter = parseUpload(reqBytes.length, new ByteArrayInputStream(reqBytes));
+ final FileItemInput fileItemInput = fileItemIter.next();
try {
- fileItemStream.getName();
+ fileItemInput.getName();
fail("Expected exception");
} catch (final InvalidPathException e) {
assertEquals(fileName, e.getInput());
diff --git a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/MultipartStreamTest.java b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/MultipartStreamTest.java
index d850141..9aef4b3 100644
--- a/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/MultipartStreamTest.java
+++ b/commons-fileupload2-core/src/test/java/org/apache/commons/fileupload2/MultipartStreamTest.java
@@ -25,7 +25,7 @@ import java.io.InputStream;
import org.junit.jupiter.api.Test;
/**
- * Unit tests {@link MultipartStream}.
+ * Unit tests {@link MultipartInput}.
*/
public class MultipartStreamTest {
@@ -38,8 +38,8 @@ public class MultipartStreamTest {
final InputStream input = new ByteArrayInputStream(contents);
final byte[] boundary = BOUNDARY_TEXT.getBytes();
final int iBufSize = 1;
- assertThrows(IllegalArgumentException.class, () -> MultipartStream.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
- .setProgressNotifier(new MultipartStream.ProgressNotifier(null, contents.length)).get());
+ assertThrows(IllegalArgumentException.class, () -> MultipartInput.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
+ .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get());
}
@Test
@@ -48,9 +48,9 @@ public class MultipartStreamTest {
final byte[] contents = strData.getBytes();
final InputStream input = new ByteArrayInputStream(contents);
final byte[] boundary = BOUNDARY_TEXT.getBytes();
- final int iBufSize = boundary.length + MultipartStream.BOUNDARY_PREFIX.length + 1;
- final MultipartStream ms = MultipartStream.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
- .setProgressNotifier(new MultipartStream.ProgressNotifier(null, contents.length)).get();
+ final int iBufSize = boundary.length + MultipartInput.BOUNDARY_PREFIX.length + 1;
+ final MultipartInput ms = MultipartInput.builder().setInputStream(input).setBoundary(boundary).setBufferSize(iBufSize)
+ .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get();
assertNotNull(ms);
}
@@ -60,8 +60,8 @@ public class MultipartStreamTest {
final byte[] contents = strData.getBytes();
final InputStream input = new ByteArrayInputStream(contents);
final byte[] boundary = BOUNDARY_TEXT.getBytes();
- final MultipartStream ms = MultipartStream.builder().setInputStream(input).setBoundary(boundary)
- .setProgressNotifier(new MultipartStream.ProgressNotifier(null, contents.length)).get();
+ final MultipartInput ms = MultipartInput.builder().setInputStream(input).setBoundary(boundary)
+ .setProgressNotifier(new MultipartInput.ProgressNotifier(null, contents.length)).get();
assertNotNull(ms);
}
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 1f62ac8..6a3e36c 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
@@ -23,7 +23,7 @@ import java.util.Map;
import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
-import org.apache.commons.fileupload2.FileItemIterator;
+import org.apache.commons.fileupload2.FileItemInputIterator;
import org.apache.commons.fileupload2.FileUpload;
import org.apache.commons.fileupload2.FileUploadException;
@@ -81,13 +81,13 @@ public class JakartaServletFileUpload extends FileUpload<HttpServletRequest> {
* Gets an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} file item iterator.
*
* @param request The servlet request to be parsed.
- * @return An iterator to instances of {@code FileItemStream} parsed from the request, in the order that they were transmitted.
+ * @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.
*/
@Override
- public FileItemIterator getItemIterator(final HttpServletRequest request) throws FileUploadException, IOException {
+ public FileItemInputIterator getItemIterator(final HttpServletRequest request) throws FileUploadException, IOException {
return super.getItemIterator(new JakartaServletRequestContext(request));
}
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 389ec0b..d0d478b 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
@@ -25,7 +25,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
-import org.apache.commons.fileupload2.FileItemIterator;
+import org.apache.commons.fileupload2.FileItemInputIterator;
import org.apache.commons.fileupload2.FileUpload;
import org.apache.commons.fileupload2.FileUploadException;
@@ -81,13 +81,13 @@ public class JavaxServletFileUpload extends FileUpload<HttpServletRequest> {
* Gets an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} file item iterator.
*
* @param request The servlet request to be parsed.
- * @return An iterator to instances of {@code FileItemStream} parsed from the request, in the order that they were transmitted.
+ * @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.
*/
@Override
- public FileItemIterator getItemIterator(final HttpServletRequest request) throws FileUploadException, IOException {
+ public FileItemInputIterator getItemIterator(final HttpServletRequest request) throws FileUploadException, IOException {
return super.getItemIterator(new JavaxServletRequestContext(request));
}
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 0c1053c..7cab2c5 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
@@ -25,7 +25,7 @@ import javax.portlet.ActionRequest;
import org.apache.commons.fileupload2.AbstractFileUpload;
import org.apache.commons.fileupload2.FileItem;
import org.apache.commons.fileupload2.FileItemFactory;
-import org.apache.commons.fileupload2.FileItemIterator;
+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;
@@ -76,13 +76,13 @@ public class JavaxPortletFileUpload extends FileUpload<ActionRequest> {
* Gets an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant {@code multipart/form-data} file item iterator.
*
* @param request The portlet request to be parsed.
- * @return An iterator to instances of {@code FileItemStream} parsed from the request, in the order that they were transmitted.
+ * @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.
*/
@Override
- public FileItemIterator getItemIterator(final ActionRequest request) throws FileUploadException, IOException {
+ public FileItemInputIterator getItemIterator(final ActionRequest request) throws FileUploadException, IOException {
return super.getItemIterator(new PortletRequestContext(request));
}