<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:09:47 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-426] Specialize relative leafref types during instantiation</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-426</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-182&quot; title=&quot;Java binding v1: leafref up two containers not found if from grouping&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-182&quot;&gt;&lt;del&gt;MDSAL-182&lt;/del&gt;&lt;/a&gt; uncovers a case where a grouping definition cannot fully resolve the type of a leaf. The solution is to fall back to java.lang.Object.&lt;/p&gt;

&lt;p&gt;This solution needs to be further improved, as in some cases we can determine what the type is, for example in:&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;
&#160;&#160;&#160; grouping foo {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; leaf foo {
            &lt;span class=&quot;code-comment&quot;&gt;// java.lang.&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; type leafref {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; path &lt;span class=&quot;code-quote&quot;&gt;&quot;../../bar&quot;&lt;/span&gt;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&#160;&#160;&#160; }

&#160;&#160;&#160; container one {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; leaf bar {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; type string;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
        &lt;span class=&quot;code-comment&quot;&gt;// leaf foo is java.lang.&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; uses foo;
&#160;&#160;&#160; }

&#160;&#160;&#160; container two {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; leaf bar {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; type uint16;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
        &lt;span class=&quot;code-comment&quot;&gt;// leaf foo is java.lang.&lt;span class=&quot;code-object&quot;&gt;Integer&lt;/span&gt;
&lt;/span&gt;&#160;&#160;&#160;&#160;&#160;&#160;&#160; uses foo;
&#160;&#160;&#160; }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Both One and Two can specialize their return type to either String or Integer and have their Builders require the proper type. This obviously needs to work with groupings, too:&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;
&#160;&#160;&#160; grouping foo {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; leaf foo {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; type leafref {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; path &lt;span class=&quot;code-quote&quot;&gt;&quot;../../bar&quot;&lt;/span&gt;;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&#160;&#160;&#160; }

&#160;&#160;&#160; grouping one {
&#160;&#160;&#160;&#160;&#160;&#160;&#160; leaf bar {
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; type string;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; }
&#160;&#160;&#160;&#160;&#160;&#160;&#160; uses foo;
&#160;&#160;&#160; }

    container cont {
        uses one;
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This also means grouping copy builders need to take specializations into account and perform checkArgument() to determine if the source grouping actually has a compatible specialization.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31515">MDSAL-426</key>
            <summary>Specialize relative leafref types during instantiation</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="ilyaigushev">Ilya Igushev</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 Mar 2019 11:10:43 +0000</created>
                <updated>Sat, 12 Mar 2022 00:46:44 +0000</updated>
                            <resolved>Sat, 19 Dec 2020 11:53:18 +0000</resolved>
                                                    <fixVersion>7.0.3</fixVersion>
                                    <component>Binding codegen</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="68764" author="JIRAUSER12933" created="Tue, 17 Nov 2020 23:26:36 +0000"  >&lt;p&gt;Generating bindings part is done(mdsal-binding-java-api-generator, mdsal-binding-generator -api,&#160; mdsal-binding-generator -impl,&#160; mdsal-binding-generator -util)&#160;&lt;/p&gt;</comment>
                            <comment id="68767" author="JIRAUSER12933" created="Wed, 18 Nov 2020 01:32:09 +0000"  >&lt;p&gt;There is a high probability that codec will not like Boolean getFoo() in some shape or form specifically BindingReflections. isFoo should be removed and substituted with getFoo, in such way codec adjustment will be simplified.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="27004">MDSAL-182</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="32445">MDSAL-528</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="32470">MDSAL-533</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="33712">MDSAL-651</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="32444">MDSAL-518</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="35336">MDSAL-732</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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03n3b:</customfieldvalue>

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