<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:55:20 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-1152] Refactor yang-parser-rfc7950 and its extension wiring</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1152</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;After we have turned yang-parser-rfc7950 into a JPMS module, it is clear that our split of things is not quite up to par with what we really want.&lt;/p&gt;

&lt;p&gt;Most notably the interplay with extensions is problematic, especially with semantic extensions being implemented in default parser.&lt;/p&gt;

&lt;p&gt;For example openconfig extensions for semver and pattern interact with core YANG concepts and &apos;pattern&apos; statement. The implementation of those currently reside in yang-parser-rfc7950.&lt;/p&gt;

&lt;p&gt;In a perfect world each statement implementation would sit in a separate JPMS module. Interactions between them and &apos;YANG core&apos; would include no intimate information and the core would be injected with all what is needed. For that second part, we have static wiring, which shows it is (mostly) possible.&lt;/p&gt;

&lt;p&gt;I think we have a lot of what we need to exchange in terms of activation is org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupportBundle, so while an outright fragmentation to 80 bundles is a bad idea, we want start with refactoring parser.impl.DefaultReactors.addExtensions() into a step that rfc7950.reactor.RFC7950Reactors can execute through DI, which under JPMS means ServiceLoader.load() of its dependencies.&lt;/p&gt;</description>
                <environment></environment>
        <key id="33452">YANGTOOLS-1152</key>
            <summary>Refactor yang-parser-rfc7950 and its extension wiring</summary>
                <type id="10000" iconUrl="https://jira.opendaylight.org/images/icons/issuetypes/epic.svg">Epic</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>Wed, 21 Oct 2020 23:15:56 +0000</created>
                <updated>Tue, 2 Jan 2024 03:26:29 +0000</updated>
                                                            <fixVersion>14.0.0</fixVersion>
                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <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_10005" key="com.pyxis.greenhopper.jira:gh-epic-color">
                        <customfieldname>Epic Color</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ghx-label-1</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10004" key="com.pyxis.greenhopper.jira:gh-epic-label">
                        <customfieldname>Epic Name</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Componentize YANG Parser</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10003" key="com.pyxis.greenhopper.jira:gh-epic-status">
                        <customfieldname>Epic Status</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[To Do]]></customfieldvalue>

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

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