<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:45 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-948] Encapsulate ModificationApplyOperation.getChild() overrides</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-948</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;We currently have seven distinct implementations of this method, which really come down to following behaviors:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;delegates&lt;/li&gt;
	&lt;li&gt;throws UnsupportedOperationException&lt;/li&gt;
	&lt;li&gt;guards path argument for a type before returning a constant&lt;/li&gt;
	&lt;li&gt;looks up in a pre-computed map&lt;/li&gt;
	&lt;li&gt;perfoms a cached lookup&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Options 3-5 are only accessible through SchemaAwareApplyOperation, hence we should be to make the method bimorphic and delegate internally to a utility class.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31407">YANGTOOLS-948</key>
            <summary>Encapsulate ModificationApplyOperation.getChild() overrides</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="10001">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Thu, 31 Jan 2019 14:30:17 +0000</created>
                <updated>Wed, 13 Feb 2019 18:33:20 +0000</updated>
                            <resolved>Wed, 13 Feb 2019 18:33:20 +0000</resolved>
                                                                    <component>data-impl</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="66424" author="rovarga" created="Wed, 6 Feb 2019 10:44:09 +0000"  >&lt;p&gt;The key problem with this is that &apos;UnsupportedOperationException&apos; is used by leaf nodes, hence moving this to a field value would increase our memory overhead significantly. In-memory layout of SchemaAwareApplyOperation needs to be looked at to evaluate the impact. Maybe that behavior can be set as the default, with others overriding it?&lt;/p&gt;

&lt;p&gt;Item 3 is used by invisible nodes (lists), but LeafSets are value-based and hence they our outside of the class hierarchy of MapNodes.&lt;/p&gt;

&lt;p&gt;Item 4 and 5 look very much alike, so could probably be unified at the cost of paying a volatile deref in ChoiceModificationStrategy by using a completely pre-computed mapping. The cost of doing this is moving the backing field and acquire/store into a common subclass.&lt;/p&gt;</comment>
                            <comment id="66439" author="rovarga" created="Wed, 13 Feb 2019 18:33:20 +0000"  >&lt;p&gt;I don&apos;t think the added indirection is worth it, unless we can we end up having a cozy place in SchemaAwareApplyOperation on which we can piggy-back this behavior.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="31412">YANGTOOLS-951</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_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>YANGTOOLS-940</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03mgn:</customfieldvalue>

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