Committed by
Gerrit Code Review
Refactor: Use Stream API instead of explicit loop
Change-Id: I6ed6aba185a0ce3680fe0612de801a466a848d78
Showing
1 changed file
with
8 additions
and
10 deletions
... | @@ -15,7 +15,6 @@ | ... | @@ -15,7 +15,6 @@ |
15 | */ | 15 | */ |
16 | package org.onosproject.net.intent.impl; | 16 | package org.onosproject.net.intent.impl; |
17 | 17 | ||
18 | -import com.google.common.collect.ImmutableList; | ||
19 | import org.apache.felix.scr.annotations.Activate; | 18 | import org.apache.felix.scr.annotations.Activate; |
20 | import org.apache.felix.scr.annotations.Component; | 19 | import org.apache.felix.scr.annotations.Component; |
21 | import org.apache.felix.scr.annotations.Deactivate; | 20 | import org.apache.felix.scr.annotations.Deactivate; |
... | @@ -50,9 +49,9 @@ import java.util.Collection; | ... | @@ -50,9 +49,9 @@ import java.util.Collection; |
50 | import java.util.EnumSet; | 49 | import java.util.EnumSet; |
51 | import java.util.List; | 50 | import java.util.List; |
52 | import java.util.Map; | 51 | import java.util.Map; |
52 | +import java.util.Objects; | ||
53 | import java.util.Optional; | 53 | import java.util.Optional; |
54 | import java.util.concurrent.CompletableFuture; | 54 | import java.util.concurrent.CompletableFuture; |
55 | -import java.util.concurrent.ExecutionException; | ||
56 | import java.util.concurrent.ExecutorService; | 55 | import java.util.concurrent.ExecutorService; |
57 | import java.util.stream.Collectors; | 56 | import java.util.stream.Collectors; |
58 | 57 | ||
... | @@ -340,16 +339,15 @@ public class IntentManager | ... | @@ -340,16 +339,15 @@ public class IntentManager |
340 | } | 339 | } |
341 | 340 | ||
342 | private List<FinalIntentProcessPhase> waitForFutures(List<CompletableFuture<FinalIntentProcessPhase>> futures) { | 341 | private List<FinalIntentProcessPhase> waitForFutures(List<CompletableFuture<FinalIntentProcessPhase>> futures) { |
343 | - ImmutableList.Builder<FinalIntentProcessPhase> updateBuilder = ImmutableList.builder(); | 342 | + return futures.stream() |
344 | - for (CompletableFuture<FinalIntentProcessPhase> future : futures) { | 343 | + .map(x -> x.exceptionally(e -> { |
345 | - try { | ||
346 | - updateBuilder.add(future.get()); | ||
347 | - } catch (InterruptedException | ExecutionException e) { | ||
348 | //FIXME | 344 | //FIXME |
349 | log.warn("Future failed: {}", e); | 345 | log.warn("Future failed: {}", e); |
350 | - } | 346 | + return null; |
351 | - } | 347 | + })) |
352 | - return updateBuilder.build(); | 348 | + .map(CompletableFuture::join) |
349 | + .filter(Objects::nonNull) | ||
350 | + .collect(Collectors.toList()); | ||
353 | } | 351 | } |
354 | 352 | ||
355 | private void submitUpdates(List<FinalIntentProcessPhase> updates) { | 353 | private void submitUpdates(List<FinalIntentProcessPhase> updates) { | ... | ... |
-
Please register or login to post a comment