Details
-
Bug
-
Status: Resolved
-
Medium
-
Resolution: Won't Do
-
None
-
None
-
None
Description
The following two models:
module a {
yang-version 1.1;
namespace "a";
prefix a;
container a-cont {
leaf a-leaf-cont {
type string;
}
container a-cont2 {
leaf a-leaf-cont2 {
type string;
}
}
}
}
module b {
yang-version 1.1;
namespace "b";
prefix b;
import a {
prefix a;
}
augment "/a:a-cont/a:a-cont2" {
description
"An augmentation of a leafref typed leaf with path to outside
of the augmented scope and back to the module a";
container b-cont {
leaf b-aug-leaf {
type leafref {
path "../../../a-leaf-cont";
}
}
}
}
}
result in AbstractTypeProvider.provideTypeForLeafref() failing
[ERROR] yang-to-sources: Unable to generate sources with org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl generator
java.lang.IllegalArgumentException: Failed to find leafref target: ../../../a-leaf-cont in module a (QNameModule{ns=b})
at com.google.common.base.Preconditions.checkArgument (Preconditions.java:459)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.provideTypeForLeafref (AbstractTypeProvider.java:550)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForLeafrefOrIdentityRef (AbstractTypeProvider.java:299)
at org.opendaylight.mdsal.binding.yang.types.AbstractTypeProvider.javaTypeForSchemaDefinitionType (AbstractTypeProvider.java:193)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveLeafSchemaNodeAsMethod (AbstractTypeGenerator.java:1350)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod (AbstractTypeGenerator.java:1051)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes (AbstractTypeGenerator.java:1004)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.containerToGenType (AbstractTypeGenerator.java:302)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod (AbstractTypeGenerator.java:1055)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.augSchemaNodeToMethods (AbstractTypeGenerator.java:1032)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addRawAugmentGenTypeDefinition (AbstractTypeGenerator.java:936)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addRawAugmentGenTypeDefinition (AbstractTypeGenerator.java:950)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.augmentationToGenTypes (AbstractTypeGenerator.java:801)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.allAugmentsToGenTypes (AbstractTypeGenerator.java:375)
at java.util.ArrayList.forEach (ArrayList.java:1257)
at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.<init> (AbstractTypeGenerator.java:203)
at org.opendaylight.mdsal.binding.generator.impl.CodegenTypeGenerator.<init> (CodegenTypeGenerator.java:32)
at org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl.generateTypes (BindingGeneratorImpl.java:64)
at org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl.generateSources (CodeGeneratorImpl.java:70)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSourcesWithOneGenerator (YangToSourcesProcessor.java:383)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources (YangToSourcesProcessor.java:332)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute (YangToSourcesProcessor.java:159)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute (YangToSourcesMojo.java:127)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)