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%2FAugmentationModificationStrategy.java;h=91fd2e557c62198b728f7fce7a421300a3356c43;hb=bf405586fc69c3781311cfb8ac19ba93b670ec8d;hp=454254ef12d86ad473259f24d3c0642f835dc18f;hpb=9a63295d0942fbb81837d54bff35a83ec0b0263b;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AugmentationModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AugmentationModificationStrategy.java index 454254ef12..91fd2e557c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AugmentationModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AugmentationModificationStrategy.java @@ -8,10 +8,12 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; + import java.util.HashSet; import java.util.Set; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; 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.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableAugmentationNodeBuilder; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; @@ -20,8 +22,8 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.util.EffectiveAugmentationSchema; final class AugmentationModificationStrategy extends AbstractDataNodeContainerModificationStrategy { - AugmentationModificationStrategy(final AugmentationSchema schema, final DataNodeContainer resolved) { - super(createAugmentProxy(schema,resolved), AugmentationNode.class); + AugmentationModificationStrategy(final AugmentationSchema schema, final DataNodeContainer resolved, final TreeType treeType) { + super(createAugmentProxy(schema,resolved), AugmentationNode.class, treeType); } @Override @@ -31,9 +33,16 @@ final class AugmentationModificationStrategy extends AbstractDataNodeContainerMo return ImmutableAugmentationNodeBuilder.create((AugmentationNode) original); } + @Override + protected NormalizedNode createEmptyValue(NormalizedNode original) { + checkArgument(original instanceof AugmentationNode); + return ImmutableAugmentationNodeBuilder.create() + .withNodeIdentifier(((AugmentationNode) original).getIdentifier()).build(); + } + private static AugmentationSchema createAugmentProxy(final AugmentationSchema schema, final DataNodeContainer resolved) { - Set realChildSchemas = new HashSet<>(); - for(DataSchemaNode augChild : schema.getChildNodes()) { + final Set realChildSchemas = new HashSet<>(); + for(final DataSchemaNode augChild : schema.getChildNodes()) { realChildSchemas.add(resolved.getDataChildByName(augChild.getQName())); } return new EffectiveAugmentationSchema(schema, realChildSchemas);