<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:09:33 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-332] Class name conflict if identity and grouping share the same name in one package</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-332</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;As an example ietf-routing model (&lt;a href=&quot;https://tools.ietf.org/html/rfc8349#page-16)&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc8349#page-16)&lt;/a&gt;&#160;contains address-family as an Identity and also as grouping. This leads to two classes with the same name in one package to be generated. This then causes naming conflicts for these classes during build.&lt;/p&gt;</description>
                <environment></environment>
        <key id="29602">MDSAL-332</key>
            <summary>Class name conflict if identity and grouping share the same name in one package</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <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="mcmarada">Michal Cmarada</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Apr 2018 08:49:10 +0000</created>
                <updated>Fri, 27 Jul 2018 10:59:41 +0000</updated>
                            <resolved>Fri, 27 Jul 2018 10:59:41 +0000</resolved>
                                                    <fixVersion>Fluorine</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="62365" author="jiehan2017" created="Thu, 12 Apr 2018 07:47:16 +0000"  >&lt;p&gt;This should properly be supported by introducing identifier namespace in binding v2 as well as &apos;action&apos; statement.&lt;/p&gt;</comment>
                            <comment id="63360" author="mgradzki@cisco.com" created="Fri, 8 Jun 2018 05:21:39 +0000"  >&lt;p&gt;Is it possible to fix it in binding v1?&lt;/p&gt;</comment>
                            <comment id="63361" author="rovarga" created="Fri, 8 Jun 2018 09:31:39 +0000"  >&lt;p&gt;It may be possible, but that requires some analysis. What is the error reported in Fluorine?&lt;/p&gt;</comment>
                            <comment id="63420" author="mgradzki@cisco.com" created="Wed, 13 Jun 2018 11:33:08 +0000"  >&lt;p&gt;Michal: were you able to reproduce the issue using Fluorine?&lt;/p&gt;</comment>
                            <comment id="63436" author="mcmarada" created="Thu, 14 Jun 2018 07:13:35 +0000"  >&lt;p&gt;Using Fluorine the model builds, it just fails in Oxygen.&lt;/p&gt;

&lt;p&gt;I used these patches to test it:&lt;br/&gt;
Oxygen: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/72983/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/72983/&lt;/a&gt;&lt;br/&gt;
Fluorine: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/72984/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/72984/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;error output from build in attachement&lt;/p&gt;</comment>
                            <comment id="63471" author="rovarga" created="Mon, 18 Jun 2018 09:19:58 +0000"  >&lt;p&gt;Right, but the fact it compiles is actually wrong, as we are ending up with overwritten files and completely wrong type hierarchy:&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-java&quot;&gt;
[WARNING] Naming conflict &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; type &lt;span class=&quot;code-quote&quot;&gt;&apos;org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.test.module.rev180614.AddressFamily&apos;&lt;/span&gt;: file with same name already exists and will not be generated.

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="63473" author="rovarga" created="Mon, 18 Jun 2018 10:16:03 +0000"  >&lt;p&gt;So yes, this is fixable, but it requires rather extensive work:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;mdsal-binding-generator-impl needs to perform two-phase name assignment to detect the conflict&lt;/li&gt;
	&lt;li&gt;a conflict-free naming scheme for use when a conflict occurs needs to be designed and implemented&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="64292" author="rovarga" created="Thu, 26 Jul 2018 22:53:24 +0000"  >&lt;p&gt;Conflicts will be resolved as follows:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;identities get a $I suffix&lt;/li&gt;
	&lt;li&gt;groupings get a $G suffix&lt;/li&gt;
	&lt;li&gt;typedefs get a $T suffix&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;For now we will treat a conflict as an error path, recording what needs to be remapped and retrying the entire mapping attempt.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="30142">MDSAL-350</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="14698" name="test-error.txt" size="2001" author="mcmarada" created="Thu, 14 Jun 2018 07:13:21 +0000"/>
                    </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03crr:</customfieldvalue>

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