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-io.git
commit 9d15384876478092994a29f00f7b5568f16a8523 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Fri Nov 24 10:15:47 2023 -0500 Simplify FileAlterationObserver internal processing --- src/changes/changes.xml | 1 + .../org/apache/commons/io/monitor/FileAlterationObserver.java | 11 +++++------ .../apache/commons/io/monitor/FileAlterationObserverTest.java | 8 +++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 8e78bda6..47f9119c 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -53,6 +53,7 @@ The <action> type attribute can be add,update,fix,remove. <action dev="ggregory" type="fix" due-to="Stephan Markwalder, Gary Gregory">Add test for FileChannels.contentEquals() #509.</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix FileChannels.contentEquals().</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix some Javadoc issues in LineIterator and IOUtils.</action> + <action dev="ggregory" type="fix" due-to="Gary Gregory">Simplify FileAlterationObserver internal processing.</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Avoid NullPointerException in RegexFileFilter.RegexFileFilter(Pattern).</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Avoid NullPointerException in RegexFileFilter.accept(Path, BasicFileAttributes).</action> <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs error: Class org.apache.commons.io.filefilter.RegexFileFilter defines non-transient non-serializable instance field pathToString [org.apache.commons.io.filefilter.RegexFileFilter] In RegexFileFilter.java SE_BAD_FIELD.</action> diff --git a/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java b/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java index c0946bd8..81a39c61 100644 --- a/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java +++ b/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java @@ -30,6 +30,7 @@ import java.util.stream.Stream; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOCase; import org.apache.commons.io.comparator.NameFileComparator; +import org.apache.commons.io.filefilter.TrueFileFilter; /** * FileAlterationObserver represents the state of files below a root directory, @@ -176,7 +177,7 @@ public class FileAlterationObserver implements Serializable { Objects.requireNonNull(rootEntry, "rootEntry"); Objects.requireNonNull(rootEntry.getFile(), "rootEntry.getFile()"); this.rootEntry = rootEntry; - this.fileFilter = fileFilter; + this.fileFilter = fileFilter != null ? fileFilter : TrueFileFilter.INSTANCE; switch (IOCase.value(ioCase, IOCase.SYSTEM)) { case SYSTEM: this.comparator = NameFileComparator.NAME_SYSTEM_COMPARATOR; @@ -419,7 +420,7 @@ public class FileAlterationObserver implements Serializable { private File[] listFiles(final File file) { File[] children = null; if (file.isDirectory()) { - children = fileFilter == null ? file.listFiles() : file.listFiles(fileFilter); + children = file.listFiles(fileFilter); } if (children == null) { children = FileUtils.EMPTY_FILE_ARRAY; @@ -453,10 +454,8 @@ public class FileAlterationObserver implements Serializable { builder.append("[file='"); builder.append(getDirectory().getPath()); builder.append('\''); - if (fileFilter != null) { - builder.append(", "); - builder.append(fileFilter.toString()); - } + builder.append(", "); + builder.append(fileFilter.toString()); builder.append(", listeners="); builder.append(listeners.size()); builder.append("]"); diff --git a/src/test/java/org/apache/commons/io/monitor/FileAlterationObserverTest.java b/src/test/java/org/apache/commons/io/monitor/FileAlterationObserverTest.java index 130105ea..b7cc46e8 100644 --- a/src/test/java/org/apache/commons/io/monitor/FileAlterationObserverTest.java +++ b/src/test/java/org/apache/commons/io/monitor/FileAlterationObserverTest.java @@ -372,13 +372,11 @@ public class FileAlterationObserverTest extends AbstractMonitorTest { final File file = new File("/foo"); FileAlterationObserver observer = new FileAlterationObserver(file); - assertEquals("FileAlterationObserver[file='" + file.getPath() + "', listeners=0]", - observer.toString()); + assertEquals("FileAlterationObserver[file='" + file.getPath() + "', true, listeners=0]", observer.toString()); observer = new FileAlterationObserver(file, CanReadFileFilter.CAN_READ); - assertEquals("FileAlterationObserver[file='" + file.getPath() + "', CanReadFileFilter, listeners=0]", - observer.toString()); + assertEquals("FileAlterationObserver[file='" + file.getPath() + "', CanReadFileFilter, listeners=0]", observer.toString()); assertEquals(file, observer.getDirectory()); - } + } }