<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:08:42 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-124] Can not define a list as a subordinate element of a choice</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-124</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;The yang model is like&#65306;&lt;/p&gt;

&lt;p&gt;	  choice darknessFactor {&lt;/p&gt;

&lt;p&gt;	  case knessFactorA{&lt;br/&gt;
	      	list darknessFactorAList {&lt;br/&gt;
			key &quot;key-id&quot;;            &lt;br/&gt;
			leaf key-id&lt;/p&gt;
{
			    type uint32;
			    config true;
				description &quot;The key id&quot;;
			    }
&lt;p&gt;	        }&lt;br/&gt;
	    }&lt;br/&gt;
	  case knessFactorB{&lt;br/&gt;
		leaf FactorBName&lt;/p&gt;
{
        type uint32;
        config true;
        description
          &quot;The darkness factor.&quot;;
		  }
&lt;p&gt;		}&lt;br/&gt;
      }	&lt;/p&gt;

&lt;p&gt;When we define a list as a subordinate element of a choice,and register it in datachange service. When we invoke change.getCreatedData() in onDataChanged method it whill throw java.lang.NullPointerException&#65306;&lt;/p&gt;

&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt; Error notifying listener com.zte.ngip.ipsdn.vipran.vr.provider.VrUniBindImp&lt;br/&gt;
java.lang.NullPointerException&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.ChoiceNodeCodecContext.yangPathArgumentChild(ChoiceNodeCodecContext.java:144)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:org.opendaylight.yangtools.binding-data-codec:0.7.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:153)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:org.opendaylight.yangtools.binding-data-codec:0.7.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.fromNormalizedNode(BindingNormalizedNodeCodecRegistry.java:182)&lt;span class=&quot;error&quot;&gt;&amp;#91;101:org.opendaylight.yangtools.binding-data-codec:0.7.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toBinding(BindingToNormalizedNodeCodec.java:222)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.sal-binding-broker-impl:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker.toBinding(AbstractForwardedDataBroker.java:89)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.sal-binding-broker-impl:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatedDataChangeEvent.getCreatedData(AbstractForwardedDataBroker.java:187)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.sal-binding-broker-impl:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at com.zte.ngip.ipsdn.vipran.collaboration.AbstractDataChangeListener.onDataChanged(AbstractDataChangeListener.java:43)&lt;span class=&quot;error&quot;&gt;&amp;#91;216:com.zte.ngip.ipsdn.vipran.vr-provider:0.3.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractForwardedDataBroker$TranslatingDataChangeInvoker.onDataChanged(AbstractForwardedDataBroker.java:143)&lt;span class=&quot;error&quot;&gt;&amp;#91;151:org.opendaylight.controller.sal-binding-broker-impl:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataChangeListener.dataChanged(DataChangeListener.java:66)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.datastore.DataChangeListener.handleReceive(DataChangeListener.java:39)&lt;span class=&quot;error&quot;&gt;&amp;#91;173:org.opendaylight.controller.sal-distributed-datastore:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor.onReceive(AbstractUntypedActor.java:34)&lt;span class=&quot;error&quot;&gt;&amp;#91;165:org.opendaylight.controller.sal-clustering-commons:1.2.2.Lithium-SR2&amp;#93;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;


&lt;p&gt;We think in method yangPathArgumentChild of org.opendaylight.yangtools.binding.data.codec.impl.ChoiceNodeCodecContext.java should add&lt;br/&gt;
    	if(arg instanceof NodeIdentifierWithPredicates)&lt;/p&gt;
    	{
    		cazeProto = byYangCaseChild.get(new NodeIdentifier(arg.getNodeType()));
    	}</description>
                <environment>&lt;p&gt;Operating System: Windows&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="26946">MDSAL-124</key>
            <summary>Can not define a list as a subordinate element of a choice</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="filip.gregor@pantheon.tech">Filip Gregor</assignee>
                                    <reporter username="hou.jin@zte.com.cn">Hou Jin</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Dec 2015 06:14:23 +0000</created>
                <updated>Fri, 9 Mar 2018 18:00:12 +0000</updated>
                            <resolved>Wed, 9 Mar 2016 12:30:14 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="54224" author="tony.tkacik@gmail.com" created="Wed, 9 Mar 2016 12:30:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/35970/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/35970/&lt;/a&gt;&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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4798</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=4798]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10330"><![CDATA[Beryllium-1]]></customfieldvalue>

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

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