[YANGTOOLS-1403] Integrate EffectiveAugmentationSchema into AugmentationSchemaNode/AugmentEffectiveStatement} Created: 01/Mar/22 Updated: 21/Jun/23 Resolved: 21/Jun/23 |
|
| Status: | Resolved |
| Project: | yangtools |
| Component/s: | data-util, model-api, parser |
| Affects Version/s: | None |
| Fix Version/s: | 11.0.0 |
| Type: | Improvement | Priority: | High |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Description |
|
As part of initial NormalizedNode integration and then when we fixed The problem is that AugmentationSchemaNode.getChildren() reflects its child statements as declared in source, without taking into account further augmentations at target instantiation site. We have solved this with AugmentationSchemaProxy and then supplanted it with EffectiveAugmentationSchema. The differences are rather under-documented and at its core demonstrates there is a significant 'point of view' difference as to what it 'effective children' means:
Introduce an additional methods to expose the equivalent of EffectiveAugmentationSchema from both AugmentationSchemaNode and AugmentEffectiveStatement interface AugmentEffectiveStatement { // schema/data tree children reflect getDeclared().declaredSubstatements() @NonNull AugmentEffectiveStatement withDeclaredSchemaTree(); // schema/data tree children reflect their augmentations at target site @NonNull AugmentEffectiveStatement withTargetSchemaTree(); } which will allow users to flip between the two views. |
| Comments |
| Comment by Robert Varga [ 21/Jun/23 ] |
|
With AugmentationNode gone from yang-data-api, there is very little incentive to actually provide this view, as there really are no more users left. EffectiveAugmentationSchema ends up being deprecated for removal. |