*/
package org.opendaylight.controller.cluster.datastore;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.List;
-import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import scala.concurrent.Future;
private final AbstractThreePhaseCommitCohort<?> delegate;
private final Throwable debugContext;
private final TransactionIdentifier transactionId;
+
+ @SuppressFBWarnings("SLF4J_LOGGER_SHOULD_BE_FINAL")
private Logger log = LOG;
- DebugThreePhaseCommitCohort(TransactionIdentifier transactionId, AbstractThreePhaseCommitCohort<?> delegate,
- Throwable debugContext) {
- this.delegate = Preconditions.checkNotNull(delegate);
- this.debugContext = Preconditions.checkNotNull(debugContext);
- this.transactionId = Preconditions.checkNotNull(transactionId);
+ DebugThreePhaseCommitCohort(final TransactionIdentifier transactionId,
+ final AbstractThreePhaseCommitCohort<?> delegate, final Throwable debugContext) {
+ this.delegate = requireNonNull(delegate);
+ this.debugContext = requireNonNull(debugContext);
+ this.transactionId = requireNonNull(transactionId);
}
- private <V> ListenableFuture<V> addFutureCallback(ListenableFuture<V> future) {
+ private <V> ListenableFuture<V> addFutureCallback(final ListenableFuture<V> future) {
Futures.addCallback(future, new FutureCallback<V>() {
@Override
- public void onSuccess(V result) {
+ public void onSuccess(final V result) {
// no-op
}
@Override
- public void onFailure(Throwable t) {
+ public void onFailure(final Throwable failure) {
log.warn("Transaction {} failed with error \"{}\" - was allocated in the following context",
- transactionId, t, debugContext);
+ transactionId, failure, debugContext);
}
- });
+ }, MoreExecutors.directExecutor());
return future;
}
}
@VisibleForTesting
- void setLogger(Logger log) {
- this.log = log;
+ void setLogger(final Logger logger) {
+ this.log = logger;
}
}