Optimize JavaIdentifierNormalizer.normalizeClassIdentifier() 63/60463/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 5 Jul 2017 10:17:04 +0000 (12:17 +0200)
committerMartin Ciglan <martin.ciglan@pantheon.tech>
Mon, 17 Jul 2017 10:43:42 +0000 (10:43 +0000)
Do not use toLowerCase() in order to perform a simple compare.

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

binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/JavaIdentifierNormalizer.java

index 8ff3763dd01847f15c2db5687e38b067b5ed8c6f..038d95017e6199a403d7a887d53b54e4468a85ea 100644 (file)
@@ -438,12 +438,12 @@ public final class JavaIdentifierNormalizer {
      */
     private static String normalizeClassIdentifier(final String packageName, final String origClassName,
             final String actualClassName, final int rank) {
+
+        // FIXME: this does not look thread-safe and seems to leak memory
         if (PACKAGES_MAP.containsKey(packageName)) {
             for (final String existingName : PACKAGES_MAP.get(packageName)) {
-                if (existingName.toLowerCase().equals(actualClassName.toLowerCase())) {
-                    final int nextRank = rank + 1;
-                    return normalizeClassIdentifier(packageName, origClassName,
-                            new StringBuilder(origClassName).append(rank).toString(), nextRank);
+                if (actualClassName.equalsIgnoreCase(existingName)) {
+                    return normalizeClassIdentifier(packageName, origClassName, origClassName + rank, rank + 1);
                 }
             }
         }