Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Operating System: Windows
Platform: All
-
2271
Description
I get NPE when I try to generate java binding from this yang example:
module test-list-grouping-choice {
namespace "urn:foo";
prefix "foo";
revision 2014-10-29 {
}
list group {
key name;
leaf name
{ type string; } grouping remote-user-remote-auth {
choice remote-user {
mandatory true;
leaf same-user
leaf remote-name { type string; }
}
choice remote-auth {
mandatory true;
leaf same-pass { type empty; }
leaf remote-password
{ type string; } }
leaf remote-secondary-password
}
container default-map { uses remote-user-remote-auth; }
list map {
key user;
leaf user { type string; }
uses remote-user-remote-auth;
}
}
}
Exception and debug snippet:
[DEBUG] Failed to find [(urn:foo?revision=2014-10-29)remote-user-remote-auth] in parent list group
[DEBUG] Failed to find [(urn:foo?revision=2014-10-29)remote-user-remote-auth] in parent list group
[DEBUG] No node matching [(urn:foo?revision=2014-10-29)group, (urn:foo?revision=2014-10-29)remote-user-remote-auth] found in module ModuleImpl[name=test-list-grouping-choice, namespace=urn:foo, revision=Wed Oct 29 00:00:00 CET 2014, prefix=foo, yangVersion=1]
[DEBUG] Failed to find [(urn:foo?revision=2014-10-29)remote-user-remote-auth] in parent list group
[DEBUG] Failed to find [(urn:foo?revision=2014-10-29)remote-user-remote-auth] in parent list group
[DEBUG] No node matching [(urn:foo?revision=2014-10-29)group, (urn:foo?revision=2014-10-29)remote-user-remote-auth] found in module ModuleImpl[name=test-list-grouping-choice, namespace=urn:foo, revision=Wed Oct 29 00:00:00 CET 2014, prefix=foo, yangVersion=1]
[ERROR] yang-to-sources: Unable to generate sources with org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl generator
java.lang.NullPointerException
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.generateTypesFromChoiceCases(BindingGeneratorImpl.java:1236)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.choiceToGeneratedType(BindingGeneratorImpl.java:1160)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.addSchemaNodeToBuilderAsMethod(BindingGeneratorImpl.java:1116)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.resolveDataSchemaNodes(BindingGeneratorImpl.java:1045)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.groupingToGenType(BindingGeneratorImpl.java:707)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.groupingsToGenTypes(BindingGeneratorImpl.java:685)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.addDefaultInterfaceDefinition(BindingGeneratorImpl.java:1642)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.processDataSchemaNode(BindingGeneratorImpl.java:311)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.listToGenType(BindingGeneratorImpl.java:336)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.addSchemaNodeToBuilderAsMethod(BindingGeneratorImpl.java:1114)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.resolveDataSchemaNodes(BindingGeneratorImpl.java:1045)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.moduleToGenTypes(BindingGeneratorImpl.java:268)
at org.opendaylight.yangtools.sal.binding.generator.impl.BindingGeneratorImpl.generateTypes(BindingGeneratorImpl.java:237)
at org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl.generateSources(CodeGeneratorImpl.java:62)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSourcesWithOneGenerator(YangToSourcesProcessor.java:300)
at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources(YangToSourcesProcessor.java:243)
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:133)