From 07da629356ea70b45d3d464cefecf08594f870b9 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 31 May 2017 14:21:24 +0200 Subject: [PATCH] DATACMNS-1076 - Deprecate RxJava1CrudRepository and RxJava1SortingRepository interfaces. Spring Data 2.0 is going GA after the feature freeze of RxJava 1. In prospect of its EOL it makes no sense to ship new APIs based on a library that goes towards EOL. RxJava1CrudRepository and RxJava1SortingRepository are subject to removal in a future milestone. --- .../repository/reactive/RxJava1CrudRepository.java | 2 ++ .../repository/reactive/RxJava1SortingRepository.java | 2 ++ .../ReactiveRepositoryInformationUnitTests.java | 10 ++++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/repository/reactive/RxJava1CrudRepository.java b/src/main/java/org/springframework/data/repository/reactive/RxJava1CrudRepository.java index 3cf8d4a1f..ac90e7855 100644 --- a/src/main/java/org/springframework/data/repository/reactive/RxJava1CrudRepository.java +++ b/src/main/java/org/springframework/data/repository/reactive/RxJava1CrudRepository.java @@ -28,9 +28,11 @@ import org.springframework.data.repository.Repository; * * @author Mark Paluch * @since 2.0 + * @deprecated interface to be removed in 2.0 RC1. * @see Single * @see Observable */ +@Deprecated @NoRepositoryBean public interface RxJava1CrudRepository extends Repository { diff --git a/src/main/java/org/springframework/data/repository/reactive/RxJava1SortingRepository.java b/src/main/java/org/springframework/data/repository/reactive/RxJava1SortingRepository.java index 2c7855f9e..7b77fe246 100644 --- a/src/main/java/org/springframework/data/repository/reactive/RxJava1SortingRepository.java +++ b/src/main/java/org/springframework/data/repository/reactive/RxJava1SortingRepository.java @@ -27,11 +27,13 @@ import org.springframework.data.repository.NoRepositoryBean; * * @author Mark Paluch * @since 2.0 + * @deprecated interface to be removed in 2.0 RC1. * @see Sort * @see Single * @see Observable * @see RxJava1CrudRepository */ +@Deprecated @NoRepositoryBean public interface RxJava1SortingRepository extends RxJava1CrudRepository { diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java index a2a755ec0..bc8fcab14 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java @@ -18,6 +18,7 @@ package org.springframework.data.repository.core.support; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; +import io.reactivex.Completable; import io.reactivex.Flowable; import reactor.core.publisher.Flux; import rx.Observable; @@ -29,10 +30,10 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import org.reactivestreams.Publisher; +import org.springframework.data.repository.Repository; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.reactive.ReactiveCrudRepository; import org.springframework.data.repository.reactive.ReactiveSortingRepository; -import org.springframework.data.repository.reactive.RxJava1CrudRepository; import org.springframework.data.repository.reactive.RxJava2CrudRepository; /** @@ -133,7 +134,12 @@ public class ReactiveRepositoryInformationUnitTests { return information.getTargetClassMethod(repositoryType.getMethod(methodName, args)); } - interface RxJava1InterfaceWithGenerics extends RxJava1CrudRepository {} + interface RxJava1InterfaceWithGenerics extends Repository { + + Observable saveAll(Observable entities); + + Completable deleteAll(); + } interface RxJava2InterfaceWithGenerics extends RxJava2CrudRepository {}