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=73b56239a0a1bc3577d748f92f92772796b9196b;hb=178ebab612c3ddd338e759ca7e929c25c623b0b3;hp=7ca21d4d8a6a3b9e0ba13ae783ef2468b3c2c383;hpb=59e84273be97b1115fb3fb0f06364b7491a40385;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 7ca21d4d8a..73b56239a0 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,13 +7,17 @@ */ package org.opendaylight.controller.cluster.datastore; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import akka.actor.ActorSelection; import java.util.Collection; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; +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; +import org.slf4j.LoggerFactory; /** * Internal implementation of a {@link DOMDataTreeChangeListener} which @@ -21,14 +25,28 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; * message and forwards them towards the client's {@link DataTreeChangeListenerActor}. */ final class ForwardingDataTreeChangeListener implements DOMDataTreeChangeListener { + private static final Logger LOG = LoggerFactory.getLogger(ForwardingDataTreeChangeListener.class); + private final ActorSelection actor; ForwardingDataTreeChangeListener(final ActorSelection actor) { - this.actor = Preconditions.checkNotNull(actor, "actor should not be null"); + this.actor = requireNonNull(actor, "actor should not be null"); } @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()); } + + @Override + public void onInitialData() { + LOG.debug("Sending OnInitialData to {}", actor); + actor.tell(OnInitialData.INSTANCE, ActorRef.noSender()); + } + + @Override + public String toString() { + return "ForwardingDataTreeChangeListener [actor=" + actor + "]"; + } }