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


The following commit(s) were added to refs/heads/master by this push:
     new 3a0bf1c3 Fix SpotBugs errors
3a0bf1c3 is described below

commit 3a0bf1c32274559d2dfa52da5b762b71ad8fc291
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Nov 23 13:18:30 2023 -0500

    Fix SpotBugs errors
    
    [ERROR] Medium:
    org.apache.commons.io.monitor.FileAlterationMonitor.getObservers() may
    expose internal representation by returning
    FileAlterationMonitor.observers 
[org.apache.commons.io.monitor.FileAlterationMonitor]
    At FileAlterationMonitor.java:[line 124] EI_EXPOSE_REP
    [ERROR] Medium:
    org.apache.commons.io.monitor.FileAlterationObserver.getListeners() may
    expose internal representation by returning
    FileAlterationObserver.listeners 
[org.apache.commons.io.monitor.FileAlterationObserver]
    At FileAlterationObserver.java:[line 397] EI_EXPOSE_REP
---
 src/changes/changes.xml                                                | 1 +
 src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java | 3 ++-
 .../java/org/apache/commons/io/monitor/FileAlterationObserver.java     | 3 ++-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2b74571c..2a27ab63 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -59,6 +59,7 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: Class org.apache.commons.io.filefilter.DelegateFileFilter defines 
non-transient non-serializable instance field fileFilter 
[org.apache.commons.io.filefilter.DelegateFileFilter] In 
DelegateFileFilter.java SE_BAD_FIELD.</action>
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: Class org.apache.commons.io.filefilter.DelegateFileFilter defines 
non-transient non-serializable instance field fileNameFilter 
[org.apache.commons.io.filefilter.DelegateFileFilter] In 
DelegateFileFilter.java SE_BAD_FIELD.</action>
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: org.apache.commons.io.function.IOStream$1.next() cannot throw 
NoSuchElementException [org.apache.commons.io.function.IOStream$1] At 
IOStream.java:[line 98] IT_NO_SUCH_ELEMENT.</action>
+      <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: org.apache.commons.io.monitor.FileAlterationMonitor.getObservers() may 
expose internal representation by returning FileAlterationMonitor.observers 
[org.apache.commons.io.monitor.FileAlterationMonitor] At 
FileAlterationMonitor.java:[line 124] EI_EXPOSE_REP.</action>
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: Class org.apache.commons.io.monitor.FileAlterationObserver defines 
non-transient non-serializable instance field fileFilter 
[org.apache.commons.io.monitor.FileAlterationObserver] In 
FileAlterationObserver.java SE_BAD_FIELD.</action>
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: Class org.apache.commons.io.monitor.FileAlterationObserver defines 
non-transient non-serializable instance field listeners 
[org.apache.commons.io.monitor.FileAlterationObserver] In 
FileAlterationObserver.java SE_BAD_FIELD.</action>
       <action dev="ggregory" type="fix" due-to="Gary Gregory">Fix SpotBugs 
error: org.apache.commons.io.FileCleaningTracker.getDeleteFailures() may expose 
internal representation by returning FileCleaningTracker.deleteFailures 
[org.apache.commons.io.FileCleaningTracker] At FileCleaningTracker.java:[line 
218] EI_EXPOSE_REP.</action>
diff --git 
a/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java 
b/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
index f4c07e18..4fc26d9c 100644
--- a/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
+++ b/src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java
@@ -17,6 +17,7 @@
 package org.apache.commons.io.monitor;
 
 import java.time.Duration;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -121,7 +122,7 @@ public final class FileAlterationMonitor implements 
Runnable {
      * @return The set of {@link FileAlterationObserver}
      */
     public Iterable<FileAlterationObserver> getObservers() {
-        return observers;
+        return new ArrayList<>(observers);
     }
 
     /**
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 33311b53..c0946bd8 100644
--- a/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java
+++ b/src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java
@@ -19,6 +19,7 @@ package org.apache.commons.io.monitor;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
@@ -394,7 +395,7 @@ public class FileAlterationObserver implements Serializable 
{
      * @return The file system listeners
      */
     public Iterable<FileAlterationListener> getListeners() {
-        return listeners;
+        return new ArrayList<>(listeners);
     }
 
     /**

Reply via email to