<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:08:26 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-17] Simplify InstanceIdentifer creation</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-17</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Creating instance identifiers to identify particular nodes has proved cumbersome enough that most projects which have to create an instance identifier end up using helper classes.&lt;/p&gt;

&lt;p&gt;We should look at ways to simplify the instance ID creation, possibly by providing helper or utilities.&lt;/p&gt;

&lt;p&gt;Suggestion: Start by looking at the helper classes that have been created and consider consolidating them.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="26839">MDSAL-17</key>
            <summary>Simplify InstanceIdentifer creation</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                                <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="JieHan2017">Jie Han</assignee>
                                    <reporter username="devin.avery@brocade.com">Devin Avery</reporter>
                        <labels>
                    </labels>
                <created>Wed, 28 May 2014 14:16:25 +0000</created>
                <updated>Thu, 13 Sep 2018 02:44:57 +0000</updated>
                            <resolved>Thu, 13 Sep 2018 02:44:57 +0000</resolved>
                                                                    <component>Binding V2 codegen</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="53940" author="tony.tkacik@gmail.com" created="Tue, 15 Jul 2014 11:08:34 +0000"  >&lt;p&gt;Instance IDentifier provides utilities&lt;br/&gt;
such as&lt;br/&gt;
create().&lt;/p&gt;

&lt;p&gt;Instance Identifier allows for fluent APIs and creating child identifiers from parent ones:&lt;br/&gt;
NODE_ID =  InstanceIdentifier.create(Nodes.class).child(Node.class,new NodeKey(&quot;foo&quot;));&lt;br/&gt;
AUG_ID = NODE_ID.augmentation(NodeAugmentation.class);&lt;/p&gt;</comment>
                            <comment id="53941" author="tpantelis" created="Wed, 30 Jul 2014 16:45:55 +0000"  >&lt;p&gt;I don&apos;t think Devin is referring to the InstanceIdentifier API but figuring out how to build correct a IID from a yang data model, i.e. what generated classes to use and how to stitch them together.&lt;/p&gt;

&lt;p&gt;One thing is to eliminate the need for explicitly specifying augmentation, Eg instead of:&lt;/p&gt;

&lt;p&gt;   InstanceIdentifier.create(Nodes.class)&lt;br/&gt;
                     .child(Node.class,new NodeKey(&quot;foo&quot;))&lt;br/&gt;
                     .augmentation(NodeAugmentation.class);&lt;/p&gt;

&lt;p&gt;possibly:&lt;/p&gt;

&lt;p&gt;   InstanceIdentifier.create(Nodes.class)&lt;br/&gt;
                     .child(NodeAugmentation.class,new NodeKey(&quot;foo&quot;));&lt;/p&gt;

&lt;p&gt;The API could implicitly figure out that NodeAugmentation augments Node.&lt;/p&gt;

&lt;p&gt;It would be really cool if the generated code had a static getInstanceIdentifier() method. So one could simply call NodeAugmentation.getInstanceIdentifier(NodeKey nodeKey) and let that build it for you.&lt;/p&gt;

&lt;p&gt;At the very least, we could add helper classes for the common boilerplate stuff, eg NodeInstanceIdentifier.create(NodeKey nodeKey).&lt;/p&gt;</comment>
                            <comment id="53942" author="rovarga" created="Fri, 13 Nov 2015 13:23:31 +0000"  >&lt;p&gt;Move to MD-SAL, as it requires support from the binding spec.&lt;/p&gt;</comment>
                            <comment id="60927" author="jiehan2017" created="Mon, 5 Feb 2018 06:56:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/67909&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/67909&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/67910&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/67910&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="63809" author="rovarga" created="Thu, 28 Jun 2018 23:50:45 +0000"  >&lt;p&gt;Problem here is that we really need that Node.class, which means we need to reflect/cache NodeAugmentation.class shape, so we know to derive the type from &apos;implements Augmentation&amp;lt;Node&amp;gt;. That is doable.&lt;/p&gt;

&lt;p&gt;Getting getInstanceIdentifier() ... I am not sure that&apos;s possible with the current state of affairs &#8211; I am afraid all we can do is getPathArgument(NodeKey) due to groupings and nested lists, but the problem is that:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;it bloats codegen classes&lt;/li&gt;
	&lt;li&gt;it does not really save that much code&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="27059">MDSAL-237</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="29155">MDSAL-308</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1095</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=1095]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10308"><![CDATA[New Feature]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10304"><![CDATA[Low]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02vsv:</customfieldvalue>

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