Do not open-code ImmutableMap.copyOf() 40/68940/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 1 Mar 2018 10:15:06 +0000 (11:15 +0100)
committerTom Pantelis <tompantelis@gmail.com>
Thu, 1 Mar 2018 12:59:27 +0000 (12:59 +0000)
This is a remnant of the early days when we did not want to depend
on Guava. Do not generate open-coded map squashing code but rather
use ImmutableMap.copyOf().

Change-Id: I4700b4c17aecbe604ddf62f817481f0067babf7a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend

index 877f26542b5485c59f08deba77bb29a85fcc89bf..6113ce93342421af70ff204664a11964858d7947 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.mdsal.binding.java.api.generator
 
+import com.google.common.collect.ImmutableMap
 import com.google.common.collect.ImmutableSortedSet
 import java.util.ArrayList
 import java.util.Arrays
@@ -537,17 +538,7 @@ class BuilderTemplate extends BaseTemplate {
             «ENDFOR»
             «IF augmentField !== null»
                 «IF impl»
-                    switch (base.«augmentField.name».size()) {
-                    case 0:
-                        this.«augmentField.name» = «Collections.importedName».emptyMap();
-                        break;
-                    case 1:
-                        final «Map.importedName».Entry<«Class.importedName»<? extends «augmentField.returnType.importedName»>, «augmentField.returnType.importedName»> e = base.«augmentField.name».entrySet().iterator().next();
-                        this.«augmentField.name» = «Collections.importedName».<«Class.importedName»<? extends «augmentField.returnType.importedName»>, «augmentField.returnType.importedName»>singletonMap(e.getKey(), e.getValue());
-                        break;
-                    default :
-                        this.«augmentField.name» = new «HashMap.importedName»<>(base.«augmentField.name»);
-                    }
+                    this.«augmentField.name» = «ImmutableMap.importedName».copyOf(base.«augmentField.name»);
                 «ELSE»
                     if (base instanceof «type.name»«IMPL») {
                         «type.name»«IMPL» impl = («type.name»«IMPL») base;