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%2FThreePhaseCommitCohortProxy.java;h=57749a1a736bc935da74222ca984d834083d6206;hp=aeb4062103d1c0fc77c29f0c733447728a60194f;hb=2727bea09c83646b6cbd2ef9672d0b7f6cf3b22f;hpb=76adfd83e0cade28adbda66e0d8c0950601b8e44 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java index aeb4062103..57749a1a73 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ThreePhaseCommitCohortProxy.java @@ -11,7 +11,6 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.ActorSelection; import akka.dispatch.Futures; import akka.dispatch.OnComplete; -import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.SettableFuture; @@ -25,7 +24,6 @@ import org.opendaylight.controller.cluster.datastore.messages.CanCommitTransacti import org.opendaylight.controller.cluster.datastore.messages.CommitTransaction; import org.opendaylight.controller.cluster.datastore.messages.CommitTransactionReply; import org.opendaylight.controller.cluster.datastore.utils.ActorContext; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import scala.concurrent.Future; @@ -34,30 +32,14 @@ import scala.runtime.AbstractFunction1; /** * ThreePhaseCommitCohortProxy represents a set of remote cohort proxies */ -public class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCohort{ +public class ThreePhaseCommitCohortProxy extends AbstractThreePhaseCommitCohort { private static final Logger LOG = LoggerFactory.getLogger(ThreePhaseCommitCohortProxy.class); - private static final ListenableFuture IMMEDIATE_SUCCESS = - com.google.common.util.concurrent.Futures.immediateFuture(null); - private final ActorContext actorContext; private final List> cohortFutures; private volatile List cohorts; private final String transactionId; - private static final OperationCallback NO_OP_CALLBACK = new OperationCallback() { - @Override - public void run() { - } - - @Override - public void success() { - } - - @Override - public void failure() { - } - }; public ThreePhaseCommitCohortProxy(ActorContext actorContext, List> cohortFutures, String transactionId) { @@ -192,7 +174,7 @@ public class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCoho public ListenableFuture preCommit() { // We don't need to do anything here - preCommit is done atomically with the commit phase // by the shard. - return IMMEDIATE_SUCCESS; + return IMMEDIATE_VOID_SUCCESS; } @Override @@ -209,7 +191,7 @@ public class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCoho @Override public ListenableFuture commit() { - OperationCallback operationCallback = (cohortFutures.size() == 0) ? NO_OP_CALLBACK : + OperationCallback operationCallback = cohortFutures.isEmpty() ? OperationCallback.NO_OP_CALLBACK : new TransactionRateLimitingCallback(actorContext); return voidOperation("commit", new CommitTransaction(transactionId).toSerializable(), @@ -218,7 +200,8 @@ public class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCoho private ListenableFuture voidOperation(final String operationName, final Object message, final Class expectedResponseClass, final boolean propagateException) { - return voidOperation(operationName, message, expectedResponseClass, propagateException, NO_OP_CALLBACK); + return voidOperation(operationName, message, expectedResponseClass, propagateException, + OperationCallback.NO_OP_CALLBACK); } private ListenableFuture voidOperation(final String operationName, final Object message, @@ -322,7 +305,7 @@ public class ThreePhaseCommitCohortProxy implements DOMStoreThreePhaseCommitCoho }, actorContext.getClientDispatcher()); } - @VisibleForTesting + @Override List> getCohortFutures() { return Collections.unmodifiableList(cohortFutures); }