*/
package org.opendaylight.controller.cluster.datastore;
+import static java.util.Objects.requireNonNull;
+
import akka.actor.Props;
-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.DataTreeListenerInfo;
import org.opendaylight.controller.cluster.datastore.messages.EnableNotification;
import org.opendaylight.controller.cluster.datastore.messages.GetInfo;
-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.YangInstanceIdentifier;
/**
private DataTreeChangeListenerActor(final DOMDataTreeChangeListener listener,
final YangInstanceIdentifier registeredPath) {
- this.listener = Preconditions.checkNotNull(listener);
- this.registeredPath = Preconditions.checkNotNull(registeredPath);
+ this.listener = requireNonNull(listener);
+ this.registeredPath = requireNonNull(registeredPath);
}
@Override
protected void handleReceive(final Object message) {
if (message instanceof DataTreeChanged) {
dataChanged((DataTreeChanged)message);
+ } else if (message instanceof OnInitialData) {
+ onInitialData();
} else if (message instanceof EnableNotification) {
enableNotification((EnableNotification) message);
} else if (message instanceof GetInfo) {
}
}
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ private void onInitialData() {
+ LOG.debug("{}: Notifying onInitialData to listener {}", logContext, listener);
+
+ try {
+ this.listener.onInitialData();
+ } catch (Exception e) {
+ LOG.error("{}: Error notifying listener {}", logContext, this.listener, e);
+ }
+ }
+
@SuppressWarnings("checkstyle:IllegalCatch")
private void dataChanged(final DataTreeChanged message) {
// Do nothing if notifications are not enabled