From: Robert Varga Date: Mon, 12 Jun 2023 16:08:41 +0000 (+0200) Subject: Check Notification name match X-Git-Tag: v11.0.0~16 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=729c77feb530927d147dd2119a7f6b07d2a5e833;p=yangtools.git Check Notification name match When we are faking the root Notification node, we should also be making sure we actually match on QName. Change-Id: Ifbe289b7326dae6a522659d7c6378785dd2ae0ec Signed-off-by: Robert Varga --- diff --git a/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java b/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java index 594e7fb068..6168b96abb 100644 --- a/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java +++ b/codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java @@ -120,8 +120,8 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter @Override public void startContainerNode(final NodeIdentifier name, final int childSizeHint) throws IOException { - final var schema = tracker.startContainerNode(name); - startElement(schema.getQName()); + tracker.startContainerNode(name); + startElement(name.getNodeType()); } @Override diff --git a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java index 58e078a5e8..72547fe428 100644 --- a/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java +++ b/data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/NormalizedNodeStreamWriterStack.java @@ -254,7 +254,8 @@ public final class NormalizedNodeStreamWriterStack implements LeafrefResolver { LOG.debug("Enter container {}", name); final ContainerLike schema; - if (schemaStack.isEmpty() && root instanceof NotificationDefinition notification) { + if (schemaStack.isEmpty() && root instanceof NotificationDefinition notification + && name.getNodeType().equals(notification.getQName())) { // Special case for stacks initialized at notification. We pretend the first container is contained within // itself. // FIXME: 8.0.0: factor this special case out to something more reasonable, like being initialized at the