Fix union/bits string mapping 03/103603/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 5 Dec 2022 17:50:10 +0000 (18:50 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 5 Dec 2022 17:53:31 +0000 (18:53 +0100)
BitsTypeObject changed the name of the value getter -- it is now
values(), not getValue(). Adjust UnionTemplate reference and update
tests to covert this case.

JIRA: MDSAL-797
Change-Id: I8b8789b87ae5ea43eaa942b932690dc3e35a161e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/resources/compilation/typedef/foo.yang

index f8a765f0b5bd2023e6b12d87743e75058d46d83f..9b94f1e328b8687f62a0f036e8a5040a0dbc18aa 100644 (file)
@@ -143,7 +143,7 @@ class UnionTemplate extends ClassTemplate {
                 return "";
                 «ELSEIF propRet.isBitsType»
                     ««« generated bits typedef
-                return «JU_ARRAYS.importedName».toString(«field».getValue());
+                return «JU_ARRAYS.importedName».toString(«field».values());
                 «ELSEIF propRet.isIdentityType»
                     ««« generated identity
                 return «field».«BINDING_CONTRACT_IMPLEMENTED_INTERFACE_NAME»().toString();
index 6e42d65fc46fc09a9bfc430e58e185fffb4dfdce..91c1d40630ea9694b73747e4a9f6f8f7796f1760 100644 (file)
@@ -307,18 +307,19 @@ public class TypedefCompilationTest extends BaseCompilationTest {
         CompilationTestUtils.assertContainsField(unionExt4Class, "_empty", Empty.class);
         CompilationTestUtils.assertContainsField(unionExt4Class, "_myDecimalType", myDecimalTypeClass);
         CompilationTestUtils.assertContainsFieldWithValue(unionExt4Class, "serialVersionUID", Long.TYPE,
-            8089656970520476667L, new Class<?>[] { Boolean.class }, false);
-        assertEquals(5, unionExt4Class.getDeclaredFields().length);
+            6500918776827711885L, new Class<?>[] { Boolean.class }, false);
+        assertEquals(6, unionExt4Class.getDeclaredFields().length);
         CompilationTestUtils.assertContainsMethod(unionExt4Class, unionExt3Class, "getUnionExt3");
         CompilationTestUtils.assertContainsMethod(unionExt4Class, int32Ext2Class, "getInt32Ext2");
         CompilationTestUtils.assertContainsMethod(unionExt4Class, Empty.class, "getEmpty");
         CompilationTestUtils.assertContainsMethod(unionExt4Class, myDecimalTypeClass, "getMyDecimalType");
+        CompilationTestUtils.assertContainsMethod(unionExt4Class, bitsExtClass, "getBitsExt");
         CompilationTestUtils.assertContainsConstructor(unionExt4Class, unionExt3Class);
         CompilationTestUtils.assertContainsConstructor(unionExt4Class, int32Ext2Class);
         CompilationTestUtils.assertContainsConstructor(unionExt4Class, Empty.class);
         CompilationTestUtils.assertContainsConstructor(unionExt4Class, myDecimalTypeClass);
         CompilationTestUtils.assertContainsConstructor(unionExt4Class, unionExt4Class);
-        assertEquals(5, unionExt4Class.getDeclaredConstructors().length);
+        assertEquals(6, unionExt4Class.getDeclaredConstructors().length);
         CompilationTestUtils.assertContainsDefaultMethods(unionExt4Class);
 
         CompilationTestUtils.cleanUp(sourcesOutputDir, compiledOutputDir);
index 855279f3fc3e5f0e04e5fbcd50b4b995da9b88f8..bf578b88c08ee1312eee7c91962d56606eda6daf 100644 (file)
@@ -129,6 +129,7 @@ module foo {
             type int32-ext2;
             type empty;
             type my-decimal-type;
+            type bits-ext;
         }
     }