Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-280

Binding v2 generator exception: Failed to find leafref target

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • None
    • None
    • Binding V2 codegen
    • None
    • Operating System: All
      Platform: All

    • 8910

      During generating sources for this model:

      module test {

      yang-version 1;
      namespace "urn:opendaylight:params:xml:ns:yang:test";
      prefix "test";

      revision "2017-02-24"

      { description "Initial revision of test model."; }

      container testContainer {
      list testList {
      leaf testLeaf {
      type enumeration {
      enum enum1

      { value 1; }

      enum enum2

      { value 2; }

      }
      }
      }
      }

      notification testLeafrefNotification {
      leaf tesLeafref {
      type leafref

      { path "/test:testContainer/test:testList/test:testLeaf"; }

      }
      }

      }

      The exception is:

      [ERROR] yang-to-sources: Unable to generate sources with org.opendaylight.mdsal.binding.javav2.maven.api.gen.plugin.CodeGeneratorImpl generator
      java.lang.IllegalArgumentException: Failed to find leafref target: /test:testContainer/test:testList/test:testLeaf in module test (QNameModule

      {ns=urn:openda ylight:params:xml:ns:yang:test, rev=2017-02-24}

      )
      at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
      at org.opendaylight.mdsal.binding.javav2.generator.yang.types.TypeProviderImpl.provideTypeForLeafref(TypeProviderImpl.java:675)
      at org.opendaylight.mdsal.binding.javav2.generator.yang.types.TypeProviderImpl.javaTypeForLeafrefOrIdentityRef(TypeProviderImpl.java:612)
      at org.opendaylight.mdsal.binding.javav2.generator.yang.types.TypeProviderImpl.javaTypeForSchemaDefType(TypeProviderImpl.java:440)
      at org.opendaylight.mdsal.binding.javav2.generator.yang.types.TypeProviderImpl.javaTypeForSchemaDefinitionType(TypeProviderImpl.java:149)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.GenHelperUtil.resolveLeafSchemaNodeAsMethod(GenHelperUtil.java:658)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.GenHelperUtil.addSchemaNodeToBuilderAsMethod(GenHelperUtil.java:526)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.GenHelperUtil.resolveDataSchemaNodes(GenHelperUtil.java:220)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.GenHelperUtil.resolveNotification(GenHelperUtil.java:436)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.ModuleToGenType.notificationsToGenType(ModuleToGenType.java:147)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.ModuleToGenType.generate(ModuleToGenType.java:54)
      at org.opendaylight.mdsal.binding.javav2.generator.impl.BindingGeneratorImpl.generateTypes(BindingGeneratorImpl.java:126)
      at org.opendaylight.mdsal.binding.javav2.maven.api.gen.plugin.CodeGeneratorImpl.generateSources(CodeGeneratorImpl.java:77)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSourcesWithOneGenerator(YangToSourcesProcessor.java:333)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.generateSources(YangToSourcesProcessor.java:275)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.execute(YangToSourcesProcessor.java:96)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesProcessor.conditionalExecute(YangToSourcesProcessor.java:117)
      at org.opendaylight.yangtools.yang2sources.plugin.YangToSourcesMojo.execute(YangToSourcesMojo.java:121)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
      at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:200)
      at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:196)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
      [ERROR] yang-to-sources: One or more code generators failed, including failed list(generatorClass=exception)

      {org.opendaylight.mdsal.binding.javav2.maven.api.gen.plugin.CodeGeneratorImpl=java.lang.IllegalArgumentException}

      This exception is thrown when notification contains leafref to leaf which is enumeration.

            han.jie@zte.com.cn Jie Han
            andrej.zan Andrej Záň
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: