From: Robert Varga Date: Fri, 23 Aug 2019 15:55:06 +0000 (+0200) Subject: Improve action lookup X-Git-Tag: release/neon-sr3~12 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=d4ce4bf8ebb5d8c3a202b6d6e0387efbab73888a;hp=01e6f6d0f907f710db3a1606ee0632cf8eb28476;p=netconf.git Improve action lookup The code here is extremely twisty, but at the end of the day it ends up creating the path to an action's input -- which we can readily get from schema. Simplify the logic, speeding it up significantly. Change-Id: Ic29689bd03b99b5a2095efa4e3fb3866afc08526 Signed-off-by: Robert Varga (cherry picked from commit c566755c9040b150261b989800331b12d52137da) --- diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java index 2523f2e409..1eae8a0dfe 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformer.java @@ -215,23 +215,21 @@ public class NetconfMessageTransformer implements MessageTransformer payload) { ActionDefinition actionDefinition = null; - SchemaPath schemaPath = action; for (ActionDefinition actionDef : actions) { if (actionDef.getPath().getLastComponent().equals(action.getLastComponent())) { actionDefinition = actionDef; - schemaPath = actionDef.getPath(); } } Preconditions.checkNotNull(actionDefinition, "Action does not exist: %s", action.getLastComponent()); - if (actionDefinition.getInput().getChildNodes().isEmpty()) { + final ContainerSchemaNode inputDef = actionDefinition.getInput(); + if (inputDef.getChildNodes().isEmpty()) { return new NetconfMessage(NetconfMessageTransformUtil.prepareDomResultForActionRequest( DataSchemaContextTree.from(schemaContext), domDataTreeIdentifier, action, counter, - actionDefinition.getQName().getLocalName()) - .getNode().getOwnerDocument()); + actionDefinition.getQName().getLocalName()).getNode().getOwnerDocument()); } Preconditions.checkNotNull(payload, "Transforming an action with input: %s, payload cannot be null", @@ -239,15 +237,15 @@ public class NetconfMessageTransformer implements MessageTransformer