X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-codec-gson%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fcodec%2Fgson%2FListNodeDataWithSchema.java;h=abbf1eaec48dd67cf90c4a6e455e8c1271e4cab2;hb=f7fe89b85f540dbe7d1fc051f2082f2ce571321a;hp=d21cd9a77a01000a9e48cb3b941899e68dc7d06f;hpb=74c346982b9a7bd930b5403abb147298b8281b6a;p=yangtools.git diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java index d21cd9a77a..abbf1eaec4 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java @@ -8,8 +8,7 @@ package org.opendaylight.yangtools.yang.data.codec.gson; 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.ListSchemaNode; @@ -20,9 +19,13 @@ class ListNodeDataWithSchema extends CompositeNodeDataWithSchema { } @Override - public void write(final NormalizedNodeStreamWriter writer) throws IOException { - if (((ListSchemaNode) getSchema()).getKeyDefinition().isEmpty()) { + public void write(final SchemaAwareNormalizedNodeStreamWriter writer) throws IOException { + final ListSchemaNode schema = (ListSchemaNode) getSchema(); + writer.nextDataSchemaNode(schema); + if (schema.getKeyDefinition().isEmpty()) { writer.startUnkeyedList(provideNodeIdentifier(), childSizeHint()); + } else if(schema.isUserOrdered()) { + writer.startOrderedMapNode(provideNodeIdentifier(), childSizeHint()); } else { writer.startMapNode(provideNodeIdentifier(), childSizeHint()); }