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=88080e729f2bb13c704665fe72f99e9aad9dfb12;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)}
- *
- * - if exception is {@link TransactionCommitFailedException} or one of its subclasses returns original exception.
- *
- if exception is {@link ExecutionException} and cause is {@link TransactionCommitFailedException} return cause
- *
- otherwise returns {@link TransactionCommitFailedException} with original exception as a cause.
- *
- *
+ * @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
+}