X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fapi%2Fdata%2FTransactionCommitDeadlockException.java;h=50952eaaf1ca90c89e02a5636e5d3594f0809252;hp=60313bf109ba30dd6692365181456337f9a91402;hb=510f3bd2d25c0e667a60ff5ef18cfbd40534cec0;hpb=c74d5c2399e500fe3e690edc8cee497b1cb6f867 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); } }