Refactor: Reduce number of invocations of Stream#collect()
Change-Id: Idde16505cbe0a1e56e2b651678a0169df0d06bf7
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
index bc8d342..0631993 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/IntentManager.java
@@ -54,6 +54,7 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import static com.google.common.base.Preconditions.checkNotNull;
import static java.util.concurrent.Executors.newFixedThreadPool;
@@ -339,26 +340,24 @@
}
}
- private List<CompletableFuture<FinalIntentProcessPhase>> createIntentUpdates(Collection<IntentData> data) {
+ private Stream<CompletableFuture<FinalIntentProcessPhase>> createIntentUpdates(Collection<IntentData> data) {
return data.stream()
- .map(IntentManager.this::submitIntentData)
- .collect(Collectors.toList());
+ .map(IntentManager.this::submitIntentData);
}
- private List<FinalIntentProcessPhase> waitForFutures(List<CompletableFuture<FinalIntentProcessPhase>> futures) {
- return futures.stream()
+ private Stream<FinalIntentProcessPhase> waitForFutures(Stream<CompletableFuture<FinalIntentProcessPhase>> futures) {
+ return futures
.map(x -> x.exceptionally(e -> {
//FIXME
log.warn("Future failed: {}", e);
return null;
}))
.map(CompletableFuture::join)
- .filter(Objects::nonNull)
- .collect(Collectors.toList());
+ .filter(Objects::nonNull);
}
- private void submitUpdates(List<FinalIntentProcessPhase> updates) {
- store.batchWrite(updates.stream()
+ private void submitUpdates(Stream<FinalIntentProcessPhase> updates) {
+ store.batchWrite(updates
.map(FinalIntentProcessPhase::data)
.collect(Collectors.toList()));
}