X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Futil%2FDataSchemaContextNode.java;h=8070db3c3170e30fa8c917e5408d2be5fb65fabc;hb=bb60da5fe2d1928defb46ed92b290cfff93dcd81;hp=26555b759224f4cee7635aa0123189e73bb30fd9;hpb=9d4f9c62287ef265b1bd2b7abfec95db7d7b1241;p=yangtools.git diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java index 26555b7592..8070db3c31 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java @@ -15,25 +15,25 @@ import java.util.Set; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.yangtools.concepts.Identifiable; +import org.opendaylight.yangtools.concepts.AbstractIdentifiable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationTarget; import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; -import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; +import org.opendaylight.yangtools.yang.model.api.ContainerLike; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaNode; -import org.opendaylight.yangtools.yang.model.util.EffectiveAugmentationSchema; /** * Schema derived data providing necessary information for mapping between @@ -42,12 +42,11 @@ import org.opendaylight.yangtools.yang.model.util.EffectiveAugmentationSchema; * * @param Path Argument type */ -public abstract class DataSchemaContextNode implements Identifiable { +public abstract class DataSchemaContextNode extends AbstractIdentifiable { private final DataSchemaNode dataSchemaNode; - private final T identifier; protected DataSchemaContextNode(final T identifier, final SchemaNode schema) { - this.identifier = identifier; + super(identifier); if (schema instanceof DataSchemaNode) { this.dataSchemaNode = (DataSchemaNode) schema; } else { @@ -55,11 +54,6 @@ public abstract class DataSchemaContextNode implements I } } - @Override - public T getIdentifier() { - return identifier; - } - public boolean isMixin() { return false; } @@ -71,7 +65,7 @@ public abstract class DataSchemaContextNode implements I public abstract boolean isLeaf(); protected Set getQNameIdentifiers() { - return ImmutableSet.of(identifier.getNodeType()); + return ImmutableSet.of(getIdentifier().getNodeType()); } /** @@ -108,7 +102,7 @@ public abstract class DataSchemaContextNode implements I } static DataSchemaNode findChildSchemaNode(final DataNodeContainer parent, final QName child) { - final DataSchemaNode potential = parent.getDataChildByName(child); + final DataSchemaNode potential = parent.dataChildByName(child); return potential == null ? findChoice(Iterables.filter(parent.getChildNodes(), ChoiceSchemaNode.class), child) : potential; } @@ -126,7 +120,7 @@ public abstract class DataSchemaContextNode implements I private static ChoiceSchemaNode findChoice(final Iterable choices, final QName child) { for (ChoiceSchemaNode choice : choices) { // FIXME: this looks weird: what are we looking for again? - for (CaseSchemaNode caze : choice.getCases().values()) { + for (CaseSchemaNode caze : choice.getCases()) { if (findChildSchemaNode(caze, child) != null) { return choice; } @@ -147,21 +141,6 @@ public abstract class DataSchemaContextNode implements I .collect(Collectors.toSet())); } - /** - * Returns an AugmentationSchemaNode as effective in a parent node. - * - * @param schema Augmentation schema - * @param parent Parent schema - * @return Adjusted Augmentation schema - * @throws NullPointerException if any of the arguments is null - * @deprecated Use {@link EffectiveAugmentationSchema#create(AugmentationSchemaNode, DataNodeContainer)} instead. - */ - @Deprecated - public static AugmentationSchemaNode augmentationProxy(final AugmentationSchemaNode schema, - final DataNodeContainer parent) { - return EffectiveAugmentationSchema.create(schema, parent); - } - /** * Returns a DataContextNodeOperation for provided child node * @@ -182,8 +161,8 @@ public abstract class DataSchemaContextNode implements I } public static @Nullable DataSchemaContextNode fromDataSchemaNode(final DataSchemaNode potential) { - if (potential instanceof ContainerSchemaNode) { - return new ContainerContextNode((ContainerSchemaNode) potential); + if (potential instanceof ContainerLike) { + return new ContainerContextNode((ContainerLike) potential); } else if (potential instanceof ListSchemaNode) { return fromListSchemaNode((ListSchemaNode) potential); } else if (potential instanceof LeafSchemaNode) { @@ -192,8 +171,10 @@ public abstract class DataSchemaContextNode implements I return new ChoiceNodeContextNode((ChoiceSchemaNode) potential); } else if (potential instanceof LeafListSchemaNode) { return fromLeafListSchemaNode((LeafListSchemaNode) potential); - } else if (potential instanceof AnyXmlSchemaNode) { - return new AnyXmlContextNode((AnyXmlSchemaNode) potential); + } else if (potential instanceof AnydataSchemaNode) { + return new AnydataContextNode((AnydataSchemaNode) potential); + } else if (potential instanceof AnyxmlSchemaNode) { + return new AnyXmlContextNode((AnyxmlSchemaNode) potential); } return null; } @@ -216,7 +197,7 @@ public abstract class DataSchemaContextNode implements I return new UnorderedLeafListMixinContextNode(potential); } - public static DataSchemaContextNode from(final SchemaContext ctx) { + public static DataSchemaContextNode from(final EffectiveModelContext ctx) { return new ContainerContextNode(ctx); } }