From 5a867fd24120d4d08ec50cd0d38ff265c99fc203 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Wed, 13 Jun 2018 21:12:16 +0200 Subject: [PATCH] Make RuntimeRpc revision aware Do not use SchemaContext.findModule(URI), which looks for a module instance with specified namespace and no revision. Such lookup fails for modules with revision defined. Instead (as already done in AbstractEdit) use SchemaContext.findModules and take the newest module if more than one module with the same namespace is found. Change-Id: I7b6bdcb9156669645e19a6395e1b74995328154d Signed-off-by: Marek Gradzki (cherry picked from commit 69c92b2bee54681ebb5c0bfaf89d269877e0b747) --- .../opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java | 2 +- .../netconf/mdsal/connector/ops/RuntimeRpcTest.java | 3 ++- .../src/test/resources/yang/mdsal-netconf-rpc-test.yang | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java index a2f8c1b6ef..55c1533d57 100644 --- a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java +++ b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpc.java @@ -105,7 +105,7 @@ public class RuntimeRpc extends AbstractSingletonNetconfOperation { //this returns module with the newest revision if more then 1 module with same namespace is found private Optional getModule(final URI namespaceURI) { - return Optional.fromJavaUtil(schemaContext.getCurrentContext().findModule(namespaceURI)); + return Optional.fromJavaUtil(schemaContext.getCurrentContext().findModules(namespaceURI).stream().findFirst()); } private static Optional getRpcDefinitionFromModule(final Module module, final URI namespaceURI, diff --git a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpcTest.java b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpcTest.java index 28508dbad5..cc93299630 100644 --- a/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpcTest.java +++ b/netconf/mdsal-netconf-connector/src/test/java/org/opendaylight/netconf/mdsal/connector/ops/RuntimeRpcTest.java @@ -126,7 +126,8 @@ public class RuntimeRpcTest { @Nonnull final SchemaPath type, @Nullable final NormalizedNode input) { final Collection> children = (Collection>) input.getValue(); - final Module module = schemaContext.findModule(type.getLastComponent().getNamespace()).orElse(null); + final Module module = schemaContext.findModules(type.getLastComponent().getNamespace()).stream() + .findFirst().orElse(null); final RpcDefinition rpcDefinition = getRpcDefinitionFromModule( module, module.getNamespace(), type.getLastComponent().getLocalName()); final ContainerSchemaNode outputSchemaNode = rpcDefinition.getOutput(); diff --git a/netconf/mdsal-netconf-connector/src/test/resources/yang/mdsal-netconf-rpc-test.yang b/netconf/mdsal-netconf-connector/src/test/resources/yang/mdsal-netconf-rpc-test.yang index 6a59cdcf6e..b09b7d62c6 100644 --- a/netconf/mdsal-netconf-connector/src/test/resources/yang/mdsal-netconf-rpc-test.yang +++ b/netconf/mdsal-netconf-connector/src/test/resources/yang/mdsal-netconf-rpc-test.yang @@ -3,6 +3,8 @@ module rpc-test { namespace "urn:opendaylight:mdsal:mapping:rpc:test"; prefix "rpc"; + revision "2015-04-08"; + rpc void-input-output-rpc { } -- 2.36.6