[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: |
|
||||||||||||
| 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 |
| 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: |