From 60039d4d027e172f6e1d644fb1c2fa60688c06c0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 7 Mar 2022 18:38:37 +0100 Subject: [PATCH 1/1] Do not use BindingReflections to acquire augmentations Augmentable interface exposes augmentations directly, hence we can use it directly, without relying on reflection. Change-Id: I21b86d581ff0a61db3975cf7655157e4e6678b1b Signed-off-by: Robert Varga --- .../binding/dom/codec/impl/DataObjectStreamer.java | 6 +----- .../binding/spec/reflect/BindingReflections.java | 13 ------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectStreamer.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectStreamer.java index 1a07934287..96e346eab3 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectStreamer.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectStreamer.java @@ -14,10 +14,8 @@ import java.io.IOException; import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Set; import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter; -import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.Augmentable; import org.opendaylight.yangtools.yang.binding.Augmentation; import org.opendaylight.yangtools.yang.binding.DataContainer; @@ -58,9 +56,7 @@ public abstract class DataObjectStreamer implements DataOb protected static final void streamAugmentations(final DataObjectSerializerRegistry registry, final BindingStreamEventWriter writer, final Augmentable obj) throws IOException { - final Map>, Augmentation> augmentations = - BindingReflections.getAugmentations(obj); - for (final Entry>, Augmentation> aug : augmentations.entrySet()) { + for (final var aug : obj.augmentations().entrySet()) { emitAugmentation(aug.getKey(), aug.getValue(), writer, registry); } } diff --git a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java index 6695cb780b..ef55504e52 100644 --- a/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java +++ b/binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/reflect/BindingReflections.java @@ -599,19 +599,6 @@ public final class BindingReflections { } } - /** - * Extracts augmentation from Binding DTO field using reflection. - * - * @param input Instance of DataObject which is augmentable and may contain augmentation - * @return Map of augmentations if read was successful, otherwise empty map. - * @deprecated Use {@link Augmentable#augmentations()} instead. - */ - @SuppressWarnings("unchecked") - @Deprecated(forRemoval = true) - public static Map>, Augmentation> getAugmentations(final Augmentable input) { - return (Map) input.augmentations(); - } - /** * Determines if two augmentation classes or case classes represents same * data. -- 2.36.6