openwebbeans-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rmannibu...@apache.org
Subject svn commit: r1797963 - /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
Date Wed, 07 Jun 2017 16:01:37 GMT
Author: rmannibucau
Date: Wed Jun  7 16:01:36 2017
New Revision: 1797963

URL: http://svn.apache.org/viewvc?rev=1797963&view=rev
Log:
using right future to submit the job

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java?rev=1797963&r1=1797962&r2=1797963&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
(original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
Wed Jun  7 16:01:36 2017
@@ -45,7 +45,6 @@ import java.util.concurrent.CopyOnWriteA
 import java.util.concurrent.Executor;
 import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.RejectedExecutionException;
-import java.util.stream.Stream;
 
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.event.NotificationOptions;
@@ -774,10 +773,10 @@ public final class NotificationManager
             }
         }
 
-        return async ? complete(completableFutures.toArray(new CompletableFuture[completableFutures.size()]),
(T) event) : null;
+        return async ? complete(completableFutures, (T) event) : null;
     }
 
-    private <T> CompletableFuture<T> complete(CompletableFuture<Void>[]
completableFutures, T event)
+    private <T> CompletableFuture<T> complete(final List<CompletableFuture<Void>>
completableFutures, T event)
     {
         if (completableFutures == null)
         {
@@ -785,17 +784,19 @@ public final class NotificationManager
         }
         final CDICompletionFuture<T> future = new CDICompletionFuture<>(event);
         // propagate the exception to the future aggregator (CDICompletionFuture)
-        Stream.of(completableFutures).forEach(f -> f.exceptionally(e ->
-        {
-            future.addError(e);
-            return null;
-        }));
+        CompletableFuture[] futures = completableFutures.stream()
+                .map(f -> f.exceptionally(e ->
+                {
+                    future.addError(e);
+                    return null;
+                })).toArray(CompletableFuture[]::new);
         // execute all futures and *once done* complete our future
-        CompletableFuture.allOf(completableFutures).handle((e, t) ->
-        {
-            future.done();
-            return null;
-        });
+        CompletableFuture.allOf(futures)
+                .handle((e, t) ->
+                {
+                    future.done();
+                    return null;
+                });
         return future;
     }
 



Mime
View raw message