Improved parsing of key in list schema node. 90/4590/1
authorMartin Vitez <mvitez@cisco.com>
Wed, 22 Jan 2014 15:28:46 +0000 (16:28 +0100)
committerMartin Vitez <mvitez@cisco.com>
Wed, 22 Jan 2014 15:28:46 +0000 (16:28 +0100)
Signed-off-by: Martin Vitez <mvitez@cisco.com>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ListSchemaNodeBuilder.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/CopyUtils.java

index 36e6638537f531343730dc83d457fb1e8d457818..bdec5239610d14f6feebff115d72a24bdaea85dc 100644 (file)
@@ -89,6 +89,17 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
             }
             instance.addChildNodes(childNodes);
 
+            // KEY
+            if (keys == null) {
+                instance.keyDefinition = Collections.<QName> emptyList();
+            } else {
+                List<QName> qnames = new ArrayList<>();
+                for (String key : keys) {
+                    qnames.add(instance.getDataChildByName(key).getQName());
+                }
+                instance.keyDefinition = qnames;
+            }
+
             // TYPEDEFS
             for (TypeDefinitionBuilder entry : addedTypedefs) {
                 typedefs.add(entry.build());
@@ -203,14 +214,6 @@ public final class ListSchemaNodeBuilder extends AbstractDataNodeContainerBuilde
         this.keys = keys;
     }
 
-    public List<QName> getKeyDefinition() {
-        return instance.keyDefinition;
-    }
-
-    public void setKeyDefinition(final List<QName> keyDefinition) {
-        instance.keyDefinition = keyDefinition;
-    }
-
     @Override
     public boolean isAugmenting() {
         return instance.augmenting;
index 09862a464776a14882225d937db0e7487a99a86d..86ddd4bdd66fcc0c2dc875afe6430cff75d7af45 100644 (file)
@@ -480,7 +480,6 @@ public final class YangParserImpl implements YangModelParser {
         resolveUsesTargetGrouping(modules, null);
         resolveUsesForGroupings(modules, null);
         resolveUsesForNodes(modules, null);
-        resolveListsKey(modules);
         resolveAugments(modules, null);
         resolveDeviations(modules);
 
@@ -504,7 +503,6 @@ public final class YangParserImpl implements YangModelParser {
         resolveUsesTargetGrouping(modules, context);
         resolveUsesForGroupings(modules, context);
         resolveUsesForNodes(modules, context);
-        resolveListsKey(modules);
         resolveAugments(modules, context);
         resolveDeviationsWithContext(modules, context);
 
@@ -1053,28 +1051,6 @@ public final class YangParserImpl implements YangModelParser {
         }
     }
 
-    private void resolveListsKey(final Map<String, TreeMap<Date, ModuleBuilder>> modules) {
-        for (Map.Entry<String, TreeMap<Date, ModuleBuilder>> entry : modules.entrySet()) {
-            for (Map.Entry<Date, ModuleBuilder> inner : entry.getValue().entrySet()) {
-                ModuleBuilder module = inner.getValue();
-                List<ListSchemaNodeBuilder> allLists = module.getAllLists();
-                for (ListSchemaNodeBuilder list : allLists) {
-                    List<String> keys = list.getKeys();
-                    if (keys == null) {
-                        list.setKeyDefinition(Collections.<QName> emptyList());
-                    } else {
-                        List<QName> qnames = new ArrayList<>();
-                        for (String key : keys) {
-                            qnames.add(list.getDataChildByName(key).getQName());
-                        }
-                        list.setKeyDefinition(qnames);
-                    }
-
-                }
-            }
-        }
-    }
-
     private void resolveUnknownNodes(final Map<String, TreeMap<Date, ModuleBuilder>> modules, final ModuleBuilder module) {
         for (UnknownSchemaNodeBuilder usnb : module.getAllUnknownNodes()) {
             QName nodeType = usnb.getNodeType();
index 05e1e0c1942ec7889ece972edb1966a916bff1c3..91a04e875233c03de93fe7c5d90c4076c2b80f44 100644 (file)
@@ -279,7 +279,7 @@ public final class CopyUtils {
         }
 
         copy.setUserOrdered(old.isUserOrdered());
-        copy.setKeyDefinition(old.getKeyDefinition());
+        copy.setKeys(old.getKeys());
 
         return copy;
     }