<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:56:03 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-1402] Consider adding YangInstanceIdentifier+NormalizedNode-based codec utilities</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1402</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Users are baffled, time after time, by intricacies of YANG addressing, leading to the need to explain the difference between data tree and schema tree time and time again. When coupled with our additional addressing modes, like YangInstanceIdentifier (which &lt;b&gt;does not match&lt;/b&gt; the data tree) and MD-SAL&apos;s InstanceIdentifier (which is different still), people tend to do weird things along the lines of &quot;hey, I can get a yang.common.QName, surely that is enough to make this translation, wheee!!!!&quot;.&lt;/p&gt;

&lt;p&gt;For the most part, such ill-advised attempts seem to work, but in 100% of cases they lead to bugs, just as soon as they encounter edge cases &#8211; like what it means to enter a child node or exit to a parent.&lt;/p&gt;

&lt;p&gt;This is most apparent when they get the combination of YangInstanceIdentifier and a NormalizedNode and now they are want to correctly instantiate a codec, where they need to supply a proper root pointing at a data tree node in yang.model.api addressing.&lt;/p&gt;

&lt;p&gt;In those settings, there typically is enough schema information already available at the call site or the surrounding code (but perhaps not exposed due to the said code failing to understand what is required and hence not propagating the relevant context), as evidenced by &lt;a href=&quot;https://jira.opendaylight.org/browse/YANGTOOLS-1401&quot; title=&quot;NormalizedNodeStreamWriterStack fails to initialize on choice nodes&quot; class=&quot;issue-link&quot; data-issue-key=&quot;YANGTOOLS-1401&quot;&gt;&lt;del&gt;YANGTOOLS-1401&lt;/del&gt;&lt;/a&gt; (and many others before that).&lt;/p&gt;

&lt;p&gt;Consider enriching all codecs (XML, JSON, binfmt) with the ability to do a one-shot, no questions asked, execution on a combination of YangInstanceIdentifier and a matching NormalizedNode.&lt;/p&gt;

&lt;p&gt;This should use a single static method performing the task, without leaving any residue in terms of AutoCloseable or worrying about performance aspects like reusing the codecs (XML/JSON) or data/schema dictionary (binfmt).&lt;/p&gt;</description>
                <environment></environment>
        <key id="35251">YANGTOOLS-1402</key>
            <summary>Consider adding YangInstanceIdentifier+NormalizedNode-based codec utilities</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="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Feb 2022 19:26:03 +0000</created>
                <updated>Mon, 21 Feb 2022 19:33:32 +0000</updated>
                                                                            <component>codecs</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                        <issuelink>
            <issuekey id="35247">YANGTOOLS-1401</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="35134">YANGTOOLS-1392</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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|i041mn:</customfieldvalue>

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