From: Ivan Hrasko Date: Thu, 22 Apr 2021 16:29:02 +0000 (+0200) Subject: Transform QName value in identity leaf X-Git-Tag: v6.0.6~2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=3b7cf1344bab214a7c3298faf1a1f3ac41aaf62f Transform QName value in identity leaf Leafs with identityref point to the identity's QName. Since we are remapping namespaces, these need to be included as well. JIRA: YANGTOOLS-1277 Change-Id: I2885dd59bcdd85cfe4f29edceaf68cb27ed7dca7 Signed-off-by: Ivan Hrasko Signed-off-by: Robert Varga (cherry picked from commit 7042ef1344f1c38b730132e5bcb12592fcd9e9b0) --- diff --git a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java index 1ff8994794..8a7fa6af54 100644 --- a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java +++ b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java @@ -153,6 +153,12 @@ public abstract class QNameTransformingStreamWriter extends ForwardingNormalized super.startYangModeledAnyXmlNode(transform(name), childSizeHint); } + @Override + public void scalarValue(final Object value) throws IOException { + // identityref leaf nodes contain identity QName as a value - it needs to be transformed + super.scalarValue(value instanceof QName ? transform((QName) value) : value); + } + /** * Transforms a QName to new mapping. *