BUG-2399: Implement automatic container removal 30/17030/26
authorJan Hajnar <jhajnar@cisco.com>
Wed, 20 May 2015 09:47:30 +0000 (11:47 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 28 Oct 2015 15:04:20 +0000 (15:04 +0000)
commit2b948733443f6f540d7e1f32355fc00462c995ed
tree1b079725161eeaa9e50fab9ac5f36a6cf3da263b
parenta0009aaee1803d25d740cd5539797c8724680ba7
BUG-2399: Implement automatic container removal

Structural containers all all container nodes which do not contain a
presence statement. RFC6020 specifies that structural containers have no
semantic meaning aside from being containment nodes for their children
and therefore can be created when a child would appear and should
disappear when they lose their last child.

Containers which should not be subject to this lifecycle need to be
marked with a 'presence' statement, which attaches semantic meaning
to their presence.

Change-Id: Icb69c959a27726b549f563b84b52727592b67cb1
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DataTreeState.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTree.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/PresenceContainerModificationStrategy.java [moved from yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ContainerModificationStrategy.java with 83% similarity]
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 [new file with mode: 0644]
yang/yang-data-impl/src/test/resources/list-constraints-validation-test-model.yang
yang/yang-data-impl/src/test/resources/odl-datastore-test.yang
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java