X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Fbuilder%2Fimpl%2FImmutableMapEntryNodeBuilder.java;h=44d6930e2cfdda30088fdf820d9cada6b9f08096;hb=64cb6400c8cbef8660cf914426b3bf9911d5f7a1;hp=af8368f902280c940031ac2c2ae04655446bc442;hpb=922e1166980522d3aec8afa39fc06ab490fae15d;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java index af8368f902..44d6930e2c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapEntryNodeBuilder.java @@ -43,7 +43,7 @@ public class ImmutableMapEntryNodeBuilder protected ImmutableMapEntryNodeBuilder(final ImmutableMapEntryNode node) { super(node); this.childrenQNamesToPaths = new LinkedHashMap<>(); - fillQnames(node.body(), childrenQNamesToPaths); + fillQNames(node.body(), childrenQNamesToPaths); } public static @NonNull DataContainerNodeBuilder create() { @@ -64,38 +64,31 @@ public class ImmutableMapEntryNodeBuilder return new ImmutableMapEntryNodeBuilder((ImmutableMapEntryNode)node); } - private static void fillQnames(final Iterable iterable, final Map out) { - for (final DataContainerChild childId : iterable) { - final PathArgument identifier = childId.getIdentifier(); - - // Augmentation nodes cannot be keys, and do not have to be present in childrenQNamesToPaths map - if (isAugment(identifier)) { - continue; - } + private static void fillQNames(final Iterable iterable, final Map out) { + for (final DataContainerChild child : iterable) { + putQName(out, child); + } + } - out.put(childId.getNodeType(), identifier); + private static void putQName(final Map map, final DataContainerChild child) { + // Augmentation nodes cannot be keys, and do not have to be present in childrenQNamesToPaths map + final PathArgument identifier = child.getIdentifier(); + if (!(identifier instanceof AugmentationIdentifier)) { + map.put(identifier.getNodeType(), identifier); } } @Override public DataContainerNodeBuilder withValue( final Collection withValue) { - fillQnames(withValue, childrenQNamesToPaths); + fillQNames(withValue, childrenQNamesToPaths); return super.withValue(withValue); } - private static boolean isAugment(final PathArgument identifier) { - return identifier instanceof AugmentationIdentifier; - } - @Override public DataContainerNodeBuilder withChild( final DataContainerChild child) { - // Augmentation nodes cannot be keys, and do not have to be present in childrenQNamesToPaths map - if (!isAugment(child.getIdentifier())) { - childrenQNamesToPaths.put(child.getNodeType(), child.getIdentifier()); - } - + putQName(childrenQNamesToPaths, child); return super.withChild(child); }