Use DataSchemaNode's QName 80/106080/3
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 20 May 2023 18:38:43 +0000 (20:38 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 20 May 2023 21:53:23 +0000 (23:53 +0200)
Now that we always have a DataSchemaNode in DataSchemaContextNode, we
can ditch indirection through PathArgument.getType().

Change-Id: Ibdccd7168ecdf4190a39c5ce14554beeafdd0d61
JIRA: YANGTOOLS-568
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java

index a4ac597e3c3c2aeabbdf8bfef9d8c6ead69aff3d..2a762c2cf373eb6964cdfcb348c1b0df9b99f78c 100644 (file)
@@ -160,8 +160,10 @@ final class XpathStringParsingPathArgumentBuilder implements Mutable {
             // Break-out from method for leaf-list case
             if (key == null && currentNode.isLeaf()) {
                 checkValid(offset == data.length(), "Leaf argument must be last argument of instance identifier.");
-                final Object value = codec.deserializeKeyValue(currentNode.getDataSchemaNode(),
-                    type -> resolveLeafref(currentNode.getIdentifier().getNodeType(), type), keyValue);
+                final var currentSchema = currentNode.getDataSchemaNode();
+
+                final Object value = codec.deserializeKeyValue(currentSchema,
+                    type -> resolveLeafref(currentSchema.getQName(), type), keyValue);
                 return new NodeWithValue<>(name, value);
             }
             final DataSchemaContextNode<?> keyNode = currentNode.getChild(key);