<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:55:09 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-1085] Fully validate XPath expressions</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1085</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Our YANG parser can operate (and will fall back) accepting invalid XPath expressions. This means users dealing with resulting EffectiveModelContext cannot rely on expression being normalized into the model and have had to resort to parsing the expression themselves &#8211; with a ton of bugs.&lt;/p&gt;

&lt;p&gt;Disable this capability and require XPaths to be always parsed and validated, so that users are presented with a proper yang-xpath-api representation.&lt;/p&gt;</description>
                <environment></environment>
        <key id="32432">YANGTOOLS-1085</key>
            <summary>Fully validate XPath expressions</summary>
                <type id="10103" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10311&amp;avatarType=issuetype">New Feature</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="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Fri, 21 Feb 2020 15:14:31 +0000</created>
                <updated>Tue, 3 May 2022 17:09:40 +0000</updated>
                            <resolved>Wed, 25 Mar 2020 20:38:07 +0000</resolved>
                                                    <fixVersion>5.0.0</fixVersion>
                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="67885" author="rovarga" created="Sat, 22 Feb 2020 07:31:12 +0000"  >&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;2020-02-22T08:20:31,386 | INFO  | features-3-thread-1 | YangTextSchemaContextResolver    | 141 - org.opendaylight.yangtools.yang-parser-impl - 5.0.0.SNAPSHOT | Failed to fully assemble schema context for [RevisionSourceIdentifier [name=ietf-inet-types@2013-07-15], RevisionSourceIdentifier [name=ietf-yang-types@2013-07-15], RevisionSourceIdentifier [name=ietf-yang-library@2016-06-21], RevisionSourceIdentifier [name=yang-ext@2013-07-09]]
java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError: No YangXPathParserFactory found
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:552) ~[?:?]
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:513) ~[?:?]
        at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:90) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver.getEffectiveModelContext(YangTextSchemaContextResolver.java:242) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver.getEffectiveModelContext(YangTextSchemaContextResolver.java:205) ~[?:?]
        at org.opendaylight.binding.runtime.spi.ModuleInfoBackedContext.tryToCreateModelContext(ModuleInfoBackedContext.java:231) ~[?:?]
        at org.opendaylight.binding.runtime.spi.ModuleInfoBackedContext.getEffectiveModelContext(ModuleInfoBackedContext.java:177) ~[?:?]
        at org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider.getSchemaContext(EffectiveModelContextProvider.java:30) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.OsgiModuleInfoRegistry.updateService(OsgiModuleInfoRegistry.java:54) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.ModuleInfoBundleTracker.open(ModuleInfoBundleTracker.java:58) ~[?:?]
        at org.opendaylight.mdsal.binding.dom.codec.osgi.impl.Activator.start(Activator.java:45) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:779) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) ~[?:?]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:772) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:729) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:933) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) ~[?:?]
        at org.eclipse.osgi.container.Module.doStart(Module.java:581) ~[?:?]
        at org.eclipse.osgi.container.Module.start(Module.java:449) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
        at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1153) ~[?:?]
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1036) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.ExceptionInInitializerError: No YangXPathParserFactory found
        at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.ServiceLoaderState$XPath.lambda$static$0(ServiceLoaderState.java:32) ~[?:?]
        at java.util.Optional.orElseThrow(Optional.java:408) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.ServiceLoaderState$XPath.&amp;lt;clinit&amp;gt;(ServiceLoaderState.java:32) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors.vanillaReactorBuilder(RFC7950Reactors.java:324) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors.defaultReactorBuilder(RFC7950Reactors.java:287) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors.defaultReactorBuilder(DefaultReactors.java:70) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors$DefaultReactor.&amp;lt;clinit&amp;gt;(DefaultReactors.java:39) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.impl.DefaultReactors.defaultReactor(DefaultReactors.java:60) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$AssembleSources.apply(SharedSchemaContextFactory.java:224) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory$AssembleSources.apply(SharedSchemaContextFactory.java:190) ~[?:?]
        at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:213) ~[?:?]
        at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:202) ~[?:?]
        at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:118) ~[?:?]
        at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30) ~[?:?]
        at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1138) ~[?:?]
        at com.google.common.util.concurrent.AbstractFuture.addListener(AbstractFuture.java:707) ~[?:?]
        at com.google.common.util.concurrent.FluentFuture$TrustedFuture.addListener(FluentFuture.java:104) ~[?:?]
        at com.google.common.util.concurrent.AbstractTransformFuture.create(AbstractTransformFuture.java:39) ~[?:?]
        at com.google.common.util.concurrent.Futures.transformAsync(Futures.java:471) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createSchemaContext(SharedSchemaContextFactory.java:104) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.SharedSchemaContextFactory.createEffectiveModelContext(SharedSchemaContextFactory.java:75) ~[?:?]
        at org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver.getEffectiveModelContext(YangTextSchemaContextResolver.java:240) ~[?:?]
        ... 27 more
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;points towards static loading which needs to be eliminated, too.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="35508">YANGTOOLS-1428</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|i03r6f:</customfieldvalue>

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