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
/
AbstractStringInstanceIdentifierCodec.java
diff --git
a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
index 8ba7d0aef80b1f50a92ae5234a66eeedc6b4c924..a89ae431a80f5e54267618e893039a8df3fc4cd4 100644
(file)
--- a/
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
+++ b/
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
@@
-79,8
+79,13
@@
public abstract class AbstractStringInstanceIdentifierCodec extends AbstractName
return sb.toString();
}
return sb.toString();
}
- private
static
StringBuilder appendValue(final StringBuilder sb, final QNameModule currentModule,
+ private StringBuilder appendValue(final StringBuilder sb, final QNameModule currentModule,
final Object value) {
final Object value) {
+ if (value instanceof QName qname) {
+ // QName implies identity-ref, which can never be escaped
+ return appendQName(sb.append('\''), qname, currentModule).append('\'');
+ }
+
final var str = String.valueOf(value);
// We have two specifications here: Section 6.1.3 of both RFC6020 and RFC7950:
final var str = String.valueOf(value);
// We have two specifications here: Section 6.1.3 of both RFC6020 and RFC7950: