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%2FInstanceIdToSimpleNodes.java;h=f4f4d1792dc65dd3004c0ed343277e9df8f631a2;hb=08269969f9007ec9a0ee15b4f1b9f4c0730d2412;hp=5f199395310567b2cf332016e41b6e2c6ca38686;hpb=c7fa0fe71ffb2758541c50dde32fd06b32db9390;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java index 5f19939531..f4f4d1792d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java @@ -7,74 +7,76 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import static com.google.common.base.Preconditions.checkNotNull; +import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import java.util.Map; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.ModifyAction; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import java.util.Iterator; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeAttrBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; /** * Base strategy for converting an instance identifier into a normalized node structure for leaf and leaf-list types. */ -abstract class InstanceIdToSimpleNodes extends InstanceIdToNodes { +abstract class InstanceIdToSimpleNodes extends InstanceIdToNodes { - protected InstanceIdToSimpleNodes(final T identifier) { + InstanceIdToSimpleNodes(final T identifier) { super(identifier); } @Override - public NormalizedNode create(final YangInstanceIdentifier instanceId, final Optional> deepestChild, final Optional> operation) { - checkNotNull(instanceId); - final YangInstanceIdentifier.PathArgument pathArgument = instanceId.getPathArguments().get(0); - final NormalizedNodeAttrBuilder> builder = getBuilder(pathArgument); + final NormalizedNode create(final PathArgument first, final Iterator others, + final Optional> deepestChild) { + final NormalizedNodeBuilder> builder = getBuilder(first); - if(deepestChild.isPresent()) { + if (deepestChild.isPresent()) { builder.withValue(deepestChild.get().getValue()); } - addModifyOpIfPresent(operation, builder); return builder.build(); } - protected abstract NormalizedNodeAttrBuilder> getBuilder(YangInstanceIdentifier.PathArgument node); - @Override - public InstanceIdToNodes getChild(final YangInstanceIdentifier.PathArgument child) { + final InstanceIdToNodes getChild(final PathArgument child) { return null; } - static final class LeafNormalization extends InstanceIdToSimpleNodes { + @Override + final boolean isMixin() { + return false; + } + + abstract NormalizedNodeBuilder> getBuilder(PathArgument node); - protected LeafNormalization(final LeafSchemaNode potential) { - super(new YangInstanceIdentifier.NodeIdentifier(potential.getQName())); + static final class LeafNormalization extends InstanceIdToSimpleNodes { + LeafNormalization(final LeafSchemaNode potential) { + super(new NodeIdentifier(potential.getQName())); } @Override - protected NormalizedNodeAttrBuilder> getBuilder(final YangInstanceIdentifier.PathArgument node) { + NormalizedNodeBuilder> getBuilder(final PathArgument node) { return Builders.leafBuilder().withNodeIdentifier(getIdentifier()); } } - static final class LeafListEntryNormalization extends InstanceIdToSimpleNodes { - - public LeafListEntryNormalization(final LeafListSchemaNode potential) { - super(new YangInstanceIdentifier.NodeWithValue(potential.getQName(), null)); + static final class LeafListEntryNormalization extends InstanceIdToSimpleNodes { + LeafListEntryNormalization(final LeafListSchemaNode potential) { + super(new NodeWithValue<>(potential.getQName(), null)); } @Override - protected NormalizedNodeAttrBuilder> getBuilder(final YangInstanceIdentifier.PathArgument node) { - Preconditions.checkArgument(node instanceof YangInstanceIdentifier.NodeWithValue); - return Builders.leafSetEntryBuilder().withNodeIdentifier((YangInstanceIdentifier.NodeWithValue) node).withValue(((YangInstanceIdentifier.NodeWithValue) node).getValue()); + NormalizedNodeBuilder> getBuilder(final PathArgument node) { + checkArgument(node instanceof NodeWithValue); + return Builders.leafSetEntryBuilder().withNodeIdentifier((NodeWithValue) node) + .withValue(((NodeWithValue) node).getValue()); } - } }