Fix getValue() of bits in union
[mdsal.git] / 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();