<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:53:44 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>[YANGTOOLS-603] Yang parser overwrites all multiple substatements with equal argument by the last one</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-603</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;StatementContextBase.substatementBuilder(line 324) overwrites all multiple substatements with equal argument by the last one.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23023">YANGTOOLS-603</key>
            <summary>Yang parser overwrites all multiple substatements with equal argument by the last one</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="pkajsa">Peter Kajsa</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Apr 2016 09:30:49 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:46 +0000</updated>
                            <resolved>Fri, 18 Nov 2016 10:18:37 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="43858" author="suvitha.balu@tcs.com" created="Thu, 19 May 2016 10:42:23 +0000"  >&lt;p&gt;(In reply to Peter Kajsa from comment #0)&lt;br/&gt;
&amp;gt; StatementContextBase.substatementBuilder(line 324) overwrites all multiple&lt;br/&gt;
&amp;gt; substatements with equal argument by the last one.&lt;/p&gt;

&lt;p&gt;Hi,&lt;br/&gt;
I am planning to work on this bug, could you please provide me more info.&lt;/p&gt;</comment>
                            <comment id="43859" author="pkajsa" created="Fri, 20 May 2016 13:41:30 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;if a statement contains multiple substatements which have equal arguments, the previous are overwritten by the last one.&lt;/p&gt;

&lt;p&gt;For an example, see bug &lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=5396&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=5396&lt;/a&gt; &lt;br/&gt;
where in&lt;br/&gt;
    typedef my-type {&lt;br/&gt;
        type union {&lt;br/&gt;
            type string &lt;/p&gt;
{
                pattern &quot;dp[0-9]+o[0-9]+&quot;;
            }
&lt;p&gt;            type string &lt;/p&gt;
{
                pattern &quot;dp[0-9]+s[0-9]+(f[0-9]+)?(d[0-9]+)?&quot;;
            }
&lt;p&gt;            type string {&lt;br/&gt;
                pattern &quot;dp&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;&lt;ins&gt;(P&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;&lt;/ins&gt;)?p&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;&lt;/p&gt;
{1,3}s&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;{1,3}
&lt;p&gt;(f&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;&lt;ins&gt;)?(d&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9&amp;#93;&lt;/span&gt;&lt;/ins&gt;)?&quot;;&lt;br/&gt;
            }&lt;br/&gt;
            type string &lt;/p&gt;
{
                pattern &quot;dp[0-9]+p[0-9]+p[0-9]+&quot;;
            }&lt;br/&gt;
        }&lt;br/&gt;
    }&lt;br/&gt;
&lt;br/&gt;
the previous &quot;type string&quot; statements are overwritten by the last one:&lt;br/&gt;
type string {                pattern &quot;dp[0-9]+p[0-9]+p[0-9]+&quot;;            }

&lt;p&gt;The same issue occurs also by multiple augment, refine, deviation,..?? statements.&lt;/p&gt;

&lt;p&gt;These issues have been fixed by some hotfixes recently, but the root cause of the issue still persists. It is necessary to fix StatementContextBase.substatementBuilder in order to handle potential substatements in another way (for an example: track also the order of substatements and then check substatetement name, argument and also the substatement order).&lt;/p&gt;</comment>
                            <comment id="43860" author="rovarga" created="Wed, 19 Oct 2016 09:42:28 +0000"  >&lt;p&gt;This boils down to statements being in two classes:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;attribute statements, which just add attributes to their enclosing entity&lt;/li&gt;
	&lt;li&gt;entity statements, which define an entity&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The first type does not need an identifier, the second one does.&lt;/p&gt;</comment>
                            <comment id="43861" author="rovarga" created="Fri, 11 Nov 2016 02:28:58 +0000"  >&lt;p&gt;First step: eliminate substatement(), as it does not need to be visible: &lt;a href=&quot;https://git.opendaylight.org/gerrit/48205&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/48205&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43862" author="rovarga" created="Fri, 11 Nov 2016 13:37:52 +0000"  >&lt;p&gt;second step: use an integer to identify statements: &lt;a href=&quot;https://git.opendaylight.org/gerrit/48241&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/48241&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="23048">YANGTOOLS-628</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="23135">YANGTOOLS-715</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5717</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=5717]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10357"><![CDATA[Carbon-M3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0288v:</customfieldvalue>

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