X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FListSchemaNodeBuilder.java;h=4e3649c44fc192d76e2c754b531c33beb611a17b;hb=54b85dc59a410c1cb945cc124367f131f2b6e384;hp=994a979b20f1bf2a8822a0b58d9aeb840cf504d2;hpb=27311d19e3b2ea039726f512932022ce0184f418;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java index 994a979b20..4e3649c44f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java @@ -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