X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fbroker%2Fimpl%2FDOMTransactionChainTest.java;h=5815faeaa3c75b8c70289e5447c79a12fd5528ac;hp=18b11c8300ab37a526a2018c1285a9a9817f7d3a;hb=cfd2e240178039a439001c4d3f1ca5f26097dcdd;hpb=6faa900c307b5d97fc7726d31b6dad0e67077db8 diff --git a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMTransactionChainTest.java b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMTransactionChainTest.java index 18b11c8300..5815faeaa3 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMTransactionChainTest.java +++ b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMTransactionChainTest.java @@ -13,11 +13,15 @@ import static org.junit.Assert.fail; import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION; import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; - import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; @@ -31,35 +35,27 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; - public class DOMTransactionChainTest { private SchemaContext schemaContext; - private DOMDataBrokerImpl domBroker; + private AbstractDOMDataBroker domBroker; @Before public void setupStore() { - InMemoryDOMDataStore operStore = new InMemoryDOMDataStore("OPER", - MoreExecutors.sameThreadExecutor(), MoreExecutors.sameThreadExecutor()); - InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("CFG", - MoreExecutors.sameThreadExecutor(), MoreExecutors.sameThreadExecutor()); + InMemoryDOMDataStore operStore = new InMemoryDOMDataStore("OPER", MoreExecutors.newDirectExecutorService()); + InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("CFG", MoreExecutors.newDirectExecutorService()); schemaContext = TestModel.createTestContext(); operStore.onGlobalContextUpdated(schemaContext); configStore.onGlobalContextUpdated(schemaContext); - ImmutableMap stores = ImmutableMap. builder() // + ImmutableMap stores = ImmutableMap.builder() // .put(CONFIGURATION, configStore) // .put(OPERATIONAL, operStore) // .build(); ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()); - domBroker = new DOMDataBrokerImpl(stores, executor); + domBroker = new SerializedDOMDataBroker(stores, executor); } @Test @@ -69,17 +65,15 @@ public class DOMTransactionChainTest { assertNotNull(txChain); /** - * We alocate new read-write transaction and write /test - * - * + * We alocate new read-write transaction and write /test. */ DOMDataReadWriteTransaction firstTx = allocateAndWrite(txChain); /** * First transaction is marked as ready, we are able to allocate chained - * transactions + * transactions. */ - ListenableFuture firstWriteTxFuture = firstTx.submit(); + ListenableFuture firstWriteTxFuture = firstTx.commit(); /** * We alocate chained transaction - read transaction. @@ -90,13 +84,10 @@ public class DOMTransactionChainTest { * * We test if we are able to read data from tx, read should not fail * since we are using chained transaction. - * - * */ assertTestContainerExists(secondReadTx); /** - * * We alocate next transaction, which is still based on first one, but * is read-write. * @@ -104,15 +95,13 @@ public class DOMTransactionChainTest { DOMDataReadWriteTransaction thirdDeleteTx = allocateAndDelete(txChain); /** - * We commit first transaction + * We commit first transaction. * */ assertCommitSuccessful(firstWriteTxFuture); /** - * * Allocates transaction from data store. - * */ DOMDataReadTransaction storeReadTx = domBroker.newReadOnlyTransaction(); @@ -123,9 +112,9 @@ public class DOMTransactionChainTest { assertTestContainerExists(storeReadTx); /** - * third transaction is sealed and commited + * third transaction is sealed and commited. */ - ListenableFuture thirdDeleteTxFuture = thirdDeleteTx.submit(); + ListenableFuture thirdDeleteTxFuture = thirdDeleteTx.commit(); assertCommitSuccessful(thirdDeleteTxFuture); /** @@ -137,15 +126,14 @@ public class DOMTransactionChainTest { } @Test - public void testTransactionChainNotSealed() throws InterruptedException, ExecutionException, TimeoutException { + @SuppressWarnings("checkstyle:IllegalCatch") + public void testTransactionChainNotSealed() throws InterruptedException, ExecutionException { BlockingTransactionChainListener listener = new BlockingTransactionChainListener(); DOMTransactionChain txChain = domBroker.createTransactionChain(listener); assertNotNull(txChain); /** * We alocate new read-write transaction and write /test - * - * */ allocateAndWrite(txChain); @@ -162,8 +150,8 @@ public class DOMTransactionChainTest { } } - private static DOMDataReadWriteTransaction allocateAndDelete(final DOMTransactionChain txChain) - throws InterruptedException, ExecutionException { + private static DOMDataReadWriteTransaction allocateAndDelete( + final DOMTransactionChain txChain) throws InterruptedException, ExecutionException { DOMDataReadWriteTransaction tx = txChain.newReadWriteTransaction(); /** @@ -187,20 +175,20 @@ public class DOMTransactionChainTest { return tx; } - private static void assertCommitSuccessful(final ListenableFuture future) + private static void assertCommitSuccessful(final ListenableFuture future) throws InterruptedException, ExecutionException { future.get(); } - private static void assertTestContainerExists(final DOMDataReadTransaction readTx) throws InterruptedException, - ExecutionException { + private static void assertTestContainerExists(final DOMDataReadTransaction readTx) + throws InterruptedException, ExecutionException { ListenableFuture>> readFuture = readTx.read(OPERATIONAL, TestModel.TEST_PATH); Optional> readedData = readFuture.get(); assertTrue(readedData.isPresent()); } - private static void assertTestContainerWrite(final DOMDataReadWriteTransaction tx) throws InterruptedException, - ExecutionException { + private static void assertTestContainerWrite(final DOMDataReadWriteTransaction tx) + throws InterruptedException, ExecutionException { tx.put(OPERATIONAL, TestModel.TEST_PATH, ImmutableNodes.containerNode(TestModel.TEST_QNAME)); assertTestContainerExists(tx); }