Improved generation of toString() method.
authorMartin Vitez <mvitez@cisco.com>
Wed, 25 Sep 2013 11:03:45 +0000 (13:03 +0200)
committerMartin Vitez <mvitez@cisco.com>
Wed, 25 Sep 2013 11:03:45 +0000 (13:03 +0200)
If property from toStringProperties is an array, it will be printed using 'Arrays.toString(<property>)'.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend

index be6ac9bdc5b46c09437d8866dd49657c56559f95..b97e9b01cf279ab2bdf23e238b97a257aae1383f 100644 (file)
@@ -331,10 +331,19 @@ class ClassTemplate extends BaseTemplate {
                 StringBuilder builder = new StringBuilder();\r
                 «val properties = genTO.toStringIdentifiers»\r
                 builder.append("«type.name» [«properties.get(0).fieldName»=");\r
+                «IF properties.get(0).returnType.name.contains("[")»\r
+                    builder.append(java.util.Arrays.toString(«properties.get(0).fieldName»));\r
+                «ELSE»\r
+                    builder.append(«properties.get(0).fieldName»);\r
+                «ENDIF»\r
                 builder.append(«properties.get(0).fieldName»);\r
                 «FOR i : 1..<genTO.toStringIdentifiers.size»\r
                     builder.append(", «properties.get(i).fieldName»=");\r
-                    builder.append(«properties.get(i).fieldName»);\r
+                    «IF properties.get(i).returnType.name.contains("[")»\r
+                        builder.append(java.util.Arrays.toString(«properties.get(i).fieldName»));\r
+                    «ELSE»\r
+                        builder.append(«properties.get(i).fieldName»);\r
+                    «ENDIF»\r
                 «ENDFOR»\r
                 builder.append("]");\r
                 return builder.toString();\r