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%2Ftree%2FUnorderedMapModificationStrategy.java;h=601939bc9710910153a99daf3812040f60c1bf17;hb=bf405586fc69c3781311cfb8ac19ba93b670ec8d;hp=21e1adbd8e892e3929c7f92fc68a816cf5dcb877;hpb=b43526eb049be04e1a520da398784a44c7f40683;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java index 21e1adbd8e..601939bc97 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java @@ -5,23 +5,26 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ + package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.base.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeContainerBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -final class UnorderedMapModificationStrategy extends NormalizedNodeContainerModificationStrategy { +final class UnorderedMapModificationStrategy extends AbstractNodeContainerModificationStrategy { private final Optional entryStrategy; - UnorderedMapModificationStrategy(final ListSchemaNode schema) { - super(MapNode.class); - entryStrategy = Optional. of(new ListEntryModificationStrategy(schema)); + UnorderedMapModificationStrategy(final ListSchemaNode schema, final TreeType treeType) { + super(MapNode.class, treeType); + entryStrategy = Optional.of(new ListEntryModificationStrategy(schema, treeType)); } @SuppressWarnings("rawtypes") @@ -31,6 +34,12 @@ final class UnorderedMapModificationStrategy extends NormalizedNodeContainerModi return ImmutableMapNodeBuilder.create((MapNode) original); } + @Override + protected NormalizedNode createEmptyValue(final NormalizedNode original) { + checkArgument(original instanceof MapNode); + return ImmutableMapNodeBuilder.create().withNodeIdentifier(((MapNode) original).getIdentifier()).build(); + } + @Override public Optional getChild(final YangInstanceIdentifier.PathArgument identifier) { if (identifier instanceof YangInstanceIdentifier.NodeIdentifierWithPredicates) { @@ -43,4 +52,4 @@ final class UnorderedMapModificationStrategy extends NormalizedNodeContainerModi public String toString() { return "UnorderedMapModificationStrategy [entry=" + entryStrategy + "]"; } -} \ No newline at end of file +}