<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10:05 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-550] Consider further specializing AugmentableCodecDataObject</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-550</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Keyed lists end up being implemented with a combination of AugmentableCodecDataObject and interface-specific implementation of Identifiable.key(), which routes back to CodecDataObject.codecKey().&lt;/p&gt;

&lt;p&gt;As a keyed list is always augmentable, it would probably end up being advantageous to have another base class specialization, which would provide the implementation of key, i.e.:&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;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; IdenfiableAugmentableCodecDataObject&amp;lt;I &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Identifier&amp;lt;T&amp;gt;, T &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; DataObject &amp;amp; Augmentable&amp;lt;T&amp;gt; &amp;amp; Identifiable&amp;lt;I&amp;gt;&amp;gt;
        &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; AugmentableCodecDataObject&amp;lt;T&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; Identifiable&amp;lt;I&amp;gt; {

    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; VarHandle CACHED_KEY;

    &lt;span class=&quot;code-keyword&quot;&gt;static&lt;/span&gt; {
        &lt;span class=&quot;code-keyword&quot;&gt;try&lt;/span&gt; {
            CACHED_KEY = MethodHandles.lookup().findVarHandle(IdenfiableAugmentableCodecDataObject.class,
                &lt;span class=&quot;code-quote&quot;&gt;&quot;cachedKey&quot;&lt;/span&gt;, Identifier.class);
        } &lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt; (ReflectiveOperationException e) {
            &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ExceptionInInitializerError(e);
        }
    }

    &lt;span class=&quot;code-comment&quot;&gt;// Used via VarHandle
&lt;/span&gt;    @SuppressWarnings(&lt;span class=&quot;code-quote&quot;&gt;&quot;unused&quot;&lt;/span&gt;)
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;volatile&lt;/span&gt; I cachedKey;

    @Override
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; I key() {
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; (I) codecKey(CACHED_KEY);
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Hence we end up generating a bit less code, as well as make the class layout a bit more normalized. The number of implementations of Identifiable.key() should also go down (as low as two with &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-549&quot; title=&quot;Consider further specializing AbstractAugmentable&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-549&quot;&gt;MDSAL-549&lt;/a&gt;), potentially helping JIT.&lt;/p&gt;</description>
                <environment></environment>
        <key id="32635">MDSAL-550</key>
            <summary>Consider further specializing AugmentableCodecDataObject</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="1" iconUrl="https://jira.opendaylight.org/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 May 2020 13:41:32 +0000</created>
                <updated>Tue, 1 Feb 2022 19:06:02 +0000</updated>
                                                                            <component>Binding runtime</component>
                        <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|i03sbb:</customfieldvalue>

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