X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FShardDataTreeChangePublisherActor.java;h=6b716197429eb87c08c5e68170bbdab09b59829d;hp=356300ec4c9d038faddfc3c5c7aa4c2e1fa93d80;hb=b5d01b5d28d52413bf45b626b746c1519685058c;hpb=f41c5e6e6f6e10b36b1e4b1992877e38e718c8fb diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java index 356300ec4c..6b71619742 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeChangePublisherActor.java @@ -7,14 +7,15 @@ */ package org.opendaylight.controller.cluster.datastore; +import static java.util.Objects.requireNonNull; + import akka.actor.Props; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import java.util.Optional; import java.util.function.Consumer; import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeListener; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; /** * Actor used to generate and publish DataTreeChange notifications. @@ -22,7 +23,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; * @author Thomas Pantelis */ public final class ShardDataTreeChangePublisherActor - extends ShardDataTreeNotificationPublisherActor { + extends ShardDataTreeNotificationPublisherActor { private ShardDataTreeChangePublisherActor(final String name, final String logContext) { super(new DefaultShardDataTreeChangeListenerPublisher(logContext), name, logContext); @@ -36,9 +37,11 @@ public final class ShardDataTreeChangePublisherActor if (reg.initialState.isPresent()) { DefaultShardDataTreeChangeListenerPublisher.notifySingleListener(reg.path, reg.listener, reg.initialState.get(), logContext()); + } else { + reg.listener.onInitialData(); } - publisher().registerTreeChangeListener(reg.path, reg.listener, Optional.absent(), reg.onRegistration); + publisher().registerTreeChangeListener(reg.path, reg.listener, reg.onRegistration); } else { super.handleReceive(message); } @@ -57,10 +60,10 @@ public final class ShardDataTreeChangePublisherActor RegisterListener(final YangInstanceIdentifier path, final DOMDataTreeChangeListener listener, final Optional initialState, final Consumer> onRegistration) { - this.path = Preconditions.checkNotNull(path); - this.listener = Preconditions.checkNotNull(listener); - this.initialState = Preconditions.checkNotNull(initialState); - this.onRegistration = Preconditions.checkNotNull(onRegistration); + this.path = requireNonNull(path); + this.listener = requireNonNull(listener); + this.initialState = requireNonNull(initialState); + this.onRegistration = requireNonNull(onRegistration); } @Override