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%2FDataTreeChangeListenerActor.java;h=2936a28b90a1f77cc640602c977751597fc8008b;hb=583f30d1c7a8199b401c9393745c62fe27b5ced8;hp=3f1190911789b1f6133054b985ba5035ba77ddd4;hpb=412db94945c5db5d2da918f5e23bd3abcecc4d10;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java index 3f11909117..2936a28b90 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeChangeListenerActor.java @@ -8,27 +8,27 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.Props; -import akka.japi.Creator; import com.google.common.base.Preconditions; import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChanged; import org.opendaylight.controller.cluster.datastore.messages.DataTreeChangedReply; import org.opendaylight.controller.cluster.datastore.messages.EnableNotification; import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** * Proxy actor which acts as a facade to the user-provided listener. Responsible for decapsulating * DataTreeChanged messages and dispatching their context to the user. */ final class DataTreeChangeListenerActor extends AbstractUntypedActor { - private static final Logger LOG = LoggerFactory.getLogger(DataTreeChangeListenerActor.class); private final DOMDataTreeChangeListener listener; + private final YangInstanceIdentifier registeredPath; private boolean notificationsEnabled = false; - private DataTreeChangeListenerActor(final DOMDataTreeChangeListener listener) { + private DataTreeChangeListenerActor(final DOMDataTreeChangeListener listener, + final YangInstanceIdentifier registeredPath) { this.listener = Preconditions.checkNotNull(listener); + this.registeredPath = Preconditions.checkNotNull(registeredPath); } @Override @@ -37,9 +37,12 @@ final class DataTreeChangeListenerActor extends AbstractUntypedActor { dataChanged((DataTreeChanged)message); } else if (message instanceof EnableNotification) { enableNotification((EnableNotification) message); + } else { + unknownMessage(message); } } + @SuppressWarnings("checkstyle:IllegalCatch") private void dataChanged(final DataTreeChanged message) { // Do nothing if notifications are not enabled if (!notificationsEnabled) { @@ -65,25 +68,11 @@ final class DataTreeChangeListenerActor extends AbstractUntypedActor { private void enableNotification(final EnableNotification message) { notificationsEnabled = message.isEnabled(); - LOG.debug("{} notifications for listener {}", (notificationsEnabled ? "Enabled" : "Disabled"), + LOG.debug("{} notifications for listener {}", notificationsEnabled ? "Enabled" : "Disabled", listener); } - public static Props props(final DOMDataTreeChangeListener listener) { - return Props.create(new DataTreeChangeListenerCreator(listener)); - } - - private static final class DataTreeChangeListenerCreator implements Creator { - private static final long serialVersionUID = 1L; - private final DOMDataTreeChangeListener listener; - - DataTreeChangeListenerCreator(final DOMDataTreeChangeListener listener) { - this.listener = Preconditions.checkNotNull(listener); - } - - @Override - public DataTreeChangeListenerActor create() { - return new DataTreeChangeListenerActor(listener); - } + public static Props props(final DOMDataTreeChangeListener listener, final YangInstanceIdentifier registeredPath) { + return Props.create(DataTreeChangeListenerActor.class, listener, registeredPath); } }