Use CompletableFuture.failedFuture() in CheckedValue 05/87105/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 23 Jan 2020 12:53:01 +0000 (13:53 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 23 Jan 2020 12:53:44 +0000 (13:53 +0100)
Java 9 improves usability here, allowing us to trim some code.

Change-Id: I7b723b86bd8ab18ecf4bb81caa41cbe0642c4056
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/CheckedValue.java

index 45fb7fe87de47a86550a139d4b35cb5f1ef38bd0..5bac7cb735b469c1e4ebab24f7a87e9aa8f9c8dc 100644 (file)
@@ -12,7 +12,6 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.annotations.Beta;
 import com.google.common.util.concurrent.FluentFuture;
 import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.concurrent.CompletableFuture;
 import java.util.function.Consumer;
@@ -144,13 +143,9 @@ public class CheckedValue<T, E extends Exception> extends Variant<T, E> {
     @SuppressWarnings("unchecked")
     public <X extends Exception> CheckedValue<T, X> mapException(final Function<? super E, X> mapper) {
         requireNonNull(mapper);
-        if (isFirst()) {
-            return (CheckedValue<T, X>) this;
-        }
-        return new CheckedValue<>(mapper.apply(second()), null);
+        return isFirst() ? (CheckedValue<T, X>) this : new CheckedValue<>(mapper.apply(second()), null);
     }
 
-
     @SuppressWarnings("unchecked")
     public <U> CheckedValue<U, E> flatMap(final Function<? super T, CheckedValue<U, E>> mapper) {
         requireNonNull(mapper);
@@ -255,13 +250,7 @@ public class CheckedValue<T, E extends Exception> extends Variant<T, E> {
      * @return A {@link CompletableFuture}.
      */
     public final CompletableFuture<T> toCompletableFuture() {
-        if (isFirst()) {
-            return CompletableFuture.completedFuture(first());
-        }
-        // FIXME: Java 9: use CompletableFuture.failedFuture()
-        final CompletableFuture<T> future = new CompletableFuture<>();
-        future.completeExceptionally(second());
-        return future;
+        return isFirst() ? CompletableFuture.completedFuture(first()) : CompletableFuture.failedFuture(second());
     }
 
     /**
@@ -271,12 +260,7 @@ public class CheckedValue<T, E extends Exception> extends Variant<T, E> {
      * @return A {@link FluentFuture}.
      */
     public final FluentFuture<T> toFluentFuture() {
-        final ListenableFuture<T> future;
-        if (isFirst()) {
-            future = Futures.immediateFuture(first());
-        } else {
-            future = Futures.immediateFailedFuture(second());
-        }
-        return FluentFuture.from(future);
+        return FluentFuture.from(isFirst() ? Futures.immediateFuture(first())
+                : Futures.immediateFailedFuture(second()));
     }
 }