Bug 6126: Use importedName for java.lang types in ClassTemplate 40/41040/4
authorVratko Polak <vrpolak@cisco.com>
Mon, 1 Aug 2016 14:31:34 +0000 (16:31 +0200)
committerVratko Polak <vrpolak@cisco.com>
Mon, 1 Aug 2016 14:31:34 +0000 (16:31 +0200)
There may be a type definition in Yang, which generates class name
which are the same as a class name in java.lang.

This patch fixes the conflict at defaultInstance(),
there may be other places which need fixing.

Change-Id: I3a73b5bb284db031dbfd45468cbbb8dd2a354737
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Signed-off-by: Filip Gregor <fgregor@cisco.com>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/ClassTemplate.xtend

index ba35b65ddcf78d9dd416ff8768406d577f87dc34..8c8f5ff0763a61fa591562141f764b38d59b1488 100644 (file)
@@ -336,15 +336,15 @@ class ClassTemplate extends BaseTemplate {
                 «ELSEIF allProperties.size > 1»
                     «bitsArgs»
                 «ELSEIF "java.lang.Boolean".equals(prop.returnType.fullyQualifiedName)»
-                    return new «genTO.name»(Boolean.valueOf(defaultValue));
+                    return new «genTO.name»(«Boolean.importedName».valueOf(defaultValue));
                 «ELSEIF "java.lang.Byte".equals(prop.returnType.fullyQualifiedName)»
-                    return new «genTO.name»(Byte.valueOf(defaultValue));
+                    return new «genTO.name»(«Byte.importedName».valueOf(defaultValue));
                 «ELSEIF "java.lang.Short".equals(prop.returnType.fullyQualifiedName)»
-                    return new «genTO.name»(Short.valueOf(defaultValue));
+                    return new «genTO.name»(«Short.importedName».valueOf(defaultValue));
                 «ELSEIF "java.lang.Integer".equals(prop.returnType.fullyQualifiedName)»
-                    return new «genTO.name»(Integer.valueOf(defaultValue));
+                    return new «genTO.name»(«Integer.importedName».valueOf(defaultValue));
                 «ELSEIF "java.lang.Long".equals(prop.returnType.fullyQualifiedName)»
-                    return new «genTO.name»(Long.valueOf(defaultValue));
+                    return new «genTO.name»(«Long.importedName».valueOf(defaultValue));
                 «ELSE»
                     return new «genTO.name»(new «prop.returnType.importedName»(defaultValue));
                 «ENDIF»