[MDSAL-304] Binding V2 maps identities to java.lang.Class Created: 31/Jan/18  Updated: 07/Mar/18  Resolved: 07/Mar/18

Status: Resolved
Project: mdsal
Component/s: Binding V2 codegen, Binding V2 runtime
Affects Version/s: Nitrogen SR1
Fix Version/s: Fluorine

Type: Bug Priority: Highest
Reporter: Robert Varga Assignee: Unassigned
Resolution: Done Votes: 0
Labels: preview-breakage, yang-1.1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by MDSAL-253 BindingToNormalizedNodeCodec fails to... Resolved
is blocked by MDSAL-269 Error occurs when mdsal binding v1 co... Resolved

 Description   

Binding Specification V2 retails the same mapping of identities as V1. This is wrong, as it is inherently incompatible with YANG 1.1.

Java classes provide only single inheritance, but YANG 1.1 allows identities to have multiple bases – which is not possible to realize with Class<?>.

One way out is to make BaseIdentity an interface, which can be multiply-inherited, but that does not solve the typedef problem, which we lost track of, but became evident in MDSAL-269.



 Comments   
Comment by Robert Varga [ 31/Jan/18 ]

Changes to binding V1 TypeProviderImpl need to be ported first to provide a proper baseline.

Comment by Jie Han [ 27/Feb/18 ]

Binding v2, just make BaseIndetity an interface and be multiply-inherited:
https://git.opendaylight.org/gerrit/68791
BTW: what's the typedef problem to do with this change?

Generated at Wed Feb 07 20:09:28 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.