<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:09:36 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-355]  IdentifiableItemCodec should ignore case when sorting keys</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-355</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Input parameter sequence of constructor of generated type or builder follows alphabetical and case-insensitive order, which differs with IdentifiableItemCodec expectation.&lt;/p&gt;

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

&lt;p&gt;IdentifiableItemCodec.java:&#160;&lt;/p&gt;

&lt;p&gt;(q1, q2) -&amp;gt; q1.getLocalName().compareTo*IgnoreCase*(q2.getLocalName()&lt;/p&gt;

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

&lt;p&gt;ClassTempate.xtend:&lt;/p&gt;

&lt;p&gt;Collections.sort(sorted, [p1, p2|&lt;br/&gt;
 p1.name.compareTo(p2.name)&lt;br/&gt;
 ]);&lt;/p&gt;

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

&lt;p&gt;BuilderTemplate.xtend&lt;/p&gt;

&lt;p&gt;&#171;Collections.sort(keyProps,&lt;br/&gt;
 [ p1, p2 |&lt;br/&gt;
 return p1.name.compareTo(p2.name)&lt;br/&gt;
 ])&lt;br/&gt;
 &#187;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="30173">MDSAL-355</key>
            <summary> IdentifiableItemCodec should ignore case when sorting keys</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="zhfinder">Huafei Zhang</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Jun 2018 02:31:11 +0000</created>
                <updated>Tue, 9 Oct 2018 15:37:31 +0000</updated>
                            <resolved>Tue, 9 Oct 2018 15:37:31 +0000</resolved>
                                                    <fixVersion>Fluorine SR1</fixVersion>
                    <fixVersion>Oxygen SR4</fixVersion>
                    <fixVersion>3.0.1</fixVersion>
                                    <component>Binding runtime</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="63628" author="rovarga" created="Fri, 22 Jun 2018 12:22:04 +0000"  >&lt;p&gt;Key properties names are not QName.localNames. Is there a testcase which does currently work?&lt;/p&gt;</comment>
                            <comment id="63693" author="zhfinder" created="Tue, 26 Jun 2018 08:15:05 +0000"  >&lt;p&gt;It&apos;s hard to provide an existing test case. We found this issue in our controller application. &lt;br/&gt;
 we have a list with a composite key&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;
list OspfStatLsdbBrief {
    key &lt;span class=&quot;code-quote&quot;&gt;&quot;AreaIndex LsaType LsId AdvRtr&quot;&lt;/span&gt;;
    leaf AreaIndex { type int32; description &lt;span class=&quot;code-quote&quot;&gt;&quot;Area Index&quot;&lt;/span&gt;; }
    leaf LsaType { type uint8; description &lt;span class=&quot;code-quote&quot;&gt;&quot;LSA Type&quot;&lt;/span&gt;; }
    leaf LsId { type int32; description &lt;span class=&quot;code-quote&quot;&gt;&quot;LSA ID&quot;&lt;/span&gt;; }
    leaf AdvRtr { type string; description &lt;span class=&quot;code-quote&quot;&gt;&quot;Advertised Router&quot;&lt;/span&gt;; }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;when decode a list entry accessing YangInstanceIdentifier by calling method &quot;InstanceIdentifier&amp;lt;?&amp;gt; fromYangInstanceIdentifier(@Nonnull YangInstanceIdentifier dom)&quot; of service&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;lt;reference id=&quot;mappingCodec&quot;&lt;br/&gt;
 interface=&quot;org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer&quot;/&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;an java.lang.ClassCastException thrown:&lt;/p&gt;

&lt;p&gt;----------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.Short&lt;br/&gt;
 at java.lang.invoke.MethodHandleImpl.newClassCastException(MethodHandleImpl.java:361)&lt;br/&gt;
 at java.lang.invoke.MethodHandleImpl.castReference(MethodHandleImpl.java:356)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:100)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:30)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.getBindingPathArgument(KeyedListNodeCodecContext.java:73)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:169)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:36)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:19)&lt;br/&gt;
 at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.fromYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:92)&lt;br/&gt;
 at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.fromYangInstanceIdentifier(BindingToNormalizedNodeCodec.java:171)&lt;br/&gt;
 at Proxy995bc85b_803c_4f1a_9934_7430940d1b66.fromYangInstanceIdentifier(Unknown Source)&lt;br/&gt;
 at com.utstar.qx.sal.connect.qx.util.QxBaseOps.get(QxBaseOps.java:166)&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;---------------------------------------------------------------------------------------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;This is because the constructor parameter from instance identifier is injected with wrong order.&lt;/p&gt;

&lt;p&gt;Fixing code of either xxtemplate.xtend or IdentifiableItemCodec will work.&lt;/p&gt;</comment>
                            <comment id="65210" author="rovarga" created="Thu, 4 Oct 2018 14:46:22 +0000"  >&lt;p&gt;I see &#8211; the problem is that &quot;LsId&quot; and &quot;LsaType&quot; compare differently. This usually does not happen, as standard models usually end up using capitalization from the use of dashes, which is what the comparison was designed to overcome. Alas the shortcut does not work, as we really need to enlist binding-generator types and use them to establish the order arguments.&lt;/p&gt;</comment>
                            <comment id="65211" author="rovarga" created="Thu, 4 Oct 2018 15:22:34 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=zhfinder&quot; class=&quot;user-hover&quot; rel=&quot;zhfinder&quot;&gt;zhfinder&lt;/a&gt; does &lt;a href=&quot;https://git.opendaylight.org/gerrit/76650&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/76650&lt;/a&gt; fix the issue for you?&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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03ftj:</customfieldvalue>

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