X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDelayedDataTreeListenerRegistration.java;h=e8cd31097b872d222d6f886c173b362de26fb804;hp=b3ae8a3ca2d6fcd0c9f68e2a3c3a65a4ac439b26;hb=daaef05cbf70e6cbec9af181258faead6d9620a6;hpb=66d39ecc3effd52c96c7a772a46612008e34fbc9 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DelayedDataTreeListenerRegistration.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DelayedDataTreeListenerRegistration.java index b3ae8a3ca2..e8cd31097b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DelayedDataTreeListenerRegistration.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DelayedDataTreeListenerRegistration.java @@ -8,10 +8,13 @@ package org.opendaylight.controller.cluster.datastore; import com.google.common.base.Preconditions; +import java.util.Collections; +import java.util.Map.Entry; import javax.annotation.concurrent.GuardedBy; import org.opendaylight.controller.cluster.datastore.messages.RegisterDataTreeChangeListener; import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; /** * Intermediate proxy registration returned to the user when we cannot @@ -28,9 +31,13 @@ final class DelayedDataTreeListenerRegistration implements ListenerRegistration< this.registerTreeChangeListener = Preconditions.checkNotNull(registerTreeChangeListener); } - synchronized void createDelegate(final DelegateFactory> factory) { + synchronized void createDelegate(final DelegateFactory, DataTreeCandidate> factory) { if (!closed) { - this.delegate = factory.createDelegate(registerTreeChangeListener); + final Entry, DataTreeCandidate> res = factory.createDelegate(registerTreeChangeListener); + this.delegate = res.getKey(); + if (res.getValue() != null) { + delegate.getInstance().onDataTreeChanged(Collections.singletonList(res.getValue())); + } } }