X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDelayedDataTreeListenerRegistration.java;h=958ccc4438be135a8355bcd65f8841c2159510a9;hb=288a70d15252b3c5fafd202fe7935563f05da9c8;hp=b3ae8a3ca2d6fcd0c9f68e2a3c3a65a4ac439b26;hpb=66d39ecc3effd52c96c7a772a46612008e34fbc9;p=controller.git 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..958ccc4438 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 @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore; +import com.google.common.base.Optional; import com.google.common.base.Preconditions; +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 LeaderLocalDelegateFactory, Optional> factory) { if (!closed) { - this.delegate = factory.createDelegate(registerTreeChangeListener); + final Entry, Optional> res = + factory.createDelegate(registerTreeChangeListener); + this.delegate = res.getKey(); + factory.getShard().getDataStore().notifyOfInitialData(registerTreeChangeListener.getPath(), + this.delegate.getInstance(), res.getValue()); } }