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

Binding V1 fails to generate for nested unions with numbered leaves

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • None
    • Fluorine
    • Binding codegen
    • None

    Description

      As a follow-up to MDSAL-320, the following snippet fails to process the following snippet:

          container foo {
              leaf bar {
                  type union {
                      type enumeration {
                          enum "foo";
                      }
                      type string {
                          length 2;
                      }
                      type union {
                          type enumeration {
                              enum bar;
                          }
                          type string {
                              length 1;
                          }
                      }
                  }
              }
      
              leaf bar1 {
                  type union {
                      type enumeration {
                          enum "foo";
                      }
                      type string {
                          length 2;
                      }
                      type union {
                          type enumeration {
                              enum bar;
                          }
                          type string {
                              length 1;
                          }
                      }
                  }
              }
          }
      

      with:

      java.lang.IllegalArgumentException: This generated type already contains equal enclosing transfer object.
          at com.google.common.base.Preconditions.checkArgument(Preconditions.java:135)
          at org.opendaylight.mdsal.binding.model.util.generated.type.builder.AbstractGeneratedTypeBuilder.addEnclosingTransferObject(AbstractGeneratedTypeBuilder.java:107)
          at org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTypeBuilder.addEnclosingTransferObject(CodegenGeneratedTypeBuilder.java:1)
          at java.util.ArrayList.forEach(ArrayList.java:1257)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addTOToTypeBuilder(AbstractTypeGenerator.java:1886)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveLeafSchemaNodeAsMethod(AbstractTypeGenerator.java:1284)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1004)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:945)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.containerToGenType(AbstractTypeGenerator.java:276)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.addSchemaNodeToBuilderAsMethod(AbstractTypeGenerator.java:1008)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.resolveDataSchemaNodes(AbstractTypeGenerator.java:945)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.moduleToGenTypes(AbstractTypeGenerator.java:214)
          at org.opendaylight.mdsal.binding.generator.impl.AbstractTypeGenerator.<init>(AbstractTypeGenerator.java:175)
          at org.opendaylight.mdsal.binding.generator.impl.CodegenTypeGenerator.<init>(CodegenTypeGenerator.java:30)
          at org.opendaylight.mdsal.binding.generator.impl.BindingGeneratorImpl.generateTypes(BindingGeneratorImpl.java:55)
          at org.opendaylight.mdsal.binding.generator.api.BindingGenerator.generateTypes(BindingGenerator.java:30)
          at 

      Attachments

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

        Activity

          People

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: