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

Add support for RFC7950 Errata 5617 leafrefs

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • 4.0.4, 3.0.8
    • None
    • None

    Description

      Observed in MDSAL-423, when a leafref contains a function invocation:

      leaf flavor {
        type leafref {
          path "deref(../../../ext-cpd/int-virtual-link-desc)/../desc-flavor/id";
        }
      }
      

      we end up splitting the path, but not account for the call correctly, leading to:

      java.lang.IllegalArgumentException: Parameter 'localName':'int-virtual-link-desc)' contains illegal character ')'
          at org.opendaylight.yangtools.yang.common.QName.checkLocalName (QName.java:101)
          at org.opendaylight.yangtools.yang.common.QName.create (QName.java:139)
          at org.opendaylight.yangtools.yang.common.QName.create (QName.java:165)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.stringPathPartToQName (SchemaContextUtil.java:596)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.lambda$resolveRelativeXPath$2 (SchemaContextUtil.java:674)
          at com.google.common.collect.Iterators$6.transform (Iterators.java:785)
          at com.google.common.collect.TransformedIterator.next (TransformedIterator.java:47)
          at com.google.common.collect.Iterators$ConcatenatedIterator.next (Iterators.java:1363)
          at com.google.common.collect.Iterables$6$1.next (Iterables.java:882)
          at com.google.common.collect.Iterables$6$1.next (Iterables.java:882)
          at com.google.common.collect.Iterables$6$1.next (Iterables.java:882)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeIn (SchemaContextUtil.java:397)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeIn (SchemaContextUtil.java:408)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeIn (SchemaContextUtil.java:408)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeInModule (SchemaContextUtil.java:362)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeInSchemaContext (SchemaContextUtil.java:267)
          at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findDataSchemaNodeForRelativeXPath (SchemaContextUtil.java:226)
          at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref (AbstractTypeProvider.java:521)
          at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef (AbstractTypeProvider.java:300)
          at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType (AbstractTypeProvider.java:194)
      

      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: