This is an automated email from the ASF dual-hosted git repository. daim pushed a commit to branch OAK-12131 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit af3837d4d44714b10caac2770d817446105135fe Author: rishabhdaim <[email protected]> AuthorDate: Fri Mar 6 17:44:40 2026 +0530 OAK-12131 : remove Guava SettableFuture usage from FutureUtilsTest --- .../internal/concurrent/FutureUtilsTest.java | 139 +++++---------------- 1 file changed, 28 insertions(+), 111 deletions(-) diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/FutureUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/FutureUtilsTest.java index 21f489fc2a..116da2ac5b 100644 --- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/FutureUtilsTest.java +++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/internal/concurrent/FutureUtilsTest.java @@ -18,9 +18,6 @@ */ package org.apache.jackrabbit.oak.commons.internal.concurrent; -import org.apache.jackrabbit.guava.common.util.concurrent.Futures; -import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture; -import org.apache.jackrabbit.guava.common.util.concurrent.SettableFuture; import org.junit.Assert; import org.junit.Test; @@ -38,21 +35,11 @@ public class FutureUtilsTest { public void successfulAsListAllSuccessful() throws Exception { CompletableFuture<String> cf1 = CompletableFuture.completedFuture("a"); CompletableFuture<String> cf2 = CompletableFuture.completedFuture("b"); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.set("a"); - lf2.set("b"); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<String> result = FutureUtils.successfulAsList(futures).get(); - // Native JDK method - List<String> jdkResults = FutureUtils.successfulAsList(jdkFutures).get(); - - // Guava method (blocking) - List<String> guavaResults = Futures.successfulAsList(guavaFutures).get(); - - Assert.assertEquals(guavaResults, jdkResults); + Assert.assertEquals(Arrays.asList("a", "b"), result); } @Test @@ -60,21 +47,11 @@ public class FutureUtilsTest { CompletableFuture<String> cf1 = CompletableFuture.completedFuture("a"); CompletableFuture<String> cf2 = new CompletableFuture<>(); cf2.completeExceptionally(new RuntimeException("fail")); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); - - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.set("a"); - lf2.setException(new RuntimeException("fail")); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - // Native JDK method - List<String> jdkResults = FutureUtils.successfulAsList(jdkFutures).get(); + List<String> result = FutureUtils.successfulAsList(futures).get(); - // Guava method (blocking) - List<String> guavaResults = Futures.successfulAsList(guavaFutures).get(); - - Assert.assertEquals(guavaResults, jdkResults); + Assert.assertEquals(Arrays.asList("a", null), result); } @Test @@ -83,54 +60,29 @@ public class FutureUtilsTest { cf1.completeExceptionally(new RuntimeException("fail A")); CompletableFuture<String> cf2 = new CompletableFuture<>(); cf2.completeExceptionally(new RuntimeException("fail B")); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); - - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.setException(new RuntimeException("fail A")); - lf2.setException(new RuntimeException("fail B")); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - // Native JDK method - List<String> jdkResults = FutureUtils.successfulAsList(jdkFutures).get(); + List<String> result = FutureUtils.successfulAsList(futures).get(); - // Guava method (blocking) - List<String> guavaResults = Futures.successfulAsList(guavaFutures).get(); - - Assert.assertEquals(guavaResults, jdkResults); + Assert.assertEquals(Arrays.asList(null, null), result); } @Test public void successfulAsListEmptyList() throws Exception { - List<CompletableFuture<String>> jdkFutures = List.of(); - List<ListenableFuture<String>> guavaFutures = List.of(); - - List<String> jdkResult = FutureUtils.successfulAsList(jdkFutures).get(); - List<String> guavaResult = Futures.successfulAsList(guavaFutures).get(); + List<Object> result = FutureUtils.successfulAsList(List.of()).get(); - Assert.assertEquals(guavaResult, jdkResult); - Assert.assertTrue(jdkResult.isEmpty()); + Assert.assertTrue(result.isEmpty()); } @Test public void allAsListAllSuccessful() throws Exception { CompletableFuture<String> cf1 = CompletableFuture.completedFuture("foo"); CompletableFuture<String> cf2 = CompletableFuture.completedFuture("bar"); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); - - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.set("foo"); - lf2.set("bar"); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - // Native JDK method - List<String> jdkResults = FutureUtils.allAsList(jdkFutures).get(); + List<String> result = FutureUtils.allAsList(futures).get(); - // Guava method (blocking) - List<String> guavaResults = Futures.allAsList(guavaFutures).get(); - - Assert.assertEquals(guavaResults, jdkResults); + Assert.assertEquals(Arrays.asList("foo", "bar"), result); } @Test @@ -138,32 +90,17 @@ public class FutureUtilsTest { CompletableFuture<String> cf1 = CompletableFuture.completedFuture("ok"); CompletableFuture<String> cf2 = new CompletableFuture<>(); cf2.completeExceptionally(new IllegalStateException("fail")); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); - - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.set("ok"); - lf2.setException(new IllegalStateException("fail")); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - boolean jdkFailed; + boolean failed; try { - FutureUtils.allAsList(jdkFutures).get(); - jdkFailed = false; + FutureUtils.allAsList(futures).get(); + failed = false; } catch (ExecutionException e) { - jdkFailed = true; + failed = true; } - boolean guavaFailed; - try { - Futures.allAsList(guavaFutures).get(); - guavaFailed = false; - } catch (ExecutionException e) { - guavaFailed = true; - } - - Assert.assertTrue(jdkFailed); - Assert.assertTrue(guavaFailed); + Assert.assertTrue(failed); } @Test @@ -172,44 +109,24 @@ public class FutureUtilsTest { cf1.completeExceptionally(new RuntimeException("f1 failed")); CompletableFuture<String> cf2 = new CompletableFuture<>(); cf2.completeExceptionally(new RuntimeException("f2 failed")); - List<CompletableFuture<String>> jdkFutures = Arrays.asList(cf1, cf2); - - SettableFuture<String> lf1 = SettableFuture.create(); - SettableFuture<String> lf2 = SettableFuture.create(); - lf1.setException(new RuntimeException("f1 failed")); - lf2.setException(new RuntimeException("f2 failed")); - List<ListenableFuture<String>> guavaFutures = Arrays.asList(lf1, lf2); + List<CompletableFuture<String>> futures = Arrays.asList(cf1, cf2); - boolean jdkFailed; + boolean failed; try { - FutureUtils.allAsList(jdkFutures).get(); - jdkFailed = false; + FutureUtils.allAsList(futures).get(); + failed = false; } catch (ExecutionException e) { - jdkFailed = true; + failed = true; } - boolean guavaFailed; - try { - Futures.allAsList(guavaFutures).get(); - guavaFailed = false; - } catch (ExecutionException e) { - guavaFailed = true; - } - - Assert.assertTrue(jdkFailed); - Assert.assertTrue(guavaFailed); + Assert.assertTrue(failed); } @Test public void allAsListEmptyList() throws Exception { - List<CompletableFuture<String>> jdkFutures = List.of(); - List<ListenableFuture<String>> guavaFutures = List.of(); - - List<String> jdkResult = FutureUtils.allAsList(jdkFutures).get(); - List<String> guavaResult = Futures.allAsList(guavaFutures).get(); + List<Object> result = FutureUtils.allAsList(List.of()).get(); - Assert.assertTrue(jdkResult.isEmpty()); - Assert.assertTrue(guavaResult.isEmpty()); + Assert.assertTrue(result.isEmpty()); } } \ No newline at end of file
