Code Review
/
yangtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix identity-ref value parsing/serialization
[yangtools.git]
/
data
/
yang-data-util
/
src
/
main
/
java
/
org
/
opendaylight
/
yangtools
/
yang
/
data
/
util
/
XpathStringParsingPathArgumentBuilder.java
diff --git
a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java
b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java
index 9b2697e40d429538380cd7aff5166ef9a1bc4b3f..8f2d928d4fe200501b24776a11921d627746b32e 100644
(file)
--- a/
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java
+++ b/
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java
@@
-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.");
// 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);
}
final DataSchemaContextNode<?> keyNode = currentNode.getChild(key);
checkValid(keyNode != null, "%s is not correct schema node identifier.", key);