Fix identity-ref value parsing/serialization
[yangtools.git] / data / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / XpathStringParsingPathArgumentBuilder.java
index 9b2697e40d429538380cd7aff5166ef9a1bc4b3f..8f2d928d4fe200501b24776a11921d627746b32e 100644 (file)
@@ -160,7 +160,9 @@ 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.");
-                return new NodeWithValue<>(name, keyValue);
+                final Object value = codec.deserializeKeyValue(currentNode.getDataSchemaNode(),
+                    type -> resolveLeafref(currentNode.getIdentifier().getNodeType(), type), keyValue);
+                return new NodeWithValue<>(name, value);
             }
             final DataSchemaContextNode<?> keyNode = currentNode.getChild(key);
             checkValid(keyNode != null, "%s is not correct schema node identifier.", key);