Enforce case uniqueness 12/28712/14
authorRobert Varga <rovarga@cisco.com>
Thu, 22 Oct 2015 20:41:47 +0000 (22:41 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 7 Jan 2016 09:33:29 +0000 (09:33 +0000)
commit401382e6bb243710d0a93bd7210161ea5994c101
tree3db19529b8a6464741c0d90620aa7204baf7bd7f
parent5ed67b08210c4c092cc6502748a2615d5e0a6970
Enforce case uniqueness

Validate case leaf exclusion. RFC6020 requires that at most once case
inside a choice is present at any time. This means we must not allow
leaves which belong to different case statements exist at the same point
in time.

Change-Id: If8235ffc4aff87fd96d5071158b7e794ef8c3c5e
Signed-off-by: Robert Varga <rovarga@cisco.com>
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/CaseEnforcer.java [new file with mode: 0644]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/CaseExclusionTest.java [new file with mode: 0644]
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConfigStatementValidationTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RetestModel.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Retest_ConfigStatementValidationTest.java
yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/TestModel.java
yang/yang-data-impl/src/test/resources/case-exclusion-test.yang [new file with mode: 0644]