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 3fbc96a Add and use ProgressListener.NOP 3fbc96a is described below commit 3fbc96a6c860efeeabab465c49144b99089ac1db Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Thu Jun 8 16:55:48 2023 -0400 Add and use ProgressListener.NOP --- .../org/apache/commons/fileupload2/AbstractFileUpload.java | 10 +++++----- .../java/org/apache/commons/fileupload2/MultipartStream.java | 6 ++---- .../java/org/apache/commons/fileupload2/ProgressListener.java | 8 ++++++++ 3 files changed, 15 insertions(+), 9 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 6d23ea2..fae053b 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 @@ -123,7 +123,7 @@ public abstract class AbstractFileUpload { /** * The progress listener. */ - private ProgressListener listener; + private ProgressListener progressListener = ProgressListener.NOP; /** * Gets the boundary from the {@code Content-type} header. @@ -316,7 +316,7 @@ public abstract class AbstractFileUpload { * @return The progress listener, if any, or null. */ public ProgressListener getProgressListener() { - return listener; + return progressListener; } /** @@ -490,10 +490,10 @@ public abstract class AbstractFileUpload { /** * Sets the progress listener. * - * @param listener The progress listener, if any. Defaults to null. + * @param progressListener The progress listener, if any. Defaults to null. */ - public void setProgressListener(final ProgressListener listener) { - this.listener = listener; + public void setProgressListener(final ProgressListener progressListener) { + this.progressListener = progressListener != null ? progressListener : ProgressListener.NOP; } /** 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/MultipartStream.java index 8640e82..8faa754 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/MultipartStream.java @@ -401,7 +401,7 @@ public class MultipartStream { * @param contentLength The expected content length. */ public ProgressNotifier(final ProgressListener progressListener, final long contentLength) { - this.progressListener = progressListener; + this.progressListener = progressListener != null ? progressListener : ProgressListener.NOP; this.contentLength = contentLength; } @@ -430,9 +430,7 @@ public class MultipartStream { * Called for notifying the listener. */ private void notifyListener() { - if (progressListener != null) { - progressListener.update(bytesRead, contentLength, items); - } + progressListener.update(bytesRead, contentLength, items); } } diff --git a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/ProgressListener.java b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/ProgressListener.java index d426871..07fee61 100644 --- a/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/ProgressListener.java +++ b/commons-fileupload2-core/src/main/java/org/apache/commons/fileupload2/ProgressListener.java @@ -19,8 +19,16 @@ package org.apache.commons.fileupload2; /** * Receives progress information. May be used to display a progress bar. */ +@FunctionalInterface public interface ProgressListener { + /** + * Nop implementation. + */ + ProgressListener NOP = (bytesRead, contentLength, items) -> { + // nop + }; + /** * Updates the listeners status information. *