Remove BindingDataObjectCodecTreeNode.writeAsNormalizedNode()
[yangtools.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / DataContainerCodecContext.java
index eade7cdcdce201f135140c5880faa839409702b5..cf851327d7347102750c6916179a22e5d5e3ef62 100644 (file)
@@ -97,7 +97,7 @@ abstract class DataContainerCodecContext<D extends DataObject, T extends Runtime
     }
 
     @Override
-    protected YangInstanceIdentifier.PathArgument getDomPathArgument() {
+    protected final YangInstanceIdentifier.PathArgument getDomPathArgument() {
         return prototype.getYangArg();
     }
 
@@ -122,13 +122,25 @@ abstract class DataContainerCodecContext<D extends DataObject, T extends Runtime
     @Override
     public DataContainerCodecContext<?, ?> bindingPathArgumentChild(final PathArgument arg,
             final List<YangInstanceIdentifier.PathArgument> builder) {
-        final DataContainerCodecContext<?,?> child = streamChild(arg.getType());
+        final DataContainerCodecContext<?, ?> child = streamChild(arg.getType());
         if (builder != null) {
-            child.addYangPathArgument(arg,builder);
+            child.addYangPathArgument(arg, builder);
         }
         return child;
     }
 
+    /**
+     * Serializes supplied Binding Path Argument and adds all necessary YANG instance identifiers to supplied list.
+     *
+     * @param arg Binding Path Argument
+     * @param builder DOM Path argument.
+     */
+    void addYangPathArgument(final PathArgument arg, final List<YangInstanceIdentifier.PathArgument> builder) {
+        if (builder != null) {
+            builder.add(getDomPathArgument());
+        }
+    }
+
     /**
      * Returns deserialized Binding Path Argument from YANG instance identifier.
      */
@@ -255,17 +267,12 @@ abstract class DataContainerCodecContext<D extends DataObject, T extends Runtime
         final NormalizedNodeResult result = new NormalizedNodeResult();
         // We create DOM stream writer which produces normalized nodes
         final NormalizedNodeStreamWriter domWriter = ImmutableNormalizedNodeStreamWriter.from(result);
-        writeAsNormalizedNode(data, domWriter);
-        return result.getResult();
-    }
-
-    @Override
-    public void writeAsNormalizedNode(final D data, final NormalizedNodeStreamWriter writer) {
         try {
-            eventStreamSerializer().serialize(data, new BindingToNormalizedStreamWriter(this, writer));
+            eventStreamSerializer().serialize(data, new BindingToNormalizedStreamWriter(this, domWriter));
         } catch (final IOException e) {
             throw new IllegalStateException("Failed to serialize Binding DTO",e);
         }
+        return result.getResult();
     }
 
     static final <T extends NormalizedNode> @NonNull T checkDataArgument(final @NonNull Class<T> expectedType,