X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-common-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fapi%2Fdata%2FTransactionCommitDeadlockException.java;h=50952eaaf1ca90c89e02a5636e5d3594f0809252;hb=002fbfc6162f844721fcf9b2f9fbb21eefdff3a7;hp=60313bf109ba30dd6692365181456337f9a91402;hpb=00a9f11655358387b6048b0a427adc50e7df4672;p=controller.git diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitDeadlockException.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitDeadlockException.java index 60313bf109..50952eaaf1 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitDeadlockException.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitDeadlockException.java @@ -8,11 +8,10 @@ package org.opendaylight.controller.md.sal.common.api.data; +import com.google.common.base.Supplier; import org.opendaylight.yangtools.yang.common.RpcError; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; - -import com.google.common.base.Function; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; /** * A type of TransactionCommitFailedException that indicates a situation that would result in a @@ -24,23 +23,21 @@ import com.google.common.base.Function; * @author Thomas Pantelis */ public class TransactionCommitDeadlockException extends TransactionCommitFailedException { - private static final long serialVersionUID = 1L; - private static final String DEADLOCK_MESSAGE = "An attempt to block on a ListenableFuture via a get method from a write " + "transaction submit was detected that would result in deadlock. The commit " + "result must be obtained asynchronously, e.g. via Futures#addCallback, to avoid deadlock."; + private static final RpcError DEADLOCK_RPCERROR = RpcResultBuilder.newError(ErrorType.APPLICATION, "lock-denied", DEADLOCK_MESSAGE); - public static Function DEADLOCK_EXECUTOR_FUNCTION = new Function() { + public static final Supplier DEADLOCK_EXCEPTION_SUPPLIER = new Supplier() { @Override - public Exception apply(Void notUsed) { - return new TransactionCommitDeadlockException( DEADLOCK_MESSAGE, - RpcResultBuilder.newError(ErrorType.APPLICATION, "lock-denied", DEADLOCK_MESSAGE)); + public Exception get() { + return new TransactionCommitDeadlockException(DEADLOCK_MESSAGE, DEADLOCK_RPCERROR); } }; - public TransactionCommitDeadlockException(String message, final RpcError... errors) { + public TransactionCommitDeadlockException(final String message, final RpcError... errors) { super(message, errors); } }