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%2FImmutableAugmentationNodeSchemaAwareBuilder.java;h=d20e8abd5effdd2dba12b2a697d5c67906da1f49;hb=9d74a74a9d46ff8c6878bc7d76994782d938cddc;hp=33638de640eac8d4ab02b3b859e75a7788dcce6f;hpb=4a5d26c9de475a4cff151ee4255e027211c2eeb4;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAugmentationNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAugmentationNodeSchemaAwareBuilder.java index 33638de640..d20e8abd5e 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAugmentationNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableAugmentationNodeSchemaAwareBuilder.java @@ -7,55 +7,38 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import java.util.Set; - -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.valid.DataNodeContainerValidator; -import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; - -import com.google.common.collect.Sets; +import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode; +import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; +@Deprecated(since = "6.0.7", forRemoval = true) public class ImmutableAugmentationNodeSchemaAwareBuilder extends ImmutableAugmentationNodeBuilder { - private final DataNodeContainerValidator validator; - protected ImmutableAugmentationNodeSchemaAwareBuilder(AugmentationSchema schema) { - super(); + protected ImmutableAugmentationNodeSchemaAwareBuilder(final AugmentationSchemaNode schema) { this.validator = new DataNodeContainerValidator(schema); - // TODO no QName for augmentation - super.withNodeIdentifier(new InstanceIdentifier.AugmentationIdentifier(null, getChildQNames(schema))); - } - - // TODO move somewhere to UTIL - public static Set getChildQNames(AugmentationSchema schema) { - Set qnames = Sets.newHashSet(); - - for (DataSchemaNode dataSchemaNode : schema.getChildNodes()) { - qnames.add(dataSchemaNode.getQName()); - } - - return qnames; + super.withNodeIdentifier(DataSchemaContextNode.augmentationIdentifierFrom(schema)); } @Override - public DataContainerNodeBuilder withNodeIdentifier(InstanceIdentifier.AugmentationIdentifier nodeIdentifier) { + public DataContainerNodeBuilder withNodeIdentifier( + final AugmentationIdentifier withNodeIdentifier) { throw new UnsupportedOperationException("Node identifier created from schema"); } @Override - public DataContainerNodeBuilder withChild(DataContainerChild child) { - validator.validateChild(child.getIdentifier()); - return super.withChild(child); + public DataContainerNodeBuilder withChild( + final DataContainerChild child) { + return super.withChild(validator.validateChild(child)); } - public static DataContainerNodeBuilder create(AugmentationSchema schema) { + public static @NonNull DataContainerNodeBuilder create( + final AugmentationSchemaNode schema) { return new ImmutableAugmentationNodeSchemaAwareBuilder(schema); } - - }