Bug 6165: Do not omit java.lang prefix in various places 08/41408/5
authorVratko Polak <vrpolak@cisco.com>
Mon, 1 Aug 2016 15:15:46 +0000 (17:15 +0200)
committerTony Tkacik <ttkacik@cisco.com>
Mon, 8 Aug 2016 08:23:26 +0000 (08:23 +0000)
Yang expression "typedef String" leads to java class String,
creating potential naming conflict with java.lang.String.
Few places places in EnumTemplate are fixed by using «String.importedName».

Also, YangModuleInfoTemplate#getExplicitType
no longer removes java.lang unconditionally.

+ Ifs against void are re-ordered to occur sooner in getExplicitType.

Change-Id: If014aca30875589e361733317dfb47eaa07df031
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/EnumTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/YangModuleInfoTemplate.xtend

index bfeeae5b978ce8b7cb612cdfcd92d65f02efdad7..4f0acce4f686411642eff97ff5a7ca915b097538 100644 (file)
@@ -59,7 +59,7 @@ class EnumTemplate extends BaseTemplate {
             «writeEnumeration(enums)»
 
 
-            String name;
+            «String.importedName» name;
             int value;
             private static final java.util.Map<java.lang.Integer, «enums.name»> VALUE_MAP;
 
@@ -73,7 +73,7 @@ class EnumTemplate extends BaseTemplate {
                 VALUE_MAP = b.build();
             }
 
-            private «enums.name»(int value, String name) {
+            private «enums.name»(int value, «String.importedName» name) {
                 this.value = value;
                 this.name = name;
             }
@@ -83,7 +83,7 @@ class EnumTemplate extends BaseTemplate {
              *
              * @return the name of the enumeration item as it is specified in the input yang
              */
-            public String getName() {
+            public «String.importedName» getName() {
                 return name;
             }
 
index 64693702ff05b90f4fcd6f92e0e822385ed09d96..850e35e68f0a11a6cdf17c9a5f3b5c5a78fdaca7 100644 (file)
@@ -232,24 +232,20 @@ class YangModuleInfoTemplate {
         var StringBuilder builder;
         if (typePackageName.equals(importedPackageName)) {
             builder = new StringBuilder(type.getName());
-            addActualTypeParameters(builder, type);
             if (builder.toString().equals("Void")) {
                 return "void";
             }
+            addActualTypeParameters(builder, type);
         } else {
-            builder = new StringBuilder();
-            if (typePackageName.startsWith("java.lang")) {
-                builder.append(type.getName());
-            } else {
-                if (!typePackageName.isEmpty()) {
-                    builder.append(typePackageName + Constants.DOT + type.getName());
-                } else {
-                    builder.append(type.getName());
-                }
-            }
             if (type.equals(Types.voidType())) {
                 return "void";
             }
+            builder = new StringBuilder();
+            if (!typePackageName.isEmpty()) {
+                builder.append(typePackageName + Constants.DOT + type.getName());
+            } else {
+                builder.append(type.getName());
+            }
             addActualTypeParameters(builder, type);
         }
         return builder.toString();