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 <robert.varga@pantheon.tech>
private <T extends YangInstanceIdentifier.PathArgument> T enter(final String localName, final Class<T> 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());
}
// 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) {