use thread-safe list in ConfigLoaderImplTest 81/77381/1
authorMatej Perina <matej.perina@pantheon.tech>
Wed, 31 Oct 2018 10:22:13 +0000 (11:22 +0100)
committerMatej Perina <matej.perina@pantheon.tech>
Wed, 31 Oct 2018 12:43:42 +0000 (12:43 +0000)
- to prevent ConcurrentModificationException in
  situation when List.stream() is called at same
  time as List.clear()

JIRA: BGPCEP-829

Change-Id: I9e69971de5ec75ca515e81e2b95fe44e50489fda
Signed-off-by: Matej Perina <matej.perina@pantheon.tech>
config-loader/config-loader-impl/src/test/java/org/opendaylight/bgpcep/config/loader/impl/AbstractConfigLoader.java

index 15b7c3f9ffcec8e33dd6a0ca848786f6b05d50fa..83ed84c6b012dcbe0910f784dc704f68d4805d71 100644 (file)
@@ -15,8 +15,8 @@ import static org.mockito.Mockito.doReturn;
 import java.nio.file.WatchEvent;
 import java.nio.file.WatchKey;
 import java.nio.file.WatchService;
-import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 import javax.annotation.concurrent.GuardedBy;
 import org.junit.After;
 import org.junit.Before;
@@ -31,7 +31,7 @@ import org.opendaylight.mdsal.dom.api.DOMSchemaService;
 
 public abstract class AbstractConfigLoader extends AbstractConcurrentDataBrokerTest {
     @GuardedBy("this")
-    private final List<WatchEvent<?>> eventList = new ArrayList<>();
+    private final List<WatchEvent<?>> eventList = new CopyOnWriteArrayList<>();
     protected ConfigLoaderImpl configLoader;
     @Mock
     private WatchService watchService;