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%2Fsal%2Fbinding%2Ftest%2Fconnect%2Fdom%2FCrossBrokerRpcTest.java;h=4cc3780c6f0ebff8b25c0043c845034d3a15aba1;hp=b1547b66a763d690aee4aee76226bf9659d7ac53;hb=c46e223995956f1f759c551163c212947c1e2fb7;hpb=27082d0ed2fb1f7ab8e52195f5cda5046da4149f diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerRpcTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerRpcTest.java index b1547b66a7..4cc3780c6f 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerRpcTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerRpcTest.java @@ -23,7 +23,6 @@ import org.junit.Test; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.controller.sal.binding.test.util.BindingBrokerTestFactory; import org.opendaylight.controller.sal.binding.test.util.BindingTestContext; -import org.opendaylight.controller.sal.common.util.Rpcs; import org.opendaylight.controller.sal.core.api.RpcImplementation; import org.opendaylight.controller.sal.core.api.RpcProvisionRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput; @@ -42,14 +41,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.N import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.data.impl.CompositeNodeTOImpl; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; public class CrossBrokerRpcTest { @@ -64,7 +63,7 @@ public class CrossBrokerRpcTest { public static final NodeId NODE_B = new NodeId("b"); public static final NodeId NODE_C = new NodeId("c"); public static final NodeId NODE_D = new NodeId("d"); - + private static final QName NODE_ID_QNAME = QName.create(Node.QNAME, "id"); private static final QName ADD_FLOW_QNAME = QName.create(NodeFlowRemoved.QNAME, "add-flow"); @@ -73,12 +72,12 @@ public class CrossBrokerRpcTest { public static final InstanceIdentifier BA_NODE_C_ID = createBANodeIdentifier(NODE_C); public static final InstanceIdentifier BA_NODE_D_ID = createBANodeIdentifier(NODE_D); - public static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier BI_NODE_A_ID = createBINodeIdentifier(NODE_A); - public static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier BI_NODE_B_ID = createBINodeIdentifier(NODE_B); - public static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier BI_NODE_C_ID = createBINodeIdentifier(NODE_C); - public static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier BI_NODE_D_ID = createBINodeIdentifier(NODE_D); + public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_NODE_A_ID = createBINodeIdentifier(NODE_A); + public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_NODE_B_ID = createBINodeIdentifier(NODE_B); + 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_D_ID = createBINodeIdentifier(NODE_D); + - @Before public void setup() { @@ -99,7 +98,7 @@ public class CrossBrokerRpcTest { } @Test - public void bindingRoutedRpcProvider_DomInvokerTest() { + public void bindingRoutedRpcProvider_DomInvokerTest() throws Exception { flowService// .registerPath(NodeContext.class, BA_NODE_A_ID) // @@ -114,7 +113,7 @@ public class CrossBrokerRpcTest { CompositeNode addFlowDom = toDomRpc(ADD_FLOW_QNAME, addFlowA); assertNotNull(addFlowDom); - RpcResult domResult = biRpcInvoker.invokeRpc(ADD_FLOW_QNAME, addFlowDom); + RpcResult domResult = biRpcInvoker.invokeRpc(ADD_FLOW_QNAME, addFlowDom).get(); assertNotNull(domResult); assertTrue("DOM result is successful.", domResult.isSuccessful()); assertTrue("Bidning Add Flow RPC was captured.", flowService.getReceivedAddFlows().containsKey(BA_NODE_A_ID)); @@ -128,18 +127,18 @@ public class CrossBrokerRpcTest { final AddFlowOutput output = builder.build(); org.opendaylight.controller.sal.core.api.Broker.RoutedRpcRegistration registration = biRpcRegistry.addRoutedRpcImplementation(ADD_FLOW_QNAME, new RpcImplementation() { @Override - public RpcResult invokeRpc(QName rpc, CompositeNode input) { - CompositeNode result = testContext.getBindingToDomMappingService().toDataDom(output); - return Rpcs.getRpcResult(true, result, ImmutableList.of()); + public Set getSupportedRpcs() { + return ImmutableSet.of(ADD_FLOW_QNAME); } @Override - public Set getSupportedRpcs() { - return ImmutableSet.of(ADD_FLOW_QNAME); + public ListenableFuture> invokeRpc(QName rpc, CompositeNode input) { + CompositeNode result = testContext.getBindingToDomMappingService().toDataDom(output); + return Futures.immediateFuture(RpcResultBuilder.success(result).build()); } }); registration.registerPath(NodeContext.QNAME, BI_NODE_C_ID); - + SalFlowService baFlowInvoker = baRpcRegistry.getRpcService(SalFlowService.class); Future> baResult = baFlowInvoker.addFlow(addFlow(BA_NODE_C_ID).setPriority(500).build()); assertNotNull(baResult); @@ -159,15 +158,15 @@ public class CrossBrokerRpcTest { return InstanceIdentifier.builder(Nodes.class).child(Node.class, new NodeKey(node)).toInstance(); } - private static org.opendaylight.yangtools.yang.data.api.InstanceIdentifier createBINodeIdentifier(NodeId node) { - return org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder().node(Nodes.QNAME) + private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBINodeIdentifier(NodeId node) { + return org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.builder().node(Nodes.QNAME) .nodeWithKey(Node.QNAME, NODE_ID_QNAME, node.getValue()).toInstance(); } private Future> addFlowResult(boolean success, long xid) { AddFlowOutput output = new AddFlowOutputBuilder() // .setTransactionId(new TransactionId(BigInteger.valueOf(xid))).build(); - RpcResult result = Rpcs.getRpcResult(success, output, ImmutableList. of()); + RpcResult result = RpcResultBuilder.status(success).withResult(output).build(); return Futures.immediateFuture(result); }