<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:55:36 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-1249] Remove SchemaAware NormalizedNode builders</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1249</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Schema-aware builders are a major point of proliferation of SchemaNode usage. They were the first cut at getting some validation going, but have been found to be lacking.&lt;/p&gt;

&lt;p&gt;One key area is that their API does not lend any help towards guiding actual SchemaNode transition, which is actually the more painful task when compared to the task of validating structure.&lt;/p&gt;

&lt;p&gt;The second area is the lifecycle, where Builder API would like us to believe the world is quite linear. This is not really true in anything but example code, as we typically need to deal with event-driven parsing, potentially reentrant builders (i.e. XML list encoding). This again requires another layer for tracking related state &#8211; where we keep builders organized by parsing state.&lt;/p&gt;

&lt;p&gt;The third area is completeness of validation. SchemaAware builders do not really establish what is their validation scope, hence anybody hoping for a reasonably complete validation will find them lacking:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;they&#160;&lt;b&gt;do&lt;/b&gt; enforce structural soundness in terms of NormalizedNode nesting rules&lt;/li&gt;
	&lt;li&gt;they &lt;b&gt;do not&lt;/b&gt; do anything to enforce Leaf value constraints&lt;/li&gt;
	&lt;li&gt;they&#160;&lt;b&gt;do not&lt;/b&gt; validate even basic cardinality constraints&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;On the other hand we have at least two other frameworks which can perform a number of such validation tasks, hence long-term it is a better idea to generalize existing working solutions rather than trying to fit them into the constrained framework of schema-aware builders.&lt;/p&gt;

&lt;p&gt;Remove schema-aware builder implementations, opting for simplicity of schemaless builders instead.&lt;/p&gt;</description>
                <environment></environment>
        <key id="33818">YANGTOOLS-1249</key>
            <summary>Remove SchemaAware NormalizedNode builders</summary>
                <type id="10102" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10316&amp;avatarType=issuetype">Sub-task</type>
                            <parent id="33809">YANGTOOLS-1244</parent>
                                    <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>Tue, 16 Feb 2021 17:54:24 +0000</created>
                <updated>Fri, 25 Nov 2022 09:21:55 +0000</updated>
                            <resolved>Fri, 7 Oct 2022 07:48:17 +0000</resolved>
                                                    <fixVersion>10.0.0</fixVersion>
                                    <component>data-impl</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="36401">NETCONF-917</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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|i03x7r:</customfieldvalue>

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