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

Naming conflict appears when key of list is constructed from leaf with name key

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Done
    • Fluorine
    • None
    • Binding codegen
    • None
    • Operating System: All
      Platform: PC

      With following statement in yang model:

      list property {
      key "key";
      leaf key

      { type string; }

      }

      exception is thrown:

      java.lang.ClassCastException: org.opendaylight.yangtools.binding.generator.util.Types$ConcreteTypeImpl cannot be cast to org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject
      at org.opendaylight.yangtools.sal.java.api.generator.BuilderTemplate.generateConstructor(BuilderTemplate.java:1006)
      at org.opendaylight.yangtools.sal.java.api.generator.BuilderTemplate.body(BuilderTemplate.java:398)
      at org.opendaylight.yangtools.sal.java.api.generator.BaseTemplate.generate(BaseTemplate.java:73)
      at org.opendaylight.yangtools.sal.java.api.generator.BuilderGenerator.generate(BuilderGenerator.java:58)
      at org.opendaylight.yangtools.sal.java.api.generator.GeneratorJavaFile.generateTypeToJavaFile(GeneratorJavaFile.java:126)
      at org.opendaylight.yangtools.sal.java.api.generator.GeneratorJavaFile.generateToFile(GeneratorJavaFile.java:73)

      This is caused because of 2 methods with same name (getKey) are generated, first for list statement to get key, second as a getter for leaf node.

            rovarga Robert Varga
            mvitez@cisco.com Martin Vitez
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: