Augmentable interface exposes augmentations directly, hence we
can use it directly, without relying on reflection.
Change-Id: I21b86d581ff0a61db3975cf7655157e4e6678b1b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import java.util.Collection;
import java.util.List;
import java.util.Map;
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 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;
import org.opendaylight.yangtools.yang.binding.Augmentable;
import org.opendaylight.yangtools.yang.binding.Augmentation;
import org.opendaylight.yangtools.yang.binding.DataContainer;
protected static final void streamAugmentations(final DataObjectSerializerRegistry registry,
final BindingStreamEventWriter writer, final Augmentable<?> obj) throws IOException {
protected static final void streamAugmentations(final DataObjectSerializerRegistry registry,
final BindingStreamEventWriter writer, final Augmentable<?> obj) throws IOException {
- final Map<Class<? extends Augmentation<?>>, Augmentation<?>> augmentations =
- BindingReflections.getAugmentations(obj);
- for (final Entry<Class<? extends Augmentation<?>>, Augmentation<?>> aug : augmentations.entrySet()) {
+ for (final var aug : obj.augmentations().entrySet()) {
emitAugmentation(aug.getKey(), aug.getValue(), writer, registry);
}
}
emitAugmentation(aug.getKey(), aug.getValue(), writer, registry);
}
}
- /**
- * 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<Class<? extends Augmentation<?>>, Augmentation<?>> getAugmentations(final Augmentable<?> input) {
- return (Map) input.augmentations();
- }
-
/**
* Determines if two augmentation classes or case classes represents same
* data.
/**
* Determines if two augmentation classes or case classes represents same
* data.