Append result entries directly to result 10/69210/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 7 Mar 2018 13:40:48 +0000 (14:40 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 7 Mar 2018 13:48:04 +0000 (14:48 +0100)
Instead of using Collectors.toList() and addAll(), use a direct
result:add methodhandle.

Change-Id: Ib055d675c125cac3ed957399709434c0b8255703
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding2/mdsal-binding2-generator-api/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/context/ModuleContext.java

index 755686df9906142d510232287db236a33d96a88f..9d730b642d80859c604c9adc2eaf74220a88a017 100644 (file)
@@ -17,14 +17,15 @@ import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Multimap;
 import com.google.common.collect.Multimaps;
+import com.google.common.collect.Streams;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
-import java.util.stream.Collectors;
 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
 import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTOBuilder;
 import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTypeBuilder;
@@ -70,15 +71,17 @@ public final class ModuleContext {
             result.add(this.moduleNode.toInstance());
         }
 
-        result.addAll(this.genTOs.values().stream().map(GeneratedTOBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.typedefs.values().stream().filter(b -> b != null).collect(Collectors.toList()));
-        result.addAll(this.dataTypes.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.groupings.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.cases.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.identities.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.topLevelNodes.stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.augmentations.stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
-        result.addAll(this.keyTypes.values().stream().map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList()));
+        Streams.concat(
+            this.genTOs.values().stream().map(GeneratedTOBuilder::toInstance),
+            this.typedefs.values().stream().filter(Objects::nonNull),
+            this.dataTypes.values().stream().map(GeneratedTypeBuilder::toInstance),
+            this.groupings.values().stream().map(GeneratedTypeBuilder::toInstance),
+            this.cases.values().stream().map(GeneratedTypeBuilder::toInstance),
+            this.identities.values().stream().map(GeneratedTypeBuilder::toInstance),
+            this.topLevelNodes.stream().map(GeneratedTypeBuilder::toInstance),
+            this.augmentations.stream().map(GeneratedTypeBuilder::toInstance),
+            this.keyTypes.values().stream().map(GeneratedTypeBuilder::toInstance))
+        .forEach(result::add);
         return ImmutableList.copyOf(result);
     }