DATACMNS-836 - Cleanups.
- Rename RxJava...Repository to RxJava1...Repository - Use Completable and Observable instead of Single for results without values/optional values - Remove reactive paging for now as it does not really fit reactive data streaming - Expose ReactiveWrappers.isAvailable(ReactiveLibrary) method to query library availability
This commit is contained in:
committed by
Oliver Gierke
parent
474c9981da
commit
dd2fe0a34d
@@ -30,12 +30,12 @@ import org.reactivestreams.Publisher;
|
||||
import org.springframework.core.convert.support.DefaultConversionService;
|
||||
import org.springframework.data.repository.core.RepositoryMetadata;
|
||||
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
|
||||
import org.springframework.data.repository.reactive.ReactivePagingAndSortingRepository;
|
||||
import org.springframework.data.repository.reactive.RxJavaCrudRepository;
|
||||
import org.springframework.data.repository.reactive.ReactiveSortingRepository;
|
||||
import org.springframework.data.repository.reactive.RxJava1CrudRepository;
|
||||
import org.springframework.data.repository.util.QueryExecutionConverters;
|
||||
|
||||
/**
|
||||
* Unit tests for {@link ConvertingMethodParameterRepositoryInformation}.
|
||||
* Unit tests for {@link ReactiveRepositoryInformation}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
@@ -47,8 +47,8 @@ public class ReactiveRepositoryInformationUnitTests {
|
||||
@Test
|
||||
public void discoversMethodWithoutComparingReturnType() throws Exception {
|
||||
|
||||
Method method = RxJavaInterfaceWithGenerics.class.getMethod("deleteAll");
|
||||
RepositoryMetadata metadata = new DefaultRepositoryMetadata(RxJavaInterfaceWithGenerics.class);
|
||||
Method method = RxJava1InterfaceWithGenerics.class.getMethod("deleteAll");
|
||||
RepositoryMetadata metadata = new DefaultRepositoryMetadata(RxJava1InterfaceWithGenerics.class);
|
||||
DefaultRepositoryInformation information = new DefaultRepositoryInformation(metadata, REPOSITORY, null);
|
||||
|
||||
Method reference = information.getTargetClassMethod(method);
|
||||
@@ -62,8 +62,8 @@ public class ReactiveRepositoryInformationUnitTests {
|
||||
DefaultConversionService conversionService = new DefaultConversionService();
|
||||
QueryExecutionConverters.registerConvertersIn(conversionService);
|
||||
|
||||
Method method = RxJavaInterfaceWithGenerics.class.getMethod("save", Observable.class);
|
||||
RepositoryMetadata metadata = new DefaultRepositoryMetadata(RxJavaInterfaceWithGenerics.class);
|
||||
Method method = RxJava1InterfaceWithGenerics.class.getMethod("save", Observable.class);
|
||||
RepositoryMetadata metadata = new DefaultRepositoryMetadata(RxJava1InterfaceWithGenerics.class);
|
||||
DefaultRepositoryInformation information = new ReactiveRepositoryInformation(metadata, REPOSITORY, null,
|
||||
conversionService);
|
||||
|
||||
@@ -79,7 +79,7 @@ public class ReactiveRepositoryInformationUnitTests {
|
||||
DefaultConversionService conversionService = new DefaultConversionService();
|
||||
QueryExecutionConverters.registerConvertersIn(conversionService);
|
||||
|
||||
Method method = ReactivePagingAndSortingRepository.class.getMethod("save", Publisher.class);
|
||||
Method method = ReactiveSortingRepository.class.getMethod("save", Publisher.class);
|
||||
RepositoryMetadata metadata = new DefaultRepositoryMetadata(ReactiveJavaInterfaceWithGenerics.class);
|
||||
DefaultRepositoryInformation information = new ReactiveRepositoryInformation(metadata, REPOSITORY, null,
|
||||
conversionService);
|
||||
@@ -124,7 +124,8 @@ public class ReactiveRepositoryInformationUnitTests {
|
||||
assertThat(reference.getParameterTypes()[0], is(equalTo(Object.class)));
|
||||
}
|
||||
|
||||
interface RxJavaInterfaceWithGenerics extends RxJavaCrudRepository<User, String> {}
|
||||
interface RxJava1InterfaceWithGenerics extends RxJava1CrudRepository<User, String>
|
||||
{}
|
||||
|
||||
interface ReactiveJavaInterfaceWithGenerics extends ReactiveCrudRepository<User, String> {}
|
||||
|
||||
|
||||
@@ -15,7 +15,10 @@
|
||||
*/
|
||||
package org.springframework.data.repository.core.support;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@@ -28,7 +31,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.core.convert.support.DefaultConversionService;
|
||||
import org.springframework.data.repository.Repository;
|
||||
import org.springframework.data.repository.reactive.ReactivePagingAndSortingRepository;
|
||||
import org.springframework.data.repository.reactive.ReactiveSortingRepository;
|
||||
import org.springframework.data.repository.util.QueryExecutionConverters;
|
||||
|
||||
import reactor.core.publisher.Mono;
|
||||
@@ -46,7 +49,7 @@ public class ReactiveWrapperRepositoryFactorySupportUnitTests {
|
||||
|
||||
DummyRepositoryFactory factory;
|
||||
|
||||
@Mock ReactivePagingAndSortingRepository<Object, Serializable> backingRepo;
|
||||
@Mock ReactiveSortingRepository<Object, Serializable> backingRepo;
|
||||
@Mock ObjectRepositoryCustom customImplementation;
|
||||
|
||||
@Before
|
||||
|
||||
@@ -15,13 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.repository.util;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.*;
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.reactivestreams.Publisher;
|
||||
|
||||
import io.reactivex.Flowable;
|
||||
import org.springframework.data.repository.util.ReactiveWrapperConverters;
|
||||
import io.reactivex.Maybe;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
import rx.Completable;
|
||||
@@ -202,6 +201,27 @@ public class ReactiveWrapperConvertersUnitTests {
|
||||
assertThat(ReactiveWrapperConverters.toWrapper(foo, Flux.class)).isInstanceOf(Flux.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see DATACMNS-836
|
||||
*/
|
||||
@Test
|
||||
public void toWrapperShouldConvertRxJava2ObservableToSingle() {
|
||||
|
||||
io.reactivex.Observable<String> foo = io.reactivex.Observable.just("foo");
|
||||
assertThat(ReactiveWrapperConverters.toWrapper(foo, io.reactivex.Single.class))
|
||||
.isInstanceOf(io.reactivex.Single.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see DATACMNS-836
|
||||
*/
|
||||
@Test
|
||||
public void toWrapperShouldConvertRxJava2ObservableToMaybe() {
|
||||
|
||||
io.reactivex.Observable<String> foo = io.reactivex.Observable.empty();
|
||||
assertThat(ReactiveWrapperConverters.toWrapper(foo, Maybe.class)).isInstanceOf(Maybe.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see DATACMNS-836
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user