Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-1403

Integrate EffectiveAugmentationSchema into AugmentationSchemaNode/AugmentEffectiveStatement}

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • High
    • Resolution: Won't Do
    • None
    • 11.0.0
    • data-util, model-api, parser
    • None

    Description

      As part of initial NormalizedNode integration and then when we fixed CONTROLLER-1176, we have noted an omission on yang.model.api projection.

      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:

      • in binding, we need to see how augment children were effectively declared
      • in yang.model.api, we would like to project them as replicas of how those statements look at instantiation site
      • in yang.data.api we care about the former due to AugmentationNode, which is a leak (through the datastore operations logic) from binding and we aim to remove this with YANGTOOLS-568

      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.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              rovarga Robert Varga
              rovarga Robert Varga
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: