From eb27c8b74278524e1c9aafec098e79d2dbe613b0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 5 Dec 2022 18:50:10 +0100 Subject: [PATCH] Fix union/bits string mapping 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 --- .../mdsal/binding/java/api/generator/UnionTemplate.xtend | 2 +- .../binding/java/api/generator/TypedefCompilationTest.java | 7 ++++--- .../src/test/resources/compilation/typedef/foo.yang | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend index f8a765f0b5..9b94f1e328 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend @@ -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(); diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java index 6e42d65fc4..91c1d40630 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/TypedefCompilationTest.java @@ -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); diff --git a/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/typedef/foo.yang b/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/typedef/foo.yang index 855279f3fc..bf578b88c0 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/typedef/foo.yang +++ b/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/typedef/foo.yang @@ -129,6 +129,7 @@ module foo { type int32-ext2; type empty; type my-decimal-type; + type bits-ext; } } -- 2.36.6