From 729c77feb530927d147dd2119a7f6b07d2a5e833 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 12 Jun 2023 18:08:41 +0200 Subject: [PATCH] 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 --- .../xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java | 4 ++-- .../yang/data/util/NormalizedNodeStreamWriterStack.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) 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 -- 2.36.6