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/08 20:55:53 UTC
[commons-fileupload] branch master updated: Add and use ProgressListener.NOP
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 <ga...@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.
*