X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=data%2Fyang-data-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Futil%2FAbstractStringInstanceIdentifierCodec.java;h=a89ae431a80f5e54267618e893039a8df3fc4cd4;hb=7c8fd1ae5a6942fb3600ab9d05185cd4293f5f51;hp=8ba7d0aef80b1f50a92ae5234a66eeedc6b4c924;hpb=f31f6f001ec2263715ebfd5f28d214b56e9a0344;p=yangtools.git 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 8ba7d0aef8..a89ae431a8 100644 --- 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(); } - private static StringBuilder appendValue(final StringBuilder sb, final QNameModule currentModule, + private StringBuilder appendValue(final StringBuilder sb, final QNameModule currentModule, 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: