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

  • we have NormalizedData, which does not imply PathArgument
  • we have NormalizedNode, which implies PathArgument and is a tree
  • we have NormalizedMountData, which is attached to a NormalizedNodeResult

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.

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