Remove unneeded doc dependency
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / DataObjectStreamer.java
index 547cd5b2232ebacdd7a6dbc23ef84304d73cc584..96e346eab35a02601397d838aec46faacf8fcd0f 100644 (file)
@@ -14,9 +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;
@@ -57,9 +56,7 @@ public abstract class DataObjectStreamer<T extends DataObject> implements DataOb
 
     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);
         }
     }
@@ -99,7 +96,7 @@ public abstract class DataObjectStreamer<T extends DataObject> implements DataOb
     }
 
     protected static final void streamLeafList(final BindingStreamEventWriter writer, final String localName,
-            final List<?> value) throws IOException {
+            final Set<?> value) throws IOException {
         if (value != null) {
             writer.startLeafSet(localName, value.size());
             commonStreamLeafset(writer, value);
@@ -156,7 +153,7 @@ public abstract class DataObjectStreamer<T extends DataObject> implements DataOb
         writer.endNode();
     }
 
-    private static void commonStreamLeafset(final BindingStreamEventWriter writer, final List<?> value)
+    private static void commonStreamLeafset(final BindingStreamEventWriter writer, final Collection<?> value)
             throws IOException {
         for (Object entry : value) {
             writer.leafSetEntryNode(entry);
@@ -182,10 +179,11 @@ public abstract class DataObjectStreamer<T extends DataObject> implements DataOb
 
     @SuppressWarnings("unchecked")
     private static <T extends DataObject> boolean tryCache(final BindingStreamEventWriter writer, final T value) {
-        return writer instanceof BindingSerializer ? ((BindingSerializer<?, T>) writer).serialize(value) == null : true;
+        // Force serialization if writer is not a BindingSerializer, otherwise defer to it for a decision
+        return !(writer instanceof BindingSerializer) || ((BindingSerializer<?, T>) writer).serialize(value) == null;
     }
 
-    private static int nullSize(final List<?> list) {
+    private static int nullSize(final Collection<?> list) {
         return list == null ? 0 : list.size();
     }