Adjust for Binding RPC codegen changes
[controller.git] / opendaylight / md-sal / sal-binding-dom-it / src / test / java / org / opendaylight / controller / sal / binding / test / connect / dom / CrossBrokerRpcTest.java
index 63b04840334e5e1eb63d159d484faffcab99fbd7..dbb839e3ffa3a1b3ad20e8675eea52fd488a7fce 100644 (file)
@@ -12,16 +12,14 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
-import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.util.concurrent.Future;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcException;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcIdentifier;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementation;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult;
 import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
@@ -44,7 +42,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
 public class CrossBrokerRpcTest {
@@ -68,13 +65,14 @@ public class CrossBrokerRpcTest {
     public static final InstanceIdentifier<TopLevelList> BA_NODE_B_ID = NODES_PATH.child(TopLevelList.class, NODE_B);
     public static final InstanceIdentifier<TopLevelList> BA_NODE_C_ID = NODES_PATH.child(TopLevelList.class, NODE_C);
 
-    public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_NODE_C_ID = createBINodeIdentifier(NODE_C);
+    public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_NODE_C_ID =
+            createBINodeIdentifier(NODE_C);
 
 
     @Before
     public void setup() {
         BindingBrokerTestFactory testFactory = new BindingBrokerTestFactory();
-        testFactory.setExecutor(MoreExecutors.sameThreadExecutor());
+        testFactory.setExecutor(MoreExecutors.newDirectExecutorService());
         testFactory.setStartWithParsedSchema(true);
         testContext = testFactory.getTestContext();
 
@@ -119,23 +117,20 @@ public class CrossBrokerRpcTest {
         builder.setAnswer("open");
         final KnockKnockOutput output = builder.build();
 
-        provisionRegistry.registerRpcImplementation(new DOMRpcImplementation() {
-
-            @Override
-            public CheckedFuture<DOMRpcResult, DOMRpcException> invokeRpc(DOMRpcIdentifier rpc, NormalizedNode<?, ?> input) {
-                ContainerNode result = testContext.getCodec().getCodecFactory().toNormalizedNodeRpcData(output);
-                return Futures.<DOMRpcResult, DOMRpcException>immediateCheckedFuture(new DefaultDOMRpcResult(result));
-            }
+        provisionRegistry.registerRpcImplementation((rpc, input) -> {
+            ContainerNode result = testContext.getCodec().getCodecFactory().toNormalizedNodeRpcData(output);
+            return Futures.immediateCheckedFuture(new DefaultDOMRpcResult(result));
         }, DOMRpcIdentifier.create(KNOCK_KNOCK_PATH, BI_NODE_C_ID));
 
         OpendaylightOfMigrationTestModelService baKnockInvoker =
                 providerRegistry.getRpcService(OpendaylightOfMigrationTestModelService.class);
-        Future<RpcResult<KnockKnockOutput>> baResult = baKnockInvoker.knockKnock((knockKnock(BA_NODE_C_ID).setQuestion("Who's there?").build()));
+        Future<RpcResult<KnockKnockOutput>> baResult = baKnockInvoker.knockKnock(knockKnock(BA_NODE_C_ID)
+            .setQuestion("Who's there?").build());
         assertNotNull(baResult);
         assertEquals(output, baResult.get().getResult());
     }
 
-    private ContainerNode toDomRpcInput(DataObject addFlowA) {
+    private ContainerNode toDomRpcInput(final DataObject addFlowA) {
         return testContext.getCodec().getCodecFactory().toNormalizedNodeRpcData(addFlowA);
     }
 
@@ -144,26 +139,28 @@ public class CrossBrokerRpcTest {
         testContext.close();
     }
 
-    private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBINodeIdentifier(TopLevelListKey listKey) {
+    private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBINodeIdentifier(
+            final TopLevelListKey listKey) {
         return org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.builder().node(Top.QNAME)
                 .node(TopLevelList.QNAME)
                 .nodeWithKey(TopLevelList.QNAME, NODE_ID_QNAME, listKey.getName()).build();
     }
 
-    private Future<RpcResult<KnockKnockOutput>> knockResult(boolean success, String answer) {
-        KnockKnockOutput output = new KnockKnockOutputBuilder() //
-                .setAnswer(answer).build();
-        RpcResult<KnockKnockOutput> result = RpcResultBuilder.<KnockKnockOutput>status(success).withResult(output).build();
+    private static ListenableFuture<RpcResult<KnockKnockOutput>> knockResult(final boolean success,
+            final String answer) {
+        KnockKnockOutput output = new KnockKnockOutputBuilder().setAnswer(answer).build();
+        RpcResult<KnockKnockOutput> result = RpcResultBuilder.<KnockKnockOutput>status(success).withResult(output)
+                .build();
         return Futures.immediateFuture(result);
     }
 
-    private static KnockKnockInputBuilder knockKnock(InstanceIdentifier<TopLevelList> listId) {
+    private static KnockKnockInputBuilder knockKnock(final InstanceIdentifier<TopLevelList> listId) {
         KnockKnockInputBuilder builder = new KnockKnockInputBuilder();
         builder.setKnockerId(listId);
         return builder;
     }
 
-    private ContainerNode toDomRpc(QName rpcName, KnockKnockInput knockInput) {
+    private ContainerNode toDomRpc(final QName rpcName, final KnockKnockInput knockInput) {
         return toDomRpcInput(knockInput);
     }
 }