X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Fnodes%2FAbstractImmutableDataContainerNode.java;h=72fe3197bf7cb2f462730a38922ae95693c1c468;hb=6247f51733af9e6570a44ffbb0d3b110b92c517e;hp=1b53f7c66da682ac4f33cfba8d8f2e1a4e0c1d16;hpb=bf1e0775a3750272140473054286e1d722cbb785;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java index 1b53f7c66d..72fe3197bf 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java @@ -7,27 +7,30 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.nodes; -import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import java.util.Optional; 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; -public abstract class AbstractImmutableDataContainerNode extends AbstractImmutableNormalizedNode>> implements Immutable, DataContainerNode { +public abstract class AbstractImmutableDataContainerNode + extends AbstractImmutableNormalizedNode>> + implements Immutable, DataContainerNode { private final Map> children; public AbstractImmutableDataContainerNode( final Map> children, final K nodeIdentifier) { super(nodeIdentifier); - this.children = UnmodifiableChildrenMap.create(children); + this.children = ImmutableOffsetMap.unorderedCopyOf(children); } @Override public final Optional> getChild(final PathArgument child) { - return Optional.> fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override @@ -43,6 +46,7 @@ public abstract class AbstractImmutableDataContainerNode /** * DO NOT USE THIS METHOD. * + *

* This is an implementation-internal API and no outside users should use it. If you do, * you are asking for trouble, as the returned object is not guaranteed to conform to * java.util.Map interface. @@ -55,10 +59,8 @@ public abstract class AbstractImmutableDataContainerNode @Override protected boolean valueEquals(final AbstractImmutableNormalizedNode other) { - if (!(other instanceof AbstractImmutableDataContainerNode)) { - return false; - } + return other instanceof AbstractImmutableDataContainerNode && children.equals( + ((AbstractImmutableDataContainerNode) other).children); - return children.equals(((AbstractImmutableDataContainerNode)other).children); } }