<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:13 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>[YANGTOOLS-757] BA -&gt; BI mapping fails when de-serializing reused identity leaf with default value</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-757</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;ODL Version: Boron-SR3 SNAPSHOT&lt;/p&gt;

&lt;p&gt;Please find attached sample yang data models + failing test case (includes passing workaround test case too).&lt;/p&gt;

&lt;p&gt;In model &quot;foo&quot; there are defined: base and derived identity, identity-ref type and grouping containing leaf of defined identity-ref type with default value.&lt;/p&gt;

&lt;p&gt;In model &quot;bar&quot; there are defined: container reusing grouping defined in &quot;foo&quot; model and &quot;workaround&quot; container with redefined default value (this one is working as you can see in the test suite).&lt;/p&gt;

&lt;p&gt;Error occurs when mapping BA &quot;Bar&quot; container to BI normalized nodes container.&lt;/p&gt;

&lt;p&gt;Trace from a test run:&lt;/p&gt;

&lt;p&gt;com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Supplied QName (urn:opendaylight:bar?revision=2017-03-13)foo-identity is not a valid identity&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)&lt;br/&gt;
	at com.google.common.cache.LocalCache.get(LocalCache.java:3937)&lt;br/&gt;
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext.getIdentityClass(BindingRuntimeContext.java:447)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.IdentityCodec.deserialize(IdentityCodec.java:27)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.IdentityCodec.deserialize(IdentityCodec.java:17)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.qnameDomValueFromString(LeafNodeCodecContext.java:115)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.createDefaultObject(LeafNodeCodecContext.java:66)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.&amp;lt;init&amp;gt;(LeafNodeCodecContext.java:56)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getLeafNodesUsingReflection(BindingCodecContext.java:264)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getLeafNodes(BindingCodecContext.java:229)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.&amp;lt;init&amp;gt;(DataObjectCodecContext.java:84)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.ContainerNodeCodecContext.&amp;lt;init&amp;gt;(ContainerNodeCodecContext.java:19)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.createInstance(DataContainerCodecPrototype.java:126)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecPrototype.get(DataContainerCodecPrototype.java:112)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.createDataTreeChildContext(SchemaRootCodecContext.java:175)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.access$000(SchemaRootCodecContext.java:39)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext$1.load(SchemaRootCodecContext.java:45)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext$1.load(SchemaRootCodecContext.java:42)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)&lt;br/&gt;
	at com.google.common.cache.LocalCache.get(LocalCache.java:3937)&lt;br/&gt;
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.getOrRethrow(SchemaRootCodecContext.java:242)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.SchemaRootCodecContext.streamChild(SchemaRootCodecContext.java:136)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.DataContainerCodecContext.bindingPathArgumentChild(DataContainerCodecContext.java:79)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:127)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.newWriter(BindingCodecContext.java:104)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:102)&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:135)&lt;br/&gt;
	at org.opendaylight.mdsal.bug.BugReusedIdentityLeafWithDefaultValue.bugTest(BugReusedIdentityLeafWithDefaultValue.java:31)&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br/&gt;
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)&lt;br/&gt;
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)&lt;br/&gt;
	at java.lang.reflect.Method.invoke(Unknown Source)&lt;br/&gt;
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)&lt;br/&gt;
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)&lt;br/&gt;
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)&lt;br/&gt;
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)&lt;br/&gt;
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)&lt;br/&gt;
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)&lt;br/&gt;
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)&lt;br/&gt;
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)&lt;br/&gt;
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)&lt;br/&gt;
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)&lt;br/&gt;
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)&lt;br/&gt;
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)&lt;br/&gt;
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)&lt;br/&gt;
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)&lt;br/&gt;
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)&lt;br/&gt;
Caused by: java.lang.IllegalArgumentException: Supplied QName (urn:opendaylight:bar?revision=2017-03-13)foo-identity is not a valid identity&lt;br/&gt;
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext$1.load(BindingRuntimeContext.java:92)&lt;br/&gt;
	at org.opendaylight.yangtools.sal.binding.generator.util.BindingRuntimeContext$1.load(BindingRuntimeContext.java:88)&lt;br/&gt;
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)&lt;br/&gt;
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)&lt;br/&gt;
	... 60 more&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23177">YANGTOOLS-757</key>
            <summary>BA -&gt; BI mapping fails when de-serializing reused identity leaf with default value</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="10003">Cannot Reproduce</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="milos.fabian@pantheon.tech">Milos Fabian</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Mar 2017 08:48:44 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:58 +0000</updated>
                            <resolved>Tue, 14 Mar 2017 12:35:44 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="44384" author="milos.fabian@pantheon.tech" created="Mon, 13 Mar 2017 08:48:44 +0000"  >&lt;p&gt;Attachment bug.zip has been added with description: yang data models + test suite&lt;/p&gt;</comment>
                            <comment id="44382" author="martin.ciglan" created="Mon, 13 Mar 2017 13:57:02 +0000"  >&lt;p&gt;discussed with Milos, it seems to work with identity prefixed:&lt;/p&gt;

&lt;p&gt;grouping foo-grouping {&lt;br/&gt;
  leaf foo-leaf &lt;/p&gt;
{
     type foo-type;
        default foo:foo-identity;
     }
&lt;p&gt;  }&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;moving to yangtools&lt;/p&gt;</comment>
                            <comment id="44383" author="pkajsa" created="Tue, 14 Mar 2017 12:35:44 +0000"  >&lt;p&gt;Appropriate prefix of base identity is required, because without the prefix it is not possible to find out correct namespace of the base identity.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13075" name="bug.zip" size="1410" author="milos.fabian@pantheon.tech" created="Mon, 13 Mar 2017 08:48:44 +0000"/>
                    </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>7959</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=7959]]></customfieldvalue>

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

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