Bug 2846 - Ordered-by user is broken again - SFC is broken 22/16622/2
authorJan Hajnar <jhajnar@cisco.com>
Mon, 16 Mar 2015 08:59:42 +0000 (09:59 +0100)
committerJan Hajnar <jhajnar@cisco.com>
Mon, 16 Mar 2015 09:13:37 +0000 (10:13 +0100)
* fixed gson codec to create ordered map node when "ordered-by user" is
defined in schema

Change-Id: I81e01aa051405630b58b180b4d730aba64c04b93
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/ListNodeDataWithSchema.java

index d21cd9a77a01000a9e48cb3b941899e68dc7d06f..2c5311417b272bd9a6e24eb9131c16da39a52eba 100644 (file)
@@ -21,8 +21,11 @@ class ListNodeDataWithSchema extends CompositeNodeDataWithSchema {
 
     @Override
     public void write(final NormalizedNodeStreamWriter writer) throws IOException {
-        if (((ListSchemaNode) getSchema()).getKeyDefinition().isEmpty()) {
+        final ListSchemaNode schema = (ListSchemaNode) getSchema();
+        if (schema.getKeyDefinition().isEmpty()) {
             writer.startUnkeyedList(provideNodeIdentifier(), childSizeHint());
+        } else if(schema.isUserOrdered()) {
+            writer.startOrderedMapNode(provideNodeIdentifier(), childSizeHint());
         } else {
             writer.startMapNode(provideNodeIdentifier(), childSizeHint());
         }