Fix leafref require-instance implementation 15/70215/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 29 Mar 2018 21:59:34 +0000 (23:59 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 1 Apr 2018 00:24:51 +0000 (02:24 +0200)
commit6830403416be9c96da96b33451a38d8d68e14ba2
tree72d2149c206479f6587eda1fda793e738fbfa344
parent1db9c9e54a79d159d731890b7c4d8ef371cac66e
Fix leafref require-instance implementation

Both identityref and leafref types default to require-instace=true,
hence we should be starting with that and also properly inherit
the property from the parent type.

Add RequireInstanceRestrictedTypeDefinition to capture the common
method and adjust RequireInstanceRestrictedTypeBuilder to check
for it and initialize the require-instance value appropriately.

JIRA: YANGTOOLS-872
Change-Id: I125d5687950af21694c4510ce64adb00f92ae4e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 38ca7ba1b5222af644f0e782f2876db9e9a58f05)
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/InstanceIdentifierTypeDefinition.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/LeafrefTypeDefinition.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/RequireInstanceRestrictedTypeDefinition.java [new file with mode: 0644]
yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref@1970-01-01.yin
yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RequireInstanceRestrictedTypeBuilder.java
yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/LeafrefTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/LeafrefStatementTest.java