BUG-4684: validate changes against effective state 75/33475/1
authorRobert Varga <robert.varga@pantheon.sk>
Tue, 19 Jan 2016 20:50:35 +0000 (21:50 +0100)
committerTony Tkacik <ttkacik@cisco.com>
Mon, 25 Jan 2016 12:21:57 +0000 (12:21 +0000)
commite55154f0d2e8208ce1356ddbad281df343f3a508
tree5fbb5c6bfab78f2877e2da8fb75f4aa6af5ee2a2
parentf397c65a67e76abe9615a5d2152c381566a27414
BUG-4684: validate changes against effective state

In order to deal with merges, we would have to concoct a very fragile
machinery, which would perform the equivalent of apply(), except it
would not produce merged data.

Instead of that let us pass down version, which is all we need to run
the apply operation. Once applied, we will have a preliminary result of
apply, which we can reuse under some circumstances -- which is if the
observed current metadata node does not change and if the SchemaContext
(and hence the associated SchemaAwareApplyOperation object) does not
change.

If either does, we re-calculate the result -- but that may not be
accurate at this point.

Change-Id: I145969e47136b324c07868bd00ded0764ef634f4
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
Signed-off-by: Filip.Gregor <fgregor@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValueNodeModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RootModificationApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java