[YANGTOOLS-209] BindingGeneratorImpl fails to find augment target from grouping Created: 09/Jul/14  Updated: 10/Apr/22  Due: 11/Jul/14  Resolved: 11/Jul/14

Status: Resolved
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Martin Vitez Assignee: Martin Vitez
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: PC


Issue Links:
Blocks
blocks YANGTOOLS-108 Milestone : Bugfixing for Helium Resolved
External issue ID: 1342
Priority: Normal

 Description   

When trying to generate code for following yang:

augment "/multipart-request/input/multipart-request-body/multipart-request-experimenter-case/multipart-request-experimenter" {
leaf exp_type2

{ type uint16; }

}

rpc multipart-request {
input

{ uses multipart-request; }

}

grouping multipart-request {
choice multipart-request-body {
case multipart-request-experimenter-case {
container multipart-request-experimenter {}
}
}
}

This produce error:

[ERROR] yang-to-sources: Unable to generate sources with org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl generator
java.lang.IllegalArgumentException: Failed to generate code for augment in UsesNodeImpl[groupingPath=AbsoluteSchemaPath

{path=[(urn:opendaylight:openflow:protocol?revision=2013-07-31)multipart-request]}

]
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:119)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.getResultFromUses(SchemaContextUtil.java:631)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findCorrectTargetFromGrouping(SchemaContextUtil.java:540)
at org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findOriginal(SchemaContextUtil.java:484)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.augmentationToGenTypes(BindingGeneratorImpl.java:755)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.allAugmentsToGenTypes(BindingGeneratorImpl.java:371)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.generateTypes(BindingGeneratorImpl.java:216)
at org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl.generateSources(CodeGeneratorImpl.java:61)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSourcesWithOneGenerator(YangToSourcesProcessor.java:287)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources(YangToSourcesProcessor.java:230)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:84)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:122)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)



 Comments   
Comment by Martin Vitez [ 10/Jul/14 ]

This error appears in situation when at same level as searched grouping node with same name is present.

Proposed patch:

https://git.opendaylight.org/gerrit/#/c/8861/

Generated at Wed Feb 07 20:52:34 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.