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%2Fdatabroker%2Factors%2Fdds%2FAbstractDataStoreClientActor.java;h=12858b9cb9fc1470349de74b925f02cced49f73a;hb=f83b2d36fdd7e953ba72492ffb684cd112aa04a6;hp=1143bab10c39993f1d51672e6543ed94ea5a2a9a;hpb=5e7cf2452ef634dc934a3ea5a2dd95059fbab68c;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java index 1143bab10c..12858b9cb9 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/AbstractDataStoreClientActor.java @@ -7,18 +7,19 @@ */ package org.opendaylight.controller.cluster.databroker.actors.dds; +import static com.google.common.base.Verify.verifyNotNull; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import akka.util.Timeout; -import com.google.common.base.Preconditions; -import com.google.common.base.Throwables; -import com.google.common.base.Verify; import java.util.concurrent.TimeUnit; import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.access.client.AbstractClientActor; +import org.opendaylight.controller.cluster.access.client.ClientActorConfig; import org.opendaylight.controller.cluster.access.client.ClientActorContext; import org.opendaylight.controller.cluster.access.concepts.FrontendIdentifier; import org.opendaylight.controller.cluster.common.actor.ExplicitAsk; -import org.opendaylight.controller.cluster.datastore.utils.ActorContext; +import org.opendaylight.controller.cluster.datastore.utils.ActorUtils; import scala.Function1; import scala.concurrent.Await; import scala.concurrent.duration.Duration; @@ -26,19 +27,25 @@ import scala.concurrent.duration.Duration; public abstract class AbstractDataStoreClientActor extends AbstractClientActor { private static final Function1 GET_CLIENT_FACTORY = ExplicitAsk.toScala(GetClientRequest::new); - private final ActorContext actorContext; + private final ActorUtils actorUtils; - AbstractDataStoreClientActor(final FrontendIdentifier frontendId, final ActorContext actorContext) { + AbstractDataStoreClientActor(final FrontendIdentifier frontendId, final ActorUtils actorUtils) { super(frontendId); - this.actorContext = Preconditions.checkNotNull(actorContext); + this.actorUtils = requireNonNull(actorUtils); + } + + @Override + protected ClientActorConfig getClientActorConfig() { + return actorUtils.getDatastoreContext(); } @Override protected final AbstractDataStoreClientBehavior initialBehavior(final ClientActorContext context) { - return Verify.verifyNotNull(initialBehavior(context, actorContext)); + return verifyNotNull(initialBehavior(context, actorUtils)); } - abstract AbstractDataStoreClientBehavior initialBehavior(ClientActorContext context, ActorContext actorContext); + @SuppressWarnings("checkstyle:hiddenField") + abstract AbstractDataStoreClientBehavior initialBehavior(ClientActorContext context, ActorUtils actorUtils); @SuppressWarnings("checkstyle:IllegalCatch") public static DataStoreClient getDistributedDataStoreClient(@Nonnull final ActorRef actor, @@ -46,8 +53,10 @@ public abstract class AbstractDataStoreClientActor extends AbstractClientActor { try { return (DataStoreClient) Await.result(ExplicitAsk.ask(actor, GET_CLIENT_FACTORY, Timeout.apply(timeout, unit)), Duration.Inf()); + } catch (RuntimeException e) { + throw e; } catch (Exception e) { - throw Throwables.propagate(e); + throw new RuntimeException(e); } } }