<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:55:14 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-1117] Redefine TypeStatement in terms of QName</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1117</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;TypeStatement currently takes String argument, which is not entirely accurate, as it does not provide type expansion required for lookup.&lt;/p&gt;

&lt;p&gt;This leads to SourceExceptions during building of effective statement rather than a failure to parse the argument when the statement is being defined.&lt;/p&gt;

&lt;p&gt;Fix the definition of TypeStatement and TypeEffectiveStatement so that these take a QName argument.&lt;/p&gt;

&lt;p&gt;This leads to the question of which QNameModule should built-in types resolve &#8211; and that should be &quot;urn:ietf:params:xml:ns:yang:1&quot;, as defined in org.opendaylight.yangtools.yang.model.util.BaseTypes. During unprefixed parsing, hence AbstractTypeStatementSupport needs to account for this manually.&lt;/p&gt;</description>
                <environment></environment>
        <key id="32917">YANGTOOLS-1117</key>
            <summary>Redefine TypeStatement in terms of QName</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Jul 2020 17:09:58 +0000</created>
                <updated>Fri, 26 Feb 2021 07:02:27 +0000</updated>
                            <resolved>Fri, 26 Feb 2021 07:02:27 +0000</resolved>
                                                    <fixVersion>7.0.0</fixVersion>
                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="68946" author="rovarga" created="Fri, 29 Jan 2021 09:17:34 +0000"  >&lt;p&gt;This won&apos;t work due to polymorphic nature of TypeDefinitions. These two blocks result in different QNames:&lt;/p&gt;

&lt;p&gt;&#160;&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;
leaf foo {
&#160; type string;
}
&#160;
leaf bar {
  type string {
&#160;&#160;&#160; pattern &lt;span class=&quot;code-quote&quot;&gt;&quot;a.c&quot;&lt;/span&gt;;
&#160; }
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In the first case it resolves to a built-in type, hence it will be have the YANG namespace. In the second case it resolves to a restricted type and it will have the module&apos;s namespace.&lt;/p&gt;

&lt;p&gt;We can consider using AbstractQName and its QualifiedQName/UnqualifiedQName &#8211; but it does not seem to be worth the hassle.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="69006" author="rovarga" created="Thu, 25 Feb 2021 18:56:21 +0000"  >&lt;p&gt;Actually this conflating two separate issues:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&apos;type&apos; statement&apos;s QName&lt;/li&gt;
	&lt;li&gt;its TypeDefinition QName&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;We need to keep them separate, as the attempts to fuse them via TypeDefinition.copy() effort elsewhere. This issue just needs the QName definition as per description.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="33844">YANGTOOLS-1262</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03tfr:</customfieldvalue>

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