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%2FLeaderLocalDelegateFactory.java;h=af57577c4d37bc08eb5ebd7df92bdd2df2663b31;hp=d33cebbebc2f7680dff2097f8b3ab3745f861c26;hb=3402cfce32b05957219e54754dd7ca5b0a54cd0e;hpb=59e84273be97b1115fb3fb0f06364b7491a40385 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderLocalDelegateFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderLocalDelegateFactory.java index d33cebbebc..af57577c4d 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderLocalDelegateFactory.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LeaderLocalDelegateFactory.java @@ -7,24 +7,25 @@ */ package org.opendaylight.controller.cluster.datastore; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorPath; import akka.actor.ActorRef; import akka.actor.ActorSelection; import akka.actor.Props; -import com.google.common.base.Preconditions; /** * Base class for factories instantiating delegates which are local to the * shard leader. * - * delegate type - * message type + * @param delegate type + * @param message type */ -abstract class LeaderLocalDelegateFactory extends DelegateFactory { +abstract class LeaderLocalDelegateFactory { private final Shard shard; protected LeaderLocalDelegateFactory(final Shard shard) { - this.shard = Preconditions.checkNotNull(shard); + this.shard = requireNonNull(shard); } protected final ActorRef getSelf() { @@ -47,20 +48,21 @@ abstract class LeaderLocalDelegateFactory extends DelegateFactory { return shard.getContext().actorOf(props); } - protected final ActorSelection selectActor(ActorRef ref) { + protected final ActorSelection selectActor(final ActorRef ref) { return shard.getContext().system().actorSelection(ref.path()); } - protected final ActorSelection selectActor(ActorPath path) { + protected final ActorSelection selectActor(final ActorPath path) { return shard.getContext().system().actorSelection(path); } /** * Invoked whenever the local shard's leadership role changes. * - * @param isLeader true if the shard has become leader, false if it has - * become a follower. + * @param isLeader true if the shard has become leader, false if it has become a follower. + * @param hasLeader true if the shard knows about leader ID */ - abstract void onLeadershipChange(boolean isLeader); - abstract void onMessage(M message, boolean isLeader); + abstract void onLeadershipChange(boolean isLeader, boolean hasLeader); + + abstract void onMessage(M message, boolean isLeader, boolean hasLeader); }