BUG-4158: use ImmutableOffsetMap 33/26033/8
authorRobert Varga <rovarga@cisco.com>
Tue, 25 Aug 2015 09:06:56 +0000 (11:06 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 27 Aug 2015 14:16:47 +0000 (14:16 +0000)
In order to improve memory efficiency of maps holding children of
container nodes, use ImmutableOffsetMap instead of wrapping constructed
children.

Change-Id: Ib11b8d5adc4d5509ecbbba59348638f78fc2e62b
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java

index 1b53f7c66da682ac4f33cfba8d8f2e1a4e0c1d16..a406b154f9f0c8bc335a70c322b675dc9d100ebc 100644 (file)
@@ -11,6 +11,7 @@ import com.google.common.base.Optional;
 import java.util.Collection;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.util.ImmutableOffsetMap;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
@@ -22,7 +23,7 @@ public abstract class AbstractImmutableDataContainerNode<K extends PathArgument>
             final Map<PathArgument, DataContainerChild<? extends PathArgument, ?>> children, final K nodeIdentifier) {
         super(nodeIdentifier);
 
-        this.children = UnmodifiableChildrenMap.create(children);
+        this.children = ImmutableOffsetMap.copyOf(children);
     }
 
     @Override