<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:40 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-918] Reconsider design of yang.common.Revision</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-918</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Current design of QNameModule returning Optional&amp;lt;Revision&amp;gt; may be sub-optimal as evidenced in &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-1871&quot; title=&quot;Excessive Optional.ofNullable() from QName/QNameModule.getRevision() from NormalizedNodeOutputStreamWriter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-1871&quot;&gt;&lt;del&gt;CONTROLLER-1871&lt;/del&gt;&lt;/a&gt; and the fact we need Revision.compare(Optional, Optional) and its nullable counterpart.&lt;/p&gt;

&lt;p&gt;Reconsider the design such that there are two subclasses of Revision, present and missing, and think about how users can access the underlying string: it is very usual for users to do&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;
QNameModule.getRevision().map(Revision::toString).orElse(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;or&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;
QNameModule.getRevision().map(Revision::toString).orElse(&quot;&quot;)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;We could perhaps cater to these with a&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;
&lt;span class=&quot;code-keyword&quot;&gt;class &lt;/span&gt;QNameModule {
  Optional&amp;lt;&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;&amp;gt; getRevisionString() {
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; revision == &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; ? Optional.empty() : Optional.of(revision.toString());
  }

  @Nullable &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; revisionString() {
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; revision == &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; ? &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; : revision.toString();
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and then reflect these perhaps in QName as well.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31058">YANGTOOLS-918</key>
            <summary>Reconsider design of yang.common.Revision</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</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>
                            <label>pt</label>
                    </labels>
                <created>Thu, 15 Nov 2018 10:23:53 +0000</created>
                <updated>Fri, 5 Jan 2024 16:28:39 +0000</updated>
                            <resolved>Fri, 5 Jan 2024 16:28:39 +0000</resolved>
                                                    <fixVersion>12.0.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <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|i03knr:</customfieldvalue>

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