X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Futils%2FMockDataTreeChangeListener.java;h=4be431554118484f6760a0e78f72f0f82bfba86d;hb=5d1d9d13b5372cbb8148a47f2ccbb93067a13ce8;hp=f5a61599df4e2a5a326b7870927b96d1b23b1c0e;hpb=5464f50be733df1bbbe31cf05665d542d3b7c5e7;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java index f5a61599df..4be4315541 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/utils/MockDataTreeChangeListener.java @@ -27,8 +27,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; public class MockDataTreeChangeListener implements DOMDataTreeChangeListener { - private final List> changeList = - Lists.>newArrayList(); + private final List changeList = Lists.newArrayList(); private volatile CountDownLatch changeLatch; private int expChangeEventCount; @@ -47,10 +46,12 @@ public class MockDataTreeChangeListener implements DOMDataTreeChangeListener { @Override public void onDataTreeChanged(@Nonnull final Collection changes) { - synchronized (changeList) { - changeList.add(changes); + if (changeLatch.getCount() > 0) { + synchronized (changeList) { + changeList.addAll(changes); + } + changeLatch.countDown(); } - changeLatch.countDown(); } public void waitForChangeEvents() { @@ -64,10 +65,8 @@ public class MockDataTreeChangeListener implements DOMDataTreeChangeListener { public void verifyNotifiedData(YangInstanceIdentifier... paths) { Set pathSet = new HashSet<>(Arrays.asList(paths)); synchronized (changeList) { - for (Collection list : changeList) { - for (DataTreeCandidate c : list) { - pathSet.remove(c.getRootPath()); - } + for (DataTreeCandidate c : changeList) { + pathSet.remove(c.getRootPath()); } } @@ -86,11 +85,9 @@ public class MockDataTreeChangeListener implements DOMDataTreeChangeListener { public void verifyNoNotifiedData(YangInstanceIdentifier... paths) { Set pathSet = new HashSet<>(Arrays.asList(paths)); synchronized (changeList) { - for (Collection list : changeList) { - for (DataTreeCandidate c : list) { - assertFalse("Unexpected " + c.getRootPath() + " present in DataTreeCandidate", - pathSet.contains(c.getRootPath())); - } + for (DataTreeCandidate c : changeList) { + assertFalse("Unexpected " + c.getRootPath() + " present in DataTreeCandidate", + pathSet.contains(c.getRootPath())); } } }