Uploaded image for project: 'yangtools'
  1. yangtools
  2. YANGTOOLS-348

NPE during generation of java binding for case list-grouping-choice

    XMLWordPrintable

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

      { type empty; }
      leaf remote-name { type string; }
      }
      choice remote-auth {
      mandatory true;
      leaf same-pass { type empty; }

      leaf remote-password

      { type string; }

      }
      leaf remote-secondary-password

      { type string; }
      }

      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)

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            pkajsa Peter Kajsa
            msunal@cisco.com Martin Sunal
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: