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%2FForwardingDataTreeChangeListener.java;h=82a30b6c4050e59c02e6c873717f11023e51eebb;hb=824dce54df4b23120461e112574d2ff2effafcf6;hp=dd3155b8ebc958cddaa063b33d62e2e7b90b1e46;hpb=f41c5e6e6f6e10b36b1e4b1992877e38e718c8fb;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java index dd3155b8eb..82a30b6c40 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ForwardingDataTreeChangeListener.java @@ -7,11 +7,14 @@ */ package org.opendaylight.controller.cluster.datastore; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import akka.actor.ActorSelection; -import com.google.common.base.Preconditions; import java.util.Collection; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged; +import org.opendaylight.controller.cluster.datastore.messages.OnInitialData; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; import org.slf4j.Logger; @@ -26,19 +29,28 @@ final class ForwardingDataTreeChangeListener implements DOMDataTreeChangeListene private static final Logger LOG = LoggerFactory.getLogger(ForwardingDataTreeChangeListener.class); private final ActorSelection actor; + private final ActorRef sendingActor; - ForwardingDataTreeChangeListener(final ActorSelection actor) { - this.actor = Preconditions.checkNotNull(actor, "actor should not be null"); + ForwardingDataTreeChangeListener(final ActorSelection actor, @Nullable final ActorRef sendingActor) { + this.actor = requireNonNull(actor, "actor should not be null"); + this.sendingActor = sendingActor; } @Override - public void onDataTreeChanged(Collection changes) { + public void onDataTreeChanged(final Collection changes) { LOG.debug("Sending DataTreeChanged to {}", actor); - actor.tell(new DataTreeChanged(changes), ActorRef.noSender()); + actor.tell(new DataTreeChanged(changes), sendingActor); + } + + @Override + public void onInitialData() { + LOG.debug("Sending OnInitialData to {}", actor); + actor.tell(OnInitialData.INSTANCE, sendingActor); } @Override public String toString() { - return "ForwardingDataTreeChangeListener [actor=" + actor + "]"; + return "ForwardingDataTreeChangeListener [actor=" + actor + + ", sending actor=" + (sendingActor != null ? sendingActor : "NO_SENDER") + "]"; } }