<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10:12 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-599] Identify violating key component when checking null</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-599</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;When we are enforcing non-null keys we use a very generic &quot;Supplied value may not be null&quot;.&lt;/p&gt;

&lt;p&gt;I.e. we have a stack trace:&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;
java.lang.NullPointerException: Supplied value may not be &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;
 at java.base/java.util.Objects.requireNonNull(Objects.java:246)
 at org.opendaylight.yangtools.yang.binding.CodeHelpers.requireValue(CodeHelpers.java:63)
 at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey.&amp;lt;init&amp;gt;(FlowKey.java:18)
 at org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder$FlowImpl.&amp;lt;init&amp;gt;(FlowBuilder.java:514)&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&#160;&lt;/p&gt;

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

&lt;p&gt;from this code:&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; FlowKey(@NonNull FlowId _id) {
    CodeHelpers.requireValue(_id);
 
    &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;._id = _id;
}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;so the code generator knows this is a key, and it knows each property&apos;s name, so this snippet should look like this:&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; FlowKey(@NonNull FlowId _id) {
    &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;._id = CodeHelpers.requireLeaf(_id, &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;where &quot;id&quot; should be QName.getLocalName(). The resulting component should then report something like &apos;Key component &quot;id&quot; must not be null&apos;.&lt;/p&gt;

&lt;p&gt;Since these properties can be copied through a lot of builders, from unkeyed to keyed lists, knowing the property name will go a long way.&lt;/p&gt;</description>
                <environment></environment>
        <key id="33425">MDSAL-599</key>
            <summary>Identify violating key component when checking null</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</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>Sat, 17 Oct 2020 13:49:15 +0000</created>
                <updated>Sat, 19 Dec 2020 09:49:12 +0000</updated>
                            <resolved>Sat, 24 Oct 2020 17:20:42 +0000</resolved>
                                                    <fixVersion>7.0.2</fixVersion>
                                    <component>Binding codegen</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|i03vdz:</customfieldvalue>

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