<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:53:50 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-628] Parser: Only the last prefix works if the module is imported multiple times</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-628</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;First of all, importing from the same module with different prefixes may be violating the Yang standard, although the relevant sentence is not very explicit:&lt;/p&gt;

&lt;p&gt;  Multiple &quot;import&quot; statements may be specified to import from different modules.&lt;br/&gt;
&lt;a href=&quot;https://tools.ietf.org/html/rfc6020#section-7.1.5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc6020#section-7.1.5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway, current ODL behavior differs on which prefix is then used. Here are simple test models: &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/41269/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/41269/1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ideally, parser could support multiple prefixes pointing to the same imported model.&lt;br/&gt;
If that is not easy to implement, parser should at least produce an Exception with a message informing about multiple import from the same module.&lt;/p&gt;

&lt;p&gt;Currently the exception only informs about not finding the desired node:&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;ERROR&amp;#93;&lt;/span&gt; yang-to-sources: Unable to parse yang files from /home/odl/build/mdsal/model/test/bug-augment/src/main/yang&lt;br/&gt;
java.lang.IllegalArgumentException: Failed to parse node &apos;bt0:target&apos; in path &apos;/bt0:target&apos;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils.nodeIdentifierFromPath(Utils.java:452)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.AugmentStatementImpl$Definition.parseArgumentValue(AugmentStatementImpl.java:75)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.AugmentStatementImpl$Definition.parseArgumentValue(AugmentStatementImpl.java:62)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementDefinitionContext.parseArgumentValue(StatementDefinitionContext.java:34)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.SubstatementContext.&amp;lt;init&amp;gt;(SubstatementContext.java:47)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase$1.build(StatementContextBase.java:327)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextWriter.defferedCreate(StatementContextWriter.java:45)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextWriter.startStatement(StatementContextWriter.java:32)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.impl.YangStatementParserListenerImpl.enterStatement(YangStatementParserListenerImpl.java:82)&lt;br/&gt;
        at org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser$StatementContext.enterRule(YangStatementParser.java:113)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.enterRule(ParseTreeWalker.java:66)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:49)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:52)&lt;br/&gt;
        at org.antlr.v4.runtime.tree.ParseTreeWalker.walk(ParseTreeWalker.java:52)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl.writeFull(YangStatementSourceImpl.java:98)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.SourceSpecificContext.loadStatements(SourceSpecificContext.java:329)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.loadPhaseStatements(BuildGlobalContext.java:228)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.BuildGlobalContext.buildEffective(BuildGlobalContext.java:196)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:134)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor$BuildAction.buildEffective(CrossSourceStatementReactor.java:151)&lt;br/&gt;
        at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.processYang(YangToSourcesProcessor.java:177)&lt;br/&gt;
        at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:93)&lt;br/&gt;
        at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute(YangToSourcesProcessor.java:104)&lt;br/&gt;
        at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:119)&lt;br/&gt;
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)&lt;br/&gt;
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)&lt;br/&gt;
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)&lt;br/&gt;
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)&lt;br/&gt;
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)&lt;br/&gt;
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)&lt;br/&gt;
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)&lt;br/&gt;
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)&lt;br/&gt;
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;br/&gt;
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)&lt;br/&gt;
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&lt;br/&gt;
        at java.lang.reflect.Method.invoke(Method.java:498)&lt;br/&gt;
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)&lt;br/&gt;
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)&lt;br/&gt;
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)&lt;br/&gt;
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)&lt;br/&gt;
Caused by: java.lang.IllegalArgumentException: Error in module &apos;bug-augment&apos;: can not resolve QNameModule for &apos;bt0:target&apos;. Statement source at META-INF/yang/bug-augment.yang:14:2&lt;br/&gt;
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils.qNameFromArgument(Utils.java:516)&lt;br/&gt;
        at org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils.nodeIdentifierFromPath(Utils.java:448)&lt;br/&gt;
        ... 45 more&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23048">YANGTOOLS-628</key>
            <summary>Parser: Only the last prefix works if the module is imported multiple times</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <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="vrpolak">Vratko Polak</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Jul 2016 12:08:27 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:48 +0000</updated>
                            <resolved>Fri, 11 Nov 2016 14:16:59 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="43947" author="rovarga" created="Thu, 10 Nov 2016 10:44:56 +0000"  >&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/48200&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/48200&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a dirty hack, which will cover the symptom, but does not fix the deeper cause.&lt;/p&gt;</comment>
                            <comment id="43948" author="rovarga" created="Fri, 11 Nov 2016 02:30:01 +0000"  >&lt;p&gt;Internal cleanup will be followed in 5717.&lt;/p&gt;</comment>
                            <comment id="43949" author="rovarga" created="Fri, 11 Nov 2016 14:16:59 +0000"  >&lt;p&gt;boron: &lt;a href=&quot;https://git.opendaylight.org/gerrit/48258&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/48258&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="23023">YANGTOOLS-603</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="23056">YANGTOOLS-636</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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>6150</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=6150]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10335"><![CDATA[Boron-2]]></customfieldvalue>

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

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