import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
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.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
-import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
import org.opendaylight.yangtools.yang.data.api.schema.builder.NormalizedNodeContainerBuilder;
import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode;
+import org.opendaylight.yangtools.yang.data.util.DataSchemaContext;
import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
buildCont(builder, container.body(), ctxNode, trim);
return builder.build();
} else if (readData instanceof MapEntryNode mapEntry) {
- if (!(ctxNode.getDataSchemaNode() instanceof ListSchemaNode listSchema)) {
+ if (!(ctxNode.dataSchemaNode() instanceof ListSchemaNode listSchema)) {
throw new IllegalStateException("Input " + mapEntry + " does not match " + ctxNode);
}
private static void buildMapEntryBuilder(
final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> builder,
- final Collection<@NonNull DataContainerChild> children, final DataSchemaContextNode<?> ctxNode,
+ final Collection<@NonNull DataContainerChild> children, final DataSchemaContext ctxNode,
final boolean trim, final List<QName> keys) {
for (var child : children) {
final var childCtx = getChildContext(ctxNode, child);
}
private static void appendContainer(final DataContainerNodeBuilder<?, ?> builder, final ContainerNode container,
- final DataSchemaContextNode<?> ctxNode, final boolean trim) {
+ final DataSchemaContext ctxNode, final boolean trim) {
final var childBuilder = Builders.containerBuilder().withNodeIdentifier(container.getIdentifier());
buildCont(childBuilder, container.body(), ctxNode, trim);
builder.withChild(childBuilder.build());
}
private static void appendLeaf(final DataContainerNodeBuilder<?, ?> builder, final LeafNode<?> leaf,
- final DataSchemaContextNode<?> ctxNode, final boolean trim, final List<QName> keys) {
- if (!(ctxNode.getDataSchemaNode() instanceof LeafSchemaNode leafSchema)) {
+ final DataSchemaContext ctxNode, final boolean trim, final List<QName> keys) {
+ if (!(ctxNode.dataSchemaNode() instanceof LeafSchemaNode leafSchema)) {
throw new IllegalStateException("Input " + leaf + " does not match " + ctxNode);
}
}
private static void appendMap(final DataContainerNodeBuilder<?, ?> builder, final MapNode map,
- final DataSchemaContextNode<?> childCtx, final boolean trim) {
- if (!(childCtx.getDataSchemaNode() instanceof ListSchemaNode listSchema)) {
+ final DataSchemaContext childCtx, final boolean trim) {
+ if (!(childCtx.dataSchemaNode() instanceof ListSchemaNode listSchema)) {
throw new IllegalStateException("Input " + map + " does not match " + childCtx);
}
}
private static void buildList(final CollectionNodeBuilder<MapEntryNode, ? extends MapNode> builder,
- final Collection<@NonNull MapEntryNode> entries, final DataSchemaContextNode<?> ctxNode, final boolean trim,
+ final Collection<@NonNull MapEntryNode> entries, final DataSchemaContext ctxNode, final boolean trim,
final List<@NonNull QName> keys) {
for (var entry : entries) {
final var childCtx = getChildContext(ctxNode, entry);
}
private static void buildCont(final DataContainerNodeBuilder<NodeIdentifier, ContainerNode> builder,
- final Collection<DataContainerChild> children, final DataSchemaContextNode<?> ctxNode, final boolean trim) {
+ final Collection<DataContainerChild> children, final DataSchemaContext ctxNode, final boolean trim) {
for (var child : children) {
final var childCtx = getChildContext(ctxNode, child);
if (child instanceof ContainerNode container) {
}
}
- private static @NonNull DataSchemaContextNode<?> getChildContext(final DataSchemaContextNode<?> ctxNode,
+ private static @NonNull DataSchemaContext getChildContext(final DataSchemaContext ctxNode,
final NormalizedNode child) {
- final var childId = child.getIdentifier();
- final var childCtx = ctxNode.getChild(childId);
+ final var childId = child.name();
+ final var childCtx = ctxNode instanceof DataSchemaContext.Composite composite ? composite.childByArg(childId)
+ : null;
if (childCtx == null) {
throw new NoSuchElementException("Cannot resolve child " + childId + " in " + ctxNode);
}
mapValueToBuilder(
((ContainerNode) configDataNode).body(), ((ContainerNode) stateDataNode).body(), builder);
- return builder.build();
- } else if (configDataNode instanceof AugmentationNode) {
- final DataContainerNodeBuilder<AugmentationIdentifier, AugmentationNode> builder = Builders
- .augmentationBuilder().withNodeIdentifier(((AugmentationNode) configDataNode).getIdentifier());
-
- mapValueToBuilder(((AugmentationNode) configDataNode).body(),
- ((AugmentationNode) stateDataNode).body(), builder);
-
return builder.build();
} else if (configDataNode instanceof ChoiceNode) {
final DataContainerNodeBuilder<NodeIdentifier, ChoiceNode> builder = Builders