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%2FUnkeyedListModificationStrategy.java;h=dacba5aefe3b295d08f1bd565be5be61f677b077;hb=bf405586fc69c3781311cfb8ac19ba93b670ec8d;hp=32d73c9b61876aeeae38438c08a2eb71e1e87034;hpb=f57da82ed313a3c17a5f8b2a7ee3ec5bb5ff4263;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java index 32d73c9b61..dacba5aefe 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java @@ -14,7 +14,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode; 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.TreeType; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.MutableTreeNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; @@ -38,10 +37,8 @@ final class UnkeyedListModificationStrategy extends SchemaAwareApplyOperation { } @Override - protected TreeNode applyMerge(final ModifiedNode modification, final TreeNode currentMeta, - final Version version) { - modification.resolveModificationType(ModificationType.WRITE); - return applyWrite(modification, Optional.of(currentMeta), version); + protected TreeNode applyMerge(final ModifiedNode modification, final TreeNode currentMeta, final Version version) { + throw new IllegalStateException("Invalid merge into unkeyed list"); } @Override @@ -127,9 +124,20 @@ final class UnkeyedListModificationStrategy extends SchemaAwareApplyOperation { } + @Override + void recursivelyVerifyStructure(NormalizedNode value) { + // NOOP + } + @Override protected void checkTouchApplicable(final YangInstanceIdentifier path, final NodeModification modification, final Optional current) throws IncorrectDataStructureException { throw new IncorrectDataStructureException(path, "Subtree modification is not allowed."); } + + @Override + void mergeIntoModifiedNode(final ModifiedNode node, final NormalizedNode value, final Version version) { + // Unkeyed lists are always replaced + node.write(value); + } }