Skip to content

Commit 3a0bf1c

Browse files
committed
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
1 parent e539867 commit 3a0bf1c

3 files changed

Lines changed: 5 additions & 2 deletions

File tree

src/changes/changes.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ The <action> type attribute can be add,update,fix,remove.
5959
<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>
6060
<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>
6161
<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>
62+
<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>
6263
<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>
6364
<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>
6465
<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>

src/main/java/org/apache/commons/io/monitor/FileAlterationMonitor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.commons.io.monitor;
1818

1919
import java.time.Duration;
20+
import java.util.ArrayList;
2021
import java.util.Collection;
2122
import java.util.Collections;
2223
import java.util.List;
@@ -121,7 +122,7 @@ public long getInterval() {
121122
* @return The set of {@link FileAlterationObserver}
122123
*/
123124
public Iterable<FileAlterationObserver> getObservers() {
124-
return observers;
125+
return new ArrayList<>(observers);
125126
}
126127

127128
/**

src/main/java/org/apache/commons/io/monitor/FileAlterationObserver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.io.File;
2020
import java.io.FileFilter;
2121
import java.io.Serializable;
22+
import java.util.ArrayList;
2223
import java.util.Arrays;
2324
import java.util.Comparator;
2425
import java.util.List;
@@ -394,7 +395,7 @@ public FileFilter getFileFilter() {
394395
* @return The file system listeners
395396
*/
396397
public Iterable<FileAlterationListener> getListeners() {
397-
return listeners;
398+
return new ArrayList<>(listeners);
398399
}
399400

400401
/**

0 commit comments

Comments
 (0)