Speed up Union stringValue() generation 77/81077/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 19 Mar 2019 11:31:14 +0000 (12:31 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 21 Mar 2019 12:24:57 +0000 (13:24 +0100)
We can compare against well-known Types, which is faster than
going through FQCN.

Change-Id: I7f6a7bd143d94be48176d9d8e1fe56bd0e6eae8e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 3559737dc4dfd9ccb1d0d9b9d54ae648a24c226e)

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

index c4acfe905e260f45742d017bb6ca0c6256acfecb..93b862013f58d1b447a1a87492584dee0104dfab 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.binding.java.api.generator
 
 import static org.opendaylight.mdsal.binding.model.util.Types.BOOLEAN;
 import static org.opendaylight.mdsal.binding.model.util.Types.BYTE_ARRAY;
+import static org.opendaylight.mdsal.binding.model.util.Types.STRING;
 import static org.opendaylight.mdsal.binding.model.util.Types.getOuterClassName;
 
 import com.google.common.io.BaseEncoding
@@ -105,13 +106,13 @@ class UnionTemplate extends ClassTemplate {
                 «val field = property.fieldName»
             if («field» != null) {
                 «val propRet = property.returnType»
-                «IF "java.lang.String".equals(propRet.fullyQualifiedName
+                «IF STRING.equals(propRet
                     ««« type string
                 return «field»;
                 «ELSEIF "org.opendaylight.yangtools.yang.binding.InstanceIdentifier".equals(propRet.fullyQualifiedName)»
                     ««« type instance-identifier
                 return «field».toString();
-                «ELSEIF "byte[]".equals(propRet.name
+                «ELSEIF BYTE_ARRAY.equals(propRet
                     ««« type binary
                 return new «String.importedName»(«field»);
                 «ELSEIF propRet.fullyQualifiedName.startsWith("java.lang") || propRet instanceof Enumeration