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%2FDOMRpcServiceTestBugfix560.java;h=1e93c59434c64ac291774fa34bd6fce7b798e4ac;hp=7d616ca62cdaa02648927809a37468ca2a9702a3;hb=de2e70224211e9909de07f2bb408268e4056fd73;hpb=5448d6812e386bd56aec7209c4852c586a6163b3 diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java index 7d616ca62c..1e93c59434 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java @@ -10,46 +10,45 @@ package org.opendaylight.controller.sal.binding.test.connect.dom; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; - +import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.MoreExecutors; import java.io.InputStream; import java.util.Collections; import java.util.List; import java.util.Set; import java.util.concurrent.ExecutionException; 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.DOMMountPointService; +import org.opendaylight.controller.md.sal.dom.api.DOMRpcAvailabilityListener; +import org.opendaylight.controller.md.sal.dom.api.DOMRpcException; +import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; +import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; +import org.opendaylight.controller.md.sal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.controller.sal.binding.api.mount.MountProviderInstance; import org.opendaylight.controller.sal.binding.api.mount.MountProviderService; import org.opendaylight.controller.sal.binding.test.util.BindingBrokerTestFactory; import org.opendaylight.controller.sal.binding.test.util.BindingTestContext; -import org.opendaylight.controller.sal.core.api.RpcImplementation; -import org.opendaylight.controller.sal.core.api.mount.MountProvisionInstance; -import org.opendaylight.controller.sal.core.api.mount.MountProvisionService; -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.NodeKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.bi.ba.rpcservice.rev140701.OpendaylightTestRpcServiceService; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.bi.ba.rpcservice.rev140701.RockTheHouseInputBuilder; +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.TopLevelListKey; +import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.util.BindingReflections; 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.CompositeNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser; import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; -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; - /** * Test case for reported bug 560 * @@ -64,14 +63,14 @@ public class DOMRpcServiceTestBugfix560 { private final static QName RPC_NAME = QName.create(RPC_SERVICE_NAMESPACE, REVISION_DATE, "rock-the-house"); - private static final NodeId MOUNT_NODE = new NodeId("id"); - private static final QName NODE_ID_QNAME = QName.create(Node.QNAME, "id"); + private static final String TLL_NAME = "id"; + private static final QName TLL_NAME_QNAME = QName.create(TopLevelList.QNAME, "name"); - private static final InstanceIdentifier BA_MOUNT_ID = createBANodeIdentifier(MOUNT_NODE); - private static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_MOUNT_ID = createBINodeIdentifier(MOUNT_NODE); + private static final InstanceIdentifier BA_MOUNT_ID = createBATllIdentifier(TLL_NAME); + private static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier BI_MOUNT_ID = createBITllIdentifier(TLL_NAME); private BindingTestContext testContext; - private MountProvisionService domMountPointService; + private DOMMountPointService domMountPointService; private MountProviderService bindingMountPointService; private SchemaContext schemaContext; @@ -80,7 +79,7 @@ public class DOMRpcServiceTestBugfix560 { */ @Before public void setUp() throws Exception { - BindingBrokerTestFactory testFactory = new BindingBrokerTestFactory(); + final BindingBrokerTestFactory testFactory = new BindingBrokerTestFactory(); testFactory.setExecutor(MoreExecutors.sameThreadExecutor()); testFactory.setStartWithParsedSchema(true); testContext = testFactory.getTestContext(); @@ -96,60 +95,47 @@ public class DOMRpcServiceTestBugfix560 { .getModuleSourceStream(); assertNotNull(moduleStream); - List rpcModels = Collections.singletonList(moduleStream); - @SuppressWarnings("deprecation") - Set modules = parser.parseYangModelsFromStreams(rpcModels); - @SuppressWarnings("deprecation") - SchemaContext mountSchemaContext = parser.resolveSchemaContext(modules); + final List rpcModels = Collections.singletonList(moduleStream); + final Set modules = parser.parseYangModelsFromStreams(rpcModels); + final SchemaContext mountSchemaContext = parser.resolveSchemaContext(modules); schemaContext = mountSchemaContext; } - private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBINodeIdentifier( - final NodeId mountNode) { + private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBITllIdentifier( + final String mount) { return org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier - .builder().node(Nodes.QNAME) - .nodeWithKey(Node.QNAME, NODE_ID_QNAME, mountNode.getValue()) + .builder().node(Top.QNAME) + .node(TopLevelList.QNAME) + .nodeWithKey(TopLevelList.QNAME, TLL_NAME_QNAME, mount) .toInstance(); } - private static InstanceIdentifier createBANodeIdentifier( - final NodeId mountNode) { - return InstanceIdentifier.builder(Nodes.class) - .child(Node.class, new NodeKey(mountNode)).toInstance(); + private static InstanceIdentifier createBATllIdentifier( + final String mount) { + return InstanceIdentifier.builder(Top.class) + .child(TopLevelList.class, new TopLevelListKey(mount)).toInstance(); } - @SuppressWarnings("deprecation") @Test public void test() throws ExecutionException, InterruptedException { // FIXME: This is made to only make sure instance identifier codec // for path is instantiated. - testContext.getBindingDataBroker().readOperationalData(BA_MOUNT_ID); - final MountProvisionInstance mountPoint = domMountPointService - .createMountPoint(BI_MOUNT_ID); - mountPoint.setSchemaContext(schemaContext); - assertNotNull(mountPoint); - - mountPoint.addRpcImplementation(RPC_NAME, new RpcImplementation() { - - @Override - public ListenableFuture> invokeRpc( - final QName rpc, final CompositeNode input) { - - return Futures.immediateFuture(RpcResultBuilder - . success().build()); - } - - @Override - public Set getSupportedRpcs() { - return ImmutableSet.of(RPC_NAME); - } - }); - - final Set biSupportedRpcs = mountPoint.getSupportedRpcs(); - assertNotNull(biSupportedRpcs); - assertTrue(!biSupportedRpcs.isEmpty()); - - MountProviderInstance mountInstance = bindingMountPointService + domMountPointService + .createMountPoint(BI_MOUNT_ID).addService(DOMRpcService.class, new DOMRpcService() { + + @Override + public ListenerRegistration registerRpcListener(final T arg0) { + // TODO Auto-generated method stub + return null; + } + + @Override + public CheckedFuture invokeRpc(final SchemaPath arg0, final NormalizedNode arg1) { + final DOMRpcResult result = new DefaultDOMRpcResult((NormalizedNode) null); + return Futures.immediateCheckedFuture(result); + } + }).register(); + final MountProviderInstance mountInstance = bindingMountPointService .getMountPoint(BA_MOUNT_ID); assertNotNull(mountInstance); final OpendaylightTestRpcServiceService rpcService = mountInstance @@ -157,10 +143,10 @@ public class DOMRpcServiceTestBugfix560 { assertNotNull(rpcService); try { - Future> result = rpcService + final Future> result = rpcService .rockTheHouse(new RockTheHouseInputBuilder().build()); assertTrue(result.get().isSuccessful()); - } catch (IllegalStateException ex) { + } catch (final IllegalStateException ex) { fail("OpendaylightTestRpcServiceService class doesn't contain rockTheHouse method!"); } }