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%2Fshardmanager%2FAbstractShardManagerCreator.java;h=560b5344b0052bd09e455b396780cc5579211097;hb=HEAD;hp=b236a05e05f2acab37f1e2588878d4bec949d91f;hpb=ecfd8bf0ecf630883e280997d328cf207475938c;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/AbstractShardManagerCreator.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/AbstractShardManagerCreator.java index b236a05e05..560b5344b0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/AbstractShardManagerCreator.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/shardmanager/AbstractShardManagerCreator.java @@ -7,20 +7,25 @@ */ package org.opendaylight.controller.cluster.datastore.shardmanager; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import akka.actor.Props; -import com.google.common.base.Preconditions; -import java.util.concurrent.CountDownLatch; +import com.google.common.util.concurrent.SettableFuture; +import org.opendaylight.controller.cluster.datastore.AbstractDataStore; import org.opendaylight.controller.cluster.datastore.ClusterWrapper; import org.opendaylight.controller.cluster.datastore.DatastoreContextFactory; import org.opendaylight.controller.cluster.datastore.config.Configuration; -import org.opendaylight.controller.cluster.datastore.messages.DatastoreSnapshot; +import org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot; import org.opendaylight.controller.cluster.datastore.utils.PrimaryShardInfoFutureCache; +import org.opendaylight.yangtools.yang.common.Empty; public abstract class AbstractShardManagerCreator> { + private SettableFuture readinessFuture; private ClusterWrapper cluster; private Configuration configuration; private DatastoreContextFactory datastoreContextFactory; - private CountDownLatch waitTillReadyCountdownLatch; + private AbstractDataStore distributedDataStore; private PrimaryShardInfoFutureCache primaryShardInfoCache; private DatastoreSnapshot restoreFromSnapshot; private volatile boolean sealed; @@ -35,16 +40,16 @@ public abstract class AbstractShardManagerCreator getReadinessFuture() { + return readinessFuture; } - public T waitTillReadyCountdownLatch(CountDownLatch waitTillReadyCountdownLatch) { + public T readinessFuture(final SettableFuture newReadinessFuture) { checkSealed(); - this.waitTillReadyCountdownLatch = waitTillReadyCountdownLatch; + this.readinessFuture = newReadinessFuture; return self(); } @@ -82,9 +97,9 @@ public abstract class AbstractShardManagerCreator