<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10:41 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[MDSAL-713] Do not use CopyableNode.isAugmenting()</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-713</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;CopyableNode is on its way out, yet we are using it in a few places related to codegen and binding runtime.&lt;/p&gt;

&lt;p&gt;Audit the users and replace use of this method with something reasonable.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35030">MDSAL-713</key>
            <summary>Do not use CopyableNode.isAugmenting()</summary>
                <type id="10101" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10318&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10001" iconUrl="https://jira.opendaylight.org/" description="">In Review</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="SamoSchneider">Samuel Schneider</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Dec 2021 12:46:33 +0000</created>
                <updated>Thu, 7 Sep 2023 11:59:56 +0000</updated>
                                                                            <component>Binding codegen</component>
                    <component>Binding runtime</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72226" author="JIRAUSER15508" created="Wed, 31 May 2023 07:53:51 +0000"  >&lt;p&gt;&lt;b&gt;choice&lt;/b&gt; statements:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;when augmenting choice with extra &lt;b&gt;case&lt;/b&gt;s there seems to be faulty behavior when using &lt;em&gt;shorthand case&lt;/em&gt; (&lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7950#section-7.9.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://datatracker.ietf.org/doc/html/rfc7950#section-7.9.2&lt;/a&gt;)&lt;/li&gt;
	&lt;li&gt;example with yang files:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;##1. &lt;b&gt;case.yang&lt;/b&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-json&quot;&gt;
...
      container locks {
          choice lock-type {
              &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; partial-lock {
                  list partial-lock {
                      key lock-id;
                      leaf lock-id {
                          type uint32;
                      }
                      leaf-list select {
                          type string;
                          min-elements 1;
                      }
                      leaf-list locked-node {
                          type string;
                      }
                  }
              }
          }
      }
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;##2. &lt;b&gt;augment-case.yang&lt;/b&gt;&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-json&quot;&gt;
...
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; { prefix cc; }

augment &lt;span class=&quot;code-quote&quot;&gt;&quot;cc:locks/cc:lock-type&quot;&lt;/span&gt; {
    &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; autonomous-lock {
        container autonomous-def {
            leaf lock-id {
                type int32;
            }
            leaf lock-time {
                type uint32;
            }
        }
    }
    &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; anonymous-lock {
        leaf lock-time {
            type uint32;
        }
    }
    leaf leaf-aug-&lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; {
        type string;
    }
}
...
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &lt;em&gt;EffectiveStatement&lt;/em&gt; s in the &lt;b&gt;case&lt;/b&gt; module, that were introduced via augmentation in the &lt;b&gt;augment-case&lt;/b&gt; module are being reported as &lt;b&gt;isAugmenting() == true&lt;/b&gt; (expected behaviour). Also, the leafs that are within those &lt;em&gt;case&lt;/em&gt; statements are &lt;b&gt;isAugmenting() == true&lt;/b&gt;, except for one. Although the &lt;em&gt;shorthand case&lt;/em&gt; (not explicitly written in the yang file) is &lt;b&gt;isAugmenting() == true&lt;/b&gt;, its child (leaf: &lt;em&gt;leaf-aug-case&lt;/em&gt;) reports &lt;b&gt;isAugmenting() == false&lt;/b&gt;&lt;/p&gt;</comment>
                            <comment id="72235" author="rovarga" created="Mon, 5 Jun 2023 16:50:01 +0000"  >&lt;p&gt;Seems legit, can you create a minimal reproducer unit test in yangtools&apos; yang-parser-rfc7950, please?&lt;/p&gt;</comment>
                            <comment id="72236" author="JIRAUSER15508" created="Tue, 6 Jun 2023 08:50:41 +0000"  >&lt;p&gt;Test, reproducing this behavior, created and available here: &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/yangtools/+/106388&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/c/yangtools/+/106388&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>YANGTOOLS-1348</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0410v:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>