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%2FOrderedLeafSetModificationStrategy.java;h=488cc2281f01c1851f8142228016920871315028;hb=bf405586fc69c3781311cfb8ac19ba93b670ec8d;hp=0fa2ab5731e9eff9f697262a727d00129f8f41be;hpb=b43526eb049be04e1a520da398784a44c7f40683;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java index 0fa2ab5731..488cc2281f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java @@ -8,27 +8,29 @@ 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.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.OrderedLeafSetNode; +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.ImmutableOrderedLeafSetNodeBuilder; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; -final class OrderedLeafSetModificationStrategy extends NormalizedNodeContainerModificationStrategy { +final class OrderedLeafSetModificationStrategy extends AbstractNodeContainerModificationStrategy { private final Optional entryStrategy; @SuppressWarnings({ "unchecked", "rawtypes" }) - OrderedLeafSetModificationStrategy(final LeafListSchemaNode schema) { - super((Class) LeafSetNode.class); + OrderedLeafSetModificationStrategy(final LeafListSchemaNode schema, final TreeType treeType) { + super((Class) LeafSetNode.class, treeType); entryStrategy = Optional. of(new LeafSetEntryModificationStrategy(schema)); } @Override - boolean isOrdered() { - return true; + protected ChildTrackingPolicy getChildPolicy() { + return ChildTrackingPolicy.ORDERED; } @SuppressWarnings("rawtypes") @@ -38,6 +40,13 @@ final class OrderedLeafSetModificationStrategy extends NormalizedNodeContainerMo return ImmutableOrderedLeafSetNodeBuilder.create((OrderedLeafSetNode) original); } + @Override + protected NormalizedNode createEmptyValue(NormalizedNode original) { + checkArgument(original instanceof OrderedLeafSetNode); + return ImmutableOrderedLeafSetNodeBuilder.create() + .withNodeIdentifier(((OrderedLeafSetNode) original).getIdentifier()).build(); + } + @Override public Optional getChild(final YangInstanceIdentifier.PathArgument identifier) { if (identifier instanceof YangInstanceIdentifier.NodeWithValue) {