import com.google.common.base.MoreObjects.ToStringHelper;
import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.MoreExecutors;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;
import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.mdsal.common.api.MappingCheckedFuture;
-import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.broker.TransactionCommitFailedExceptionMapper;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort;
return future.cancel(false);
}
- @Override
- public CheckedFuture<Void, TransactionCommitFailedException> submit() {
- return MappingCheckedFuture.create(commit().transform(ignored -> null,
- MoreExecutors.directExecutor()), TransactionCommitFailedExceptionMapper.COMMIT_ERROR_MAPPER);
- }
-
@Override
@SuppressWarnings("checkstyle:IllegalCatch")
public FluentFuture<? extends CommitInfo> commit() {
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doThrow;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
import java.util.Collection;
import java.util.Collections;
+import java.util.concurrent.ExecutionException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction;
}
@Test
- public void readyRuntimeExceptionAndCancel() {
+ public void readyRuntimeExceptionAndCancel() throws InterruptedException {
RuntimeException thrown = new RuntimeException();
doThrow(thrown).when(domStoreWriteTransaction).ready();
AbstractDOMBrokerWriteTransactionTestImpl abstractDOMBrokerWriteTransactionTestImpl =
new AbstractDOMBrokerWriteTransactionTestImpl();
- CheckedFuture<Void, TransactionCommitFailedException> submitFuture =
- abstractDOMBrokerWriteTransactionTestImpl.submit();
+ FluentFuture<? extends CommitInfo> submitFuture = abstractDOMBrokerWriteTransactionTestImpl.commit();
try {
- submitFuture.checkedGet();
+ submitFuture.get();
Assert.fail("TransactionCommitFailedException expected");
- } catch (TransactionCommitFailedException e) {
- assertTrue(e.getCause() == thrown);
+ } catch (ExecutionException e) {
+ assertTrue(e.getCause() instanceof TransactionCommitFailedException);
+ assertTrue(e.getCause().getCause() == thrown);
abstractDOMBrokerWriteTransactionTestImpl.cancel();
}
}
@Test
- public void submitRuntimeExceptionAndCancel() {
+ public void submitRuntimeExceptionAndCancel() throws InterruptedException {
RuntimeException thrown = new RuntimeException();
doThrow(thrown).when(abstractDOMTransactionFactory).commit(any(), any());
AbstractDOMBrokerWriteTransactionTestImpl abstractDOMBrokerWriteTransactionTestImpl
= new AbstractDOMBrokerWriteTransactionTestImpl();
- CheckedFuture<Void, TransactionCommitFailedException> submitFuture =
- abstractDOMBrokerWriteTransactionTestImpl.submit();
+ FluentFuture<? extends CommitInfo> submitFuture = abstractDOMBrokerWriteTransactionTestImpl.commit();
try {
- submitFuture.checkedGet();
+ submitFuture.get();
Assert.fail("TransactionCommitFailedException expected");
- } catch (TransactionCommitFailedException e) {
- assertTrue(e.getCause() == thrown);
+ } catch (ExecutionException e) {
+ assertTrue(e.getCause() instanceof TransactionCommitFailedException);
+ assertTrue(e.getCause().getCause() == thrown);
abstractDOMBrokerWriteTransactionTestImpl.cancel();
}
}
import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableMap;
-import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.util.concurrent.FluentFuture;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
domDataReadWriteTransaction.delete(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.EMPTY);
- domDataReadWriteTransaction.submit();
+ domDataReadWriteTransaction.commit();
assertTrue(latch.await(10, TimeUnit.SECONDS));
domDataReadWriteTransaction.merge(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY,
mock(NormalizedNode.class));
- domDataReadWriteTransaction.submit();
+ domDataReadWriteTransaction.commit();
assertTrue(latch.await(10, TimeUnit.SECONDS));
LogicalDatastoreType.OPERATIONAL, domStore, LogicalDatastoreType.CONFIGURATION, domStore),
futureExecutor)) {
- CheckedFuture<Void, TransactionCommitFailedException> submit1 =
- dataBroker.newWriteOnlyTransaction().submit();
+ FluentFuture<? extends CommitInfo> submit1 = dataBroker.newWriteOnlyTransaction().commit();
assertNotNull(submit1);
submit1.get();
- CheckedFuture<Void, TransactionCommitFailedException> submit2 =
- dataBroker.newReadWriteTransaction().submit();
+ FluentFuture<? extends CommitInfo> submit2 = dataBroker.newReadWriteTransaction().commit();
assertNotNull(submit2);
import org.opendaylight.mdsal.common.api.ReadFailedException;
import org.opendaylight.mdsal.common.api.TransactionChainClosedException;
import org.opendaylight.mdsal.common.api.TransactionChainListener;
-import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class);
DOMTransactionChain txChain = broker.createTransactionChain(listener);
- final List<CheckedFuture<Void, TransactionCommitFailedException>> futures = new ArrayList<>();
+ final List<ListenableFuture<?>> futures = new ArrayList<>();
final DOMDataTreeWriteTransaction writeTx = txChain.newWriteOnlyTransaction();
writeTx.put(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, CarsModel.emptyContainer());
writeTx.put(LogicalDatastoreType.CONFIGURATION, CarsModel.CAR_LIST_PATH, CarsModel.newCarMapNode());
- futures.add(writeTx.submit());
+ futures.add(writeTx.commit());
int numCars = 100;
for (int i = 0; i < numCars; i++) {
rwTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.newCarPath("car" + i),
CarsModel.newCarEntry("car" + i, BigInteger.valueOf(20000)));
- futures.add(rwTx.submit());
+ futures.add(rwTx.commit());
}
- for (final CheckedFuture<Void, TransactionCommitFailedException> f : futures) {
- f.checkedGet();
+ for (final ListenableFuture<?> f : futures) {
+ f.get(5, TimeUnit.SECONDS);
}
final Optional<NormalizedNode<?, ?>> optional = txChain.newReadOnlyTransaction()
writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData);
try {
- writeTx.submit().checkedGet(5, TimeUnit.SECONDS);
+ writeTx.commit().get(5, TimeUnit.SECONDS);
fail("Expected TransactionCommitFailedException");
- } catch (final TransactionCommitFailedException e) {
+ } catch (final ExecutionException e) {
// Expected
}
// succeeds b/c deep validation is not
// done for put for performance reasons.
try {
- writeTx.submit().checkedGet(5, TimeUnit.SECONDS);
+ writeTx.commit().get(5, TimeUnit.SECONDS);
fail("Expected TransactionCommitFailedException");
- } catch (final TransactionCommitFailedException e) {
+ } catch (final ExecutionException e) {
// Expected
}
import org.opendaylight.controller.md.cluster.datastore.model.TestModel;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.common.api.TransactionChainListener;
-import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
import org.opendaylight.mdsal.dom.spi.store.DOMStore;
writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData);
try {
- writeTx.submit().checkedGet(5, TimeUnit.SECONDS);
+ writeTx.commit().get(5, TimeUnit.SECONDS);
fail("Expected TransactionCommitFailedException");
- } catch (final TransactionCommitFailedException e) {
+ } catch (final ExecutionException e) {
// Expected
}
writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData);
try {
- writeTx.submit().checkedGet(5, TimeUnit.SECONDS);
+ writeTx.commit().get(5, TimeUnit.SECONDS);
fail("Expected TransactionCommitFailedException");
- } catch (final TransactionCommitFailedException e) {
+ } catch (final ExecutionException e) {
// Expected
}