[YANGTOOLS-1172] Integrate rfc8528-data-api into yang-data-api Created: 13/Nov/20 Updated: 17/May/23 Resolved: 17/May/23 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | data-api, data-impl |
| Affects Version/s: | None |
| Fix Version/s: | 11.0.0 |
| Type: | New Feature | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | pt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Epic Link: | Redesign NormalizedNode |
| Description |
|
Mountpoints are an inherent design part of NormalizedNode API, as it expresses a special case in terms of a ForeignDataNode. As such, mountpoints form a separate tree, similar to metadata. This needs to be expressed in NormalizedNodeResult class hierarchy. As such, MountPointNode needs to be renamed, as it is not a NormalizedNode, but rather:
Note that NormalizedMountData has an identifier, and that identifier has a QName, but it is not a NodeIdentifier. This implies we need to separate NormalizedNodeContainer from NormalizedNode – as the latter implies PathArgument. This will also pave the way for dealing with rc:data, which is NormalizedNodeContainer, but its identifier is a raw string (and therefore is not a NormalizedNode, but a top-level construct as the one introduced in this issue). |
| Comments |
| Comment by Robert Varga [ 01/Dec/21 ] |
|
MountPointNode currently has a codec-only view of what a mount point looks like. Most notably it contains a reference to EffectiveModelContext, which is something that kinda works, but breaks down if we hit binary serialization – i.e. yang-data-codec-binfmt. Also the interaction with DataTree is underfined. Both of these need to have a solid story before we integrate the concept. Note that binfmt also has a slight gap in various anyxml/anydata representations, so we probably want to tackle all three at the same time. |
| Comment by Robert Varga [ 11/Jan/23 ] |
|
The codec-only aspect is going to be solved by NormalizedNodeResult integration – making this a concept that needs outside integration. |