Fix checkstyle/spotbugs violations
[controller.git] / opendaylight / md-sal / sal-binding-it / src / test / java / org / opendaylight / controller / test / sal / binding / it / DataServiceIT.java
index 4e25b8175383c48408b95b6ce9452b1a04a5a4b9..53d88aee681162add8fe05b3de66d415d122b65a 100644 (file)
 package org.opendaylight.controller.test.sal.binding.it;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import java.util.concurrent.Future;
+import static org.junit.Assert.assertTrue;
 
+import com.google.common.base.Optional;
+import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.common.api.TransactionStatus;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext;
-import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer;
-import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
-import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction;
-import org.opendaylight.controller.sal.core.api.Broker;
+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.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.Lists;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.lists.UnorderedContainer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.lists.unordered.container.UnorderedList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.lists.unordered.container.UnorderedListBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.store.rev140422.lists.unordered.container.UnorderedListKey;
-import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcResult;
-
-import com.google.inject.Inject;
+import org.ops4j.pax.exam.util.Filter;
 
 /**
- * covers creating, reading and deleting of an item in dataStore
+ * Covers creating, reading and deleting of an item in dataStore.
  */
 public class DataServiceIT extends AbstractIT {
-
-    protected DataBrokerService consumerDataService;
-
     @Inject
-    Broker broker2;
+    @Filter(timeout = 120 * 1000)
+    DataBroker dataBroker;
 
     /**
-     *
-     * Ignored this, because classes here are constructed from
-     * very different class loader as MD-SAL is run into,
+     * Ignored this, because classes here are constructed from very different class loader as MD-SAL is run into,
      * this is code is run from different classloader.
-     *
-     * @throws Exception
      */
     @Test
     public void test() throws Exception {
-        BindingAwareConsumer consumer1 = new BindingAwareConsumer() {
-
-            @Override
-            public void onSessionInitialized(final ConsumerContext session) {
-                consumerDataService = session.getSALService(DataBrokerService.class);
-            }
-        };
-        broker.registerConsumer(consumer1);
-
-        assertNotNull(consumerDataService);
-
-
-        DataModificationTransaction transaction = consumerDataService.beginTransaction();
+        final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction();
         assertNotNull(transaction);
 
         InstanceIdentifier<UnorderedList> node1 = createNodeRef("0");
-        DataObject node = consumerDataService.readConfigurationData(node1);
-        assertNull(node);
+        Optional<UnorderedList> node = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL, node1)
+                .get(5, TimeUnit.SECONDS);
+        assertFalse(node.isPresent());
         UnorderedList nodeData1 = createNode("0");
 
-        transaction.putConfigurationData(node1, nodeData1);
-        Future<RpcResult<TransactionStatus>> commitResult = transaction.commit();
-        assertNotNull(commitResult);
-
-        RpcResult<TransactionStatus> result = commitResult.get();
-
-        assertNotNull(result);
-        assertNotNull(result.getResult());
-        assertEquals(TransactionStatus.COMMITED, result.getResult());
-
-        UnorderedList readedData = (UnorderedList) consumerDataService.readConfigurationData(node1);
-        assertNotNull(readedData);
-        assertEquals(nodeData1.getKey(), readedData.getKey());
+        transaction.put(LogicalDatastoreType.OPERATIONAL, node1, nodeData1);
+        transaction.submit().get(5, TimeUnit.SECONDS);
 
+        Optional<UnorderedList> readedData = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL,
+                node1).get(5, TimeUnit.SECONDS);
+        assertTrue(readedData.isPresent());
+        assertEquals(nodeData1.key(), readedData.get().key());
 
-        DataModificationTransaction transaction2 = consumerDataService.beginTransaction();
+        final WriteTransaction transaction2 = dataBroker.newWriteOnlyTransaction();
         assertNotNull(transaction2);
 
-        transaction2.removeConfigurationData(node1);
+        transaction2.delete(LogicalDatastoreType.OPERATIONAL, node1);
 
-        Future<RpcResult<TransactionStatus>> commitResult2 = transaction2.commit();
-        assertNotNull(commitResult2);
+        transaction2.submit().get(5, TimeUnit.SECONDS);
 
-        RpcResult<TransactionStatus> result2 = commitResult2.get();
-
-        assertNotNull(result2);
-        assertNotNull(result2.getResult());
-        assertEquals(TransactionStatus.COMMITED, result2.getResult());
-
-        DataObject readedData2 = consumerDataService.readConfigurationData(node1);
-        assertNull(readedData2);
+        Optional<UnorderedList> readedData2 = dataBroker.newReadOnlyTransaction().read(LogicalDatastoreType.OPERATIONAL,
+                node1).get(5, TimeUnit.SECONDS);
+        assertFalse(readedData2.isPresent());
     }
 
-
     private static InstanceIdentifier<UnorderedList> createNodeRef(final String string) {
         UnorderedListKey key = new UnorderedListKey(string);
-        return  InstanceIdentifier.builder(Lists.class).child(UnorderedContainer.class).child(UnorderedList.class, key).build();
+        return InstanceIdentifier.builder(Lists.class).child(UnorderedContainer.class).child(UnorderedList.class, key)
+                .build();
     }
 
     private static UnorderedList createNode(final String string) {
         UnorderedListBuilder ret = new UnorderedListBuilder();
         UnorderedListKey nodeKey = new UnorderedListKey(string);
-        ret.setKey(nodeKey);
+        ret.withKey(nodeKey);
         ret.setName("name of " + string);
         ret.setName("value of " + string);
         return ret.build();