Merge "Added missing parent tag to pom files"
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / ListSchemaNodeBuilder.java
index 994a979b20f1bf2a8822a0b58d9aeb840cf504d2..4e3649c44fc192d76e2c754b531c33beb611a17b 100644 (file)
@@ -91,9 +91,7 @@ public final class ListSchemaNodeBuilder extends AbstractDocumentedDataNodeConta
         instance.userOrdered = userOrdered;
 
         // KEY
-        if (keys == null) {
-            instance.keyDefinition = ImmutableList.of();
-        } else {
+        if (keys != null) {
             keyDefinition = new ArrayList<>();
             for (String key : keys) {
                 DataSchemaNode keyPart = instance.getDataChildByName(key);
@@ -101,9 +99,15 @@ public final class ListSchemaNodeBuilder extends AbstractDocumentedDataNodeConta
                     throw new YangParseException(getModuleName(), getLine(), "Failed to resolve list key for name "
                             + key);
                 }
-                keyDefinition.add(keyPart.getQName());
+
+                final QName qname = keyPart.getQName();
+                if (!keyDefinition.contains(qname)) {
+                    keyDefinition.add(qname);
+                }
             }
             instance.keyDefinition = ImmutableList.copyOf(keyDefinition);
+        } else {
+            instance.keyDefinition = ImmutableList.of();
         }
 
         // ORIGINAL NODE