X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-dom-it%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Fdata%2FConcurrentImplicitCreateTest.java;h=6959912d36b4e4a46d453d661c21750bcb96d7ce;hp=aefc53b124335b5801910faaed56adca6be32d46;hb=f9814cf027886294b74fb6c8748f4a3e0a545e86;hpb=323b96d1675c259f56ab2cbdd4711e40c8a56e3f diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java index aefc53b124..6959912d36 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/md/sal/binding/data/ConcurrentImplicitCreateTest.java @@ -7,57 +7,42 @@ */ package org.opendaylight.controller.md.sal.binding.data; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - import java.util.concurrent.ExecutionException; -import java.util.concurrent.Future; - +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.junit.Test; -import org.opendaylight.controller.md.sal.common.api.TransactionStatus; -import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.sal.binding.test.AbstractDataServiceTest; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.Top; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.common.RpcResult; -/* - * FIXME: THis test should be moved to sal-binding-broker and rewriten - * to use new DataBroker API +/** + * FIXME: THis test should be moved to sal-binding-broker and rewritten to use new DataBroker API */ -@SuppressWarnings("deprecation") public class ConcurrentImplicitCreateTest extends AbstractDataServiceTest { - private static final NodeKey NODE_FOO_KEY = new NodeKey(new NodeId("foo")); - private static final NodeKey NODE_BAR_KEY = new NodeKey(new NodeId("foo")); - private static InstanceIdentifier NODES_PATH = InstanceIdentifier.builder(Nodes.class).build(); - private static InstanceIdentifier NODE_FOO_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY); - private static InstanceIdentifier NODE_BAR_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY); + private static final TopLevelListKey FOO_KEY = new TopLevelListKey("foo"); + private static final TopLevelListKey BAR_KEY = new TopLevelListKey("bar"); + private static final InstanceIdentifier TOP_PATH = InstanceIdentifier.builder(Top.class).build(); + private static final InstanceIdentifier FOO_PATH = TOP_PATH.child(TopLevelList.class, FOO_KEY); + private static final InstanceIdentifier BAR_PATH = TOP_PATH.child(TopLevelList.class, BAR_KEY); @Test - public void testConcurrentCreate() throws InterruptedException, ExecutionException { - - DataModificationTransaction fooTx = baDataService.beginTransaction(); - DataModificationTransaction barTx = baDataService.beginTransaction(); - - fooTx.putOperationalData(NODE_FOO_PATH, new NodeBuilder().setKey(NODE_FOO_KEY).build()); - barTx.putOperationalData(NODE_BAR_PATH, new NodeBuilder().setKey(NODE_BAR_KEY).build()); - - Future> fooFuture = fooTx.commit(); - Future> barFuture = barTx.commit(); - - RpcResult fooResult = fooFuture.get(); - RpcResult barResult = barFuture.get(); + public void testConcurrentCreate() throws InterruptedException, ExecutionException, TimeoutException { - assertTrue(fooResult.isSuccessful()); - assertTrue(barResult.isSuccessful()); + DataBroker dataBroker = testContext.getDataBroker(); + WriteTransaction fooTx = dataBroker.newWriteOnlyTransaction(); + WriteTransaction barTx = dataBroker.newWriteOnlyTransaction(); - assertEquals(TransactionStatus.COMMITED, fooResult.getResult()); - assertEquals(TransactionStatus.COMMITED, barResult.getResult()); + fooTx.put(LogicalDatastoreType.OPERATIONAL, FOO_PATH, new TopLevelListBuilder().withKey(FOO_KEY).build()); + barTx.put(LogicalDatastoreType.OPERATIONAL, BAR_PATH, new TopLevelListBuilder().withKey(BAR_KEY).build()); + fooTx.submit().get(5, TimeUnit.SECONDS); + barTx.submit().get(5, TimeUnit.SECONDS); } }