Fix bug in ImmutableMapEntryNodeBuilder 73/23673/3
authorTom Pantelis <tpanteli@brocade.com>
Sat, 20 Jun 2015 09:20:07 +0000 (05:20 -0400)
committerTony Tkacik <ttkacik@cisco.com>
Fri, 3 Jul 2015 08:29:59 +0000 (10:29 +0200)
In ImmutableMapEntryNodeBuilder#build, for the call to

   getChild(childrenQNamesToPaths.get(key.getValue()));

it should use key.getKey(). As a result, key childs nodes are never
found and thus user-provided nodes are always replaced.

NOTE: https://git.opendaylight.org/gerrit/#/c/23044/ should be merged
first to avoid unit test failure in the controller project.

Change-Id: I736756ce8fc3e15a05641565f2f505a2db32e9fc
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
(cherry picked from commit f965264bb05b1dc5dc921eb1f8e80461e6a1cbb9)

yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java

index 58d86a2967e20addbb255eabffaa4d33a54812aa..cebe26b0f577874e66cb2f57e0902986bd6eaed6 100644 (file)
@@ -98,7 +98,7 @@ public class ImmutableMapEntryNodeBuilder extends AbstractImmutableDataContainer
     @Override
     public MapEntryNode build() {
         for (final Entry<QName, Object> key : getNodeIdentifier().getKeyValues().entrySet()) {
-            final DataContainerChild<?, ?> childNode = getChild(childrenQNamesToPaths.get(key.getValue()));
+            final DataContainerChild<?, ?> childNode = getChild(childrenQNamesToPaths.get(key.getKey()));
 
             // We have enough information to fill-in missing leaf nodes, so let's do that
             if (childNode == null) {