X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fbroker%2Fimpl%2FTransactionCommitFailedExceptionMapper.java;h=8f04d09e821e678b3471c6974f1b490760a8c1cb;hb=0b161730fd648bfa4c953e84b2d6a66972bc4da2;hp=87bd6c8c6083a089894cca88a8ddac0e323197bc;hpb=38fad7ae1a91ca3684e0736f94bfae5c11040cb0;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/TransactionCommitFailedExceptionMapper.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/TransactionCommitFailedExceptionMapper.java index 87bd6c8c60..8f04d09e82 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/TransactionCommitFailedExceptionMapper.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/TransactionCommitFailedExceptionMapper.java @@ -7,63 +7,39 @@ */ package org.opendaylight.controller.md.sal.dom.broker.impl; -import java.util.concurrent.ExecutionException; - +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import com.google.common.util.concurrent.Futures; +import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; /** + * Utility exception mapper which translates Exception to {@link TransactionCommitFailedException}. * - * Utility exception mapper which translates {@link Exception} - * to {@link TransactionCommitFailedException}. - * - * This mapper is intended to be used with {@link Futures#makeChecked(com.google.common.util.concurrent.ListenableFuture, Function)} - * - * + * @see ExceptionMapper */ -final class TransactionCommitFailedExceptionMapper implements - Function { +public final class TransactionCommitFailedExceptionMapper extends ExceptionMapper { - static final TransactionCommitFailedExceptionMapper PRE_COMMIT_MAPPER = create("canCommit"); + public static final TransactionCommitFailedExceptionMapper PRE_COMMIT_MAPPER = create("preCommit"); - static final TransactionCommitFailedExceptionMapper CAN_COMMIT_ERROR_MAPPER = create("preCommit"); + public static final TransactionCommitFailedExceptionMapper CAN_COMMIT_ERROR_MAPPER = create("canCommit"); - static final TransactionCommitFailedExceptionMapper COMMIT_ERROR_MAPPER = create("commit"); - - private final String opName; + public static final TransactionCommitFailedExceptionMapper COMMIT_ERROR_MAPPER = create("commit"); private TransactionCommitFailedExceptionMapper(final String opName) { - this.opName = Preconditions.checkNotNull(opName); + super(opName, TransactionCommitFailedException.class); } - public static final TransactionCommitFailedExceptionMapper create(final String opName) { + public static TransactionCommitFailedExceptionMapper create(final String opName) { return new TransactionCommitFailedExceptionMapper(opName); } @Override - public TransactionCommitFailedException apply(final Exception e) { - // If excetion is TransactionCommitFailedException - // we reuse it directly. - if (e instanceof TransactionCommitFailedException) { - return (TransactionCommitFailedException) e; - } - // If error is ExecutionException which was caused by cause of - // TransactionCommitFailedException - // we reuse original cause - if (e instanceof ExecutionException && e.getCause() instanceof TransactionCommitFailedException) { - return (TransactionCommitFailedException) e.getCause(); - } - if (e instanceof InterruptedException) { - return new TransactionCommitFailedException(opName + " failed - DOMStore was interupted.", e); - } - // Otherwise we are using new exception, with original cause - return new TransactionCommitFailedException(opName + " failed", e); + protected TransactionCommitFailedException newWithCause(final String message, final Throwable cause) { + return new TransactionCommitFailedException(message, cause); + } + + @Override + @SuppressFBWarnings("BC_UNCONFIRMED_CAST_OF_RETURN_VALUE") + public TransactionCommitFailedException apply(Exception input) { + return super.apply(input); } -} \ No newline at end of file +}