diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java index c89f76b9b..0b32e02e5 100644 --- a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java +++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java @@ -130,8 +130,7 @@ public class ReactiveWrapperConverters { */ public static boolean supports(Class type) { return RegistryHolder.REACTIVE_ADAPTER_REGISTRY != null - && RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(type) != null - && RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(type).getDescriptor().isDeferred(); + && RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(type) != null; } /** diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java index be04233bc..f56caed69 100644 --- a/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java +++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java @@ -42,6 +42,7 @@ import org.springframework.util.ClassUtils; * @author Mark Paluch * @author Christoph Strobl * @author Oliver Gierke + * @author Gerrit Meier * @since 2.0 * @see org.reactivestreams.Publisher * @see rx.Single @@ -137,9 +138,7 @@ public class ReactiveWrappers { return Arrays.stream(type.getMethods())// .flatMap(ReflectionUtils::returnTypeAndParameters)// - .anyMatch(possibleReactiveSupportedType -> - ReactiveWrapperConverters.supports(possibleReactiveSupportedType) - && findDescriptor(possibleReactiveSupportedType).isPresent()); + .anyMatch(ReactiveWrappers::supports); } /** @@ -250,7 +249,7 @@ public class ReactiveWrappers { ReactiveAdapter adapter = adapterRegistry.getAdapter(type); if (adapter != null && adapter.getDescriptor().isDeferred()) { - return Optional.ofNullable(adapter.getDescriptor()); + return Optional.of(adapter.getDescriptor()); } return Optional.empty(); diff --git a/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java b/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java index dfa9cc2c8..cc3f4191d 100644 --- a/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java @@ -24,8 +24,6 @@ import rx.Completable; import rx.Observable; import rx.Single; -import java.util.concurrent.CompletableFuture; - import org.junit.jupiter.api.Test; import org.reactivestreams.Publisher; @@ -63,11 +61,6 @@ class ReactiveWrapperConvertersUnitTests { assertThat(ReactiveWrapperConverters.supports(io.reactivex.Completable.class)).isTrue(); } - @Test // DATACMNS-1753 - void shouldNotSupportCompletableFuture() { - assertThat(ReactiveWrapperConverters.supports(CompletableFuture.class)).isFalse(); - } - @Test // DATACMNS-836 void toWrapperShouldCastMonoToMono() { diff --git a/src/test/java/org/springframework/data/repository/util/ReactiveWrappersUnitTests.java b/src/test/java/org/springframework/data/repository/util/ReactiveWrappersUnitTests.java index 6d8f0ede9..01f89c434 100644 --- a/src/test/java/org/springframework/data/repository/util/ReactiveWrappersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/util/ReactiveWrappersUnitTests.java @@ -33,10 +33,11 @@ import org.reactivestreams.Publisher; * Unit tests for {@link ReactiveWrappers}. * * @author Mark Paluch + * @author Gerrit Meier */ class ReactiveWrappersUnitTests { - @Test // DATACMNS-836 + @Test // DATACMNS-836, DATACMNS-1753 void isSingleLikeShouldReportCorrectNoTypes() { assertThat(ReactiveWrappers.isNoValueType(Mono.class)).isFalse(); @@ -52,7 +53,7 @@ class ReactiveWrappersUnitTests { assertThat(ReactiveWrappers.isNoValueType(io.reactivex.Observable.class)).isFalse(); } - @Test // DATACMNS-836 + @Test // DATACMNS-836, DATACMNS-1753 void isSingleLikeShouldReportCorrectSingleTypes() { assertThat(ReactiveWrappers.isSingleValueType(Mono.class)).isTrue(); @@ -69,7 +70,7 @@ class ReactiveWrappersUnitTests { assertThat(ReactiveWrappers.isSingleValueType(io.reactivex.Observable.class)).isFalse(); } - @Test // DATACMNS-836 + @Test // DATACMNS-836, DATACMNS-1753 void isCollectionLikeShouldReportCorrectCollectionTypes() { assertThat(ReactiveWrappers.isMultiValueType(Mono.class)).isFalse();