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%2FValueNodeModificationStrategy.java;h=0251d535ba3d4090f1eed4e4b02aaf8f960d811a;hb=bf009ab944ceb87cbd348ee5b1e23eaefe2577da;hp=6b03863c12a67b9cc919ee8844da4d149965b26f;hpb=fd5c52cfb196a8d1dd6d6f2fb94f9a395c28afa7;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java index 6b03863c12..0251d535ba 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ValueNodeModificationStrategy.java @@ -10,11 +10,11 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; +import com.google.common.base.MoreObjects.ToStringHelper; import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.data.api.schema.ValueNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.IncorrectDataStructureException; import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; @@ -22,11 +22,12 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNodeFactory; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; -final class ValueNodeModificationStrategy extends SchemaAwareApplyOperation { - private final Class nodeClass; +final class ValueNodeModificationStrategy> + extends SchemaAwareApplyOperation { + private final @NonNull Class nodeClass; private final @NonNull T schema; - ValueNodeModificationStrategy(final Class nodeClass, final T schema) { + ValueNodeModificationStrategy(final Class nodeClass, final T schema) { this.nodeClass = requireNonNull(nodeClass); this.schema = requireNonNull(schema); } @@ -38,8 +39,7 @@ final class ValueNodeModificationStrategy extends Sche @Override public Optional getChild(final PathArgument child) { - throw new UnsupportedOperationException("Node " + schema.getPath() - + " is leaf type node. Child nodes not allowed"); + throw new UnsupportedOperationException("Node " + schema + " is leaf type node. Child nodes not allowed"); } @Override @@ -50,8 +50,8 @@ final class ValueNodeModificationStrategy extends Sche @Override protected TreeNode applyTouch(final ModifiedNode modification, final TreeNode currentMeta, final Version version) { - throw new UnsupportedOperationException("Node " + schema.getPath() - + " is leaf type node. Subtree change is not allowed."); + throw new UnsupportedOperationException("Node " + schema + " is leaf type node. " + + " Subtree change is not allowed."); } @Override @@ -66,13 +66,13 @@ final class ValueNodeModificationStrategy extends Sche @Override protected TreeNode applyWrite(final ModifiedNode modification, final NormalizedNode newValue, - final Optional currentMeta, final Version version) { + final Optional currentMeta, final Version version) { return TreeNodeFactory.createTreeNode(newValue, version); } @Override protected void checkTouchApplicable(final ModificationPath path, final NodeModification modification, - final Optional current, final Version version) throws IncorrectDataStructureException { + final Optional current, final Version version) throws IncorrectDataStructureException { throw new IncorrectDataStructureException(path.toInstanceIdentifier(), "Subtree modification is not allowed."); } @@ -101,6 +101,11 @@ final class ValueNodeModificationStrategy extends Sche verifyWrittenValue(value); } + @Override + ToStringHelper addToStringAttributes(final ToStringHelper helper) { + return helper.add("value", nodeClass.getSimpleName()); + } + private void verifyWrittenValue(final NormalizedNode value) { checkArgument(nodeClass.isInstance(value), "Expected an instance of %s, have %s", nodeClass, value); }