From: Robert Varga Date: Tue, 20 Jun 2023 09:46:01 +0000 (+0200) Subject: Fix BindingToNormalizedStreamWriter.enter() X-Git-Tag: v12.0.0~51 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=cd8a14faeeb69cdab7350e37e5aeb625a0190024;p=mdsal.git Fix BindingToNormalizedStreamWriter.enter() We have a blind cast which does not handle augmentations' children. Fix the cast to work for augmentations as well. JIRA: MDSAL-820 Change-Id: Ib32a65e475d5d786bcc0d353f5fe044c147e4c07 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java index 4bee0d533b..598241165f 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingToNormalizedStreamWriter.java @@ -82,7 +82,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite private T enter(final String localName, final Class identifier) { final var current = current(); - final var next = ((DataObjectCodecContext) current).getLeafChild(localName); + final var next = ((AbstractDataObjectCodecContext) current).getLeafChild(localName); schema.push(next); return identifier.cast(next.getDomPathArgument()); } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java index 9677000d53..7621f6f401 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CachingNormalizedNodeSerializer.java @@ -75,7 +75,7 @@ final class CachingNormalizedNodeSerializer extends ForwardingBindingStreamEvent // They are immutable and hence we can safely wrap them in LeafNodes and reuse them, if directed to do so. final var type = typed.getClass(); if (cacheHolder.isCached(type)) { - final var context = ((DataObjectCodecContext) delegate.current()).getLeafChild(localName); + final var context = ((AbstractDataObjectCodecContext) delegate.current()).getLeafChild(localName); if (context instanceof LeafNodeCodecContext.OfTypeObject typeContext) { final var cache = cacheHolder.getCachingSerializer(typeContext); if (cache != null) {