Fix getValue() of bits in union 33/51333/1
authorXiao Liang <shaw.leon@gmail.com>
Wed, 11 Jan 2017 05:59:14 +0000 (05:59 +0000)
committerMartin Ciglan <mciglan@cisco.com>
Thu, 2 Feb 2017 10:11:44 +0000 (10:11 +0000)
Call Arrays.toString instead of calling toString directly for bits in union,
since getValue() of bits returns boolean[].

Change-Id: I4b06c95f07ff6d5ff81dc17613ed972b453db184
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
(cherry picked from commit b689dd6d7ce7ea26fa1f580c5d354749df90a31b)

binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/UnionTemplate.xtend

index b2bc7c3e16cf3771aef21fc8d858717c9c50aaf5..85cdbde306c0e12e98fe56242f8c05955d38b4ea 100644 (file)
@@ -13,6 +13,7 @@ import java.beans.ConstructorProperties
 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedProperty
 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject
 import org.opendaylight.yangtools.sal.binding.model.api.Enumeration
+import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition
 
 /**
  * Template for generating JAVA class.
@@ -159,6 +160,11 @@ class UnionTemplate extends ClassTemplate {
                                     && "byte[]".equals((propRet as GeneratedTransferObject).properties.get(0).returnType.name)»
                                 ««« generated byte[] typedef
                                 «field.fieldName» = BaseEncoding.base64().encode(«property.fieldName».getValue()).toCharArray();
+                            «ELSEIF propRet instanceof GeneratedTransferObject // Is it a GeneratedTransferObject
+                                    && (propRet as GeneratedTransferObject).typedef  // Is it a typedef
+                                    && (propRet as GeneratedTransferObject).baseType instanceof BitsTypeDefinition»
+                                ««« generated bits typedef
+                                «field.fieldName» = java.util.Arrays.toString(«property.fieldName».getValue()).toCharArray();
                             «ELSE»
                                 ««« generated type
                                 «field.fieldName» = «property.fieldName».getValue().toString().toCharArray();