Bug 5019: Add QName param to NormalizedNodeWriter#leafSetEntryNode
[yangtools.git] / yang / yang-data-codec-gson / src / main / java / org / opendaylight / yangtools / yang / data / codec / gson / LeafListNodeDataWithSchema.java
index 8b23acdb9fb05421415ba96d36c0862661e32466..5033ddf2751fe707a7e5580c380761da9c788bd1 100644 (file)
@@ -7,12 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.gson;
 
-import static org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter.UNKNOWN_SIZE;
-
 import java.io.IOException;
-
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
+import org.opendaylight.yangtools.yang.data.api.schema.stream.SchemaAwareNormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 
 class LeafListNodeDataWithSchema extends CompositeNodeDataWithSchema {
     public LeafListNodeDataWithSchema(final DataSchemaNode schema) {
@@ -20,9 +18,15 @@ class LeafListNodeDataWithSchema extends CompositeNodeDataWithSchema {
     }
 
     @Override
-    protected void writeToStream(final NormalizedNodeStreamWriter nnStreamWriter) throws IOException {
-        nnStreamWriter.startLeafSet(provideNodeIdentifier(), UNKNOWN_SIZE);
-        super.writeToStream(nnStreamWriter);
-        nnStreamWriter.endNode();
+    public void write(final SchemaAwareNormalizedNodeStreamWriter writer) throws IOException {
+        final LeafListSchemaNode schema = (LeafListSchemaNode) getSchema();
+        writer.nextDataSchemaNode(schema);
+        if (schema.isUserOrdered()) {
+            writer.startOrderedLeafSet(provideNodeIdentifier(), childSizeHint());
+        } else {
+            writer.startLeafSet(provideNodeIdentifier(), childSizeHint());
+        }
+        super.write(writer);
+        writer.endNode();
     }
 }