diff --git a/build.gradle b/build.gradle index 2b859c104bd..6da5eb166de 100644 --- a/build.gradle +++ b/build.gradle @@ -61,13 +61,13 @@ configure(allprojects) { project -> ext.junitJupiterVersion = '5.0.0-M1' ext.junitPlatformVersion = '1.0.0-M1' ext.log4jVersion = '2.6.1' - ext.nettyVersion = "4.1.1.Final" + ext.nettyVersion = "4.1.3.Final" ext.okhttpVersion = "2.7.5" ext.okhttp3Version = "3.3.1" ext.poiVersion = "3.14" ext.reactorVersion = "2.0.8.RELEASE" - ext.reactorCoreVersion = '2.5.0.BUILD-SNAPSHOT' - ext.reactorNettyVersion = '2.5.0.BUILD-SNAPSHOT' + ext.reactorCoreVersion = '3.0.0.BUILD-SNAPSHOT' + ext.reactorNettyVersion = '0.5.0.BUILD-SNAPSHOT' ext.rxJavaVersion = '1.1.6' ext.romeVersion = "1.6.0" ext.servletVersion = "3.1.0" diff --git a/spring-core/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java b/spring-core/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java index 5c58a3f4a61..f4aeed4059d 100644 --- a/spring-core/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java +++ b/spring-core/src/main/java/org/springframework/core/convert/support/ReactorToRxJava1Converter.java @@ -20,9 +20,7 @@ import java.util.LinkedHashSet; import java.util.Set; import org.reactivestreams.Publisher; -import reactor.core.converter.RxJava1CompletableConverter; -import reactor.core.converter.RxJava1ObservableConverter; -import reactor.core.converter.RxJava1SingleConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import rx.Completable; @@ -57,22 +55,22 @@ public final class ReactorToRxJava1Converter implements GenericConverter { return null; } if (Observable.class.isAssignableFrom(sourceType.getType())) { - return RxJava1ObservableConverter.toPublisher((Observable) source); + return RxJava1Adapter.observableToFlux((Observable) source); } else if (Observable.class.isAssignableFrom(targetType.getType())) { - return RxJava1ObservableConverter.fromPublisher((Publisher) source); + return RxJava1Adapter.publisherToObservable((Publisher) source); } else if (Single.class.isAssignableFrom(sourceType.getType())) { - return RxJava1SingleConverter.toPublisher((Single) source); + return RxJava1Adapter.singleToMono((Single) source); } else if (Single.class.isAssignableFrom(targetType.getType())) { - return RxJava1SingleConverter.fromPublisher((Publisher) source); + return RxJava1Adapter.publisherToSingle((Publisher) source); } else if (Completable.class.isAssignableFrom(sourceType.getType())) { - return RxJava1CompletableConverter.toPublisher((Completable) source); + return RxJava1Adapter.completableToMono((Completable) source); } else if (Completable.class.isAssignableFrom(targetType.getType())) { - return RxJava1CompletableConverter.fromPublisher((Publisher) source); + return RxJava1Adapter.publisherToCompletable((Publisher) source); } return null; } diff --git a/spring-core/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java b/spring-core/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java index 323d451730b..27b94236603 100644 --- a/spring-core/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java +++ b/spring-core/src/main/java/org/springframework/core/io/buffer/support/DataBufferUtils.java @@ -27,7 +27,7 @@ import java.util.function.Consumer; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; -import reactor.core.subscriber.SignalEmitter; +import reactor.core.publisher.SynchronousSink; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferFactory; @@ -149,7 +149,7 @@ public abstract class DataBufferUtils { } private static class ReadableByteChannelGenerator - implements BiFunction, + implements BiFunction, ReadableByteChannel> { private final DataBufferFactory dataBufferFactory; @@ -164,7 +164,7 @@ public abstract class DataBufferUtils { @Override public ReadableByteChannel apply(ReadableByteChannel - channel, SignalEmitter sub) { + channel, SynchronousSink sub) { try { ByteBuffer byteBuffer = ByteBuffer.allocate(chunkSize); int read; diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java index 18017342a7f..d99e8b397a5 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferDecoderTests.java @@ -21,7 +21,7 @@ import java.nio.ByteBuffer; import org.junit.Test; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java index 656fe6977b6..181b09a4b22 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ByteBufferEncoderTests.java @@ -23,7 +23,7 @@ import org.junit.Before; import org.junit.Test; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java index 8f6e6d3ef4c..9c7651b4fe8 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceDecoderTests.java @@ -20,7 +20,7 @@ import java.io.IOException; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.ByteArrayResource; diff --git a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java index 24510019967..a9e5d164b6f 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/ResourceEncoderTests.java @@ -21,7 +21,7 @@ import java.nio.charset.StandardCharsets; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.ByteArrayResource; diff --git a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java index d807b80b2b1..86541e1c61e 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/StringDecoderTests.java @@ -19,7 +19,7 @@ package org.springframework.core.codec; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-core/src/test/java/org/springframework/core/codec/StringEncoderTests.java b/spring-core/src/test/java/org/springframework/core/codec/StringEncoderTests.java index 1f62c66248e..879b78a4bf0 100644 --- a/spring-core/src/test/java/org/springframework/core/codec/StringEncoderTests.java +++ b/spring-core/src/test/java/org/springframework/core/codec/StringEncoderTests.java @@ -23,7 +23,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-core/src/test/java/org/springframework/core/io/buffer/support/DataBufferUtilsTests.java b/spring-core/src/test/java/org/springframework/core/io/buffer/support/DataBufferUtilsTests.java index 51dc81833fa..fdb2d68f3d4 100644 --- a/spring-core/src/test/java/org/springframework/core/io/buffer/support/DataBufferUtilsTests.java +++ b/spring-core/src/test/java/org/springframework/core/io/buffer/support/DataBufferUtilsTests.java @@ -24,7 +24,7 @@ import java.nio.file.StandardOpenOption; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; import org.springframework.core.io.buffer.DataBuffer; diff --git a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfiguration.java b/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfiguration.java index fae2e87c206..f287867c09e 100644 --- a/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfiguration.java +++ b/spring-web-reactive/src/main/java/org/springframework/web/reactive/config/WebReactiveConfiguration.java @@ -20,8 +20,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import reactor.core.converter.Converters; - import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.BeanInitializationException; import org.springframework.context.ApplicationContext; @@ -82,8 +80,9 @@ public class WebReactiveConfiguration implements ApplicationContextAware { ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", classLoader) && ClassUtils.isPresent("com.fasterxml.jackson.core.JsonGenerator", classLoader); - private static final boolean jaxb2Present = - ClassUtils.isPresent("javax.xml.bind.Binder", classLoader); + private static final boolean jaxb2Present = ClassUtils.isPresent("javax.xml.bind.Binder", classLoader); + + private static final boolean rxJava1Present = ClassUtils.isPresent("rx.Observable", classLoader); private PathMatchConfigurer pathMatchConfigurer; @@ -289,7 +288,7 @@ public class WebReactiveConfiguration implements ApplicationContextAware { */ protected void addFormatters(FormatterRegistry registry) { registry.addConverter(new MonoToCompletableFutureConverter()); - if (Converters.hasRxJava1()) { + if (rxJava1Present) { registry.addConverter(new ReactorToRxJava1Converter()); } } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java index 65c721844e4..8ef0a67e157 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/DispatcherHandlerErrorTests.java @@ -24,7 +24,7 @@ import org.junit.Before; import org.junit.Test; import org.reactivestreams.Publisher; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/ResponseStatusExceptionHandlerTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/ResponseStatusExceptionHandlerTests.java index 704a713008e..f8ccd904160 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/ResponseStatusExceptionHandlerTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/ResponseStatusExceptionHandlerTests.java @@ -21,7 +21,7 @@ import java.time.Duration; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java index cb2165e400d..6259b814eca 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/HandlerMethodMappingTests.java @@ -27,7 +27,7 @@ import java.util.Set; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.http.HttpMethod; import org.springframework.http.server.reactive.MockServerHttpRequest; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java index 08a82693695..28fddee9d27 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/InvocableHandlerMethodTests.java @@ -22,7 +22,7 @@ import java.util.Optional; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.http.HttpMethod; import org.springframework.http.server.reactive.MockServerHttpRequest; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java index 000a8432d37..7d843bfb3c1 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMappingTests.java @@ -30,7 +30,7 @@ import java.util.function.Consumer; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.annotation.AnnotatedElementUtils; import org.springframework.core.annotation.AnnotationUtils; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java index c234b489415..204f779b346 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/CookieValueMethodArgumentResolverTests.java @@ -22,7 +22,7 @@ import java.net.URI; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java index 839960eaedd..37f4700259d 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/HttpEntityArgumentResolverTests.java @@ -25,11 +25,10 @@ import java.util.concurrent.CompletableFuture; import org.junit.Before; import org.junit.Test; -import reactor.core.converter.RxJava1ObservableConverter; -import reactor.core.converter.RxJava1SingleConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Observable; import rx.Single; @@ -156,7 +155,7 @@ public class HttpEntityArgumentResolverTests { ResolvableType type = httpEntityType(forClassWithGenerics(Single.class, String.class)); HttpEntity> entity = resolveValueWithEmptyBody(type); - TestSubscriber.subscribe(RxJava1SingleConverter.toPublisher(entity.getBody())) + TestSubscriber.subscribe(RxJava1Adapter.singleToMono(entity.getBody())) .assertNoValues() .assertError(ServerWebInputException.class); } @@ -166,7 +165,7 @@ public class HttpEntityArgumentResolverTests { ResolvableType type = httpEntityType(forClassWithGenerics(Observable.class, String.class)); HttpEntity> entity = resolveValueWithEmptyBody(type); - TestSubscriber.subscribe(RxJava1ObservableConverter.toPublisher(entity.getBody())) + TestSubscriber.subscribe(RxJava1Adapter.observableToFlux(entity.getBody())) .assertNoError() .assertComplete() .assertNoValues(); diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterArgumentResolverTests.java index a2590f8a080..3080e90ac08 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterArgumentResolverTests.java @@ -34,7 +34,7 @@ import org.junit.Ignore; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Observable; import rx.Single; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterResultHandlerTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterResultHandlerTests.java index 256ea698919..e177bf678cd 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterResultHandlerTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/MessageConverterResultHandlerTests.java @@ -33,7 +33,7 @@ import org.junit.Ignore; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Observable; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java index 8e93eb0d54c..c4007f55da3 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/PathVariableMethodArgumentResolverTests.java @@ -24,7 +24,7 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.MethodParameter; import org.springframework.core.convert.ConversionService; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java index 2a88c4fbe8f..c8cf6ba2855 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestAttributeMethodArgumentResolverTests.java @@ -22,7 +22,7 @@ import java.util.Optional; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.DefaultParameterNameDiscoverer; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java index 76ccc039887..fd5bbb007d0 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestBodyArgumentResolverTests.java @@ -27,11 +27,10 @@ import java.util.function.Predicate; import org.junit.Before; import org.junit.Test; -import reactor.core.converter.RxJava1ObservableConverter; -import reactor.core.converter.RxJava1SingleConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Observable; import rx.Single; @@ -166,12 +165,12 @@ public class RequestBodyArgumentResolverTests { ResolvableType type = forClassWithGenerics(Single.class, String.class); Single single = resolveValueWithEmptyBody(type, true); - TestSubscriber.subscribe(RxJava1SingleConverter.toPublisher(single)) + TestSubscriber.subscribe(RxJava1Adapter.singleToMono(single)) .assertNoValues() .assertError(ServerWebInputException.class); single = resolveValueWithEmptyBody(type, false); - TestSubscriber.subscribe(RxJava1SingleConverter.toPublisher(single)) + TestSubscriber.subscribe(RxJava1Adapter.singleToMono(single)) .assertNoValues() .assertError(ServerWebInputException.class); } @@ -181,12 +180,12 @@ public class RequestBodyArgumentResolverTests { ResolvableType type = forClassWithGenerics(Observable.class, String.class); Observable observable = resolveValueWithEmptyBody(type, true); - TestSubscriber.subscribe(RxJava1ObservableConverter.toPublisher(observable)) + TestSubscriber.subscribe(RxJava1Adapter.observableToFlux(observable)) .assertNoValues() .assertError(ServerWebInputException.class); observable = resolveValueWithEmptyBody(type, false); - TestSubscriber.subscribe(RxJava1ObservableConverter.toPublisher(observable)) + TestSubscriber.subscribe(RxJava1Adapter.observableToFlux(observable)) .assertNoValues() .assertComplete(); } diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java index bda7710c5f9..1f795dc34a4 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestHeaderMethodArgumentResolverTests.java @@ -27,7 +27,7 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java index bb6a23f096e..3f92c73bc46 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/RequestParamMethodArgumentResolverTests.java @@ -25,7 +25,7 @@ import java.util.Optional; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.LocalVariableTableParameterNameDiscoverer; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java index 22a878cbea9..01af1f47fd0 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/ResponseEntityResultHandlerTests.java @@ -26,7 +26,7 @@ import java.util.concurrent.CompletableFuture; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Single; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java index fe3e3f1b7a5..a7af773e13e 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SessionAttributeMethodArgumentResolverTests.java @@ -22,7 +22,7 @@ import java.util.Optional; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.DefaultParameterNameDiscoverer; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java index efec16d2fec..4c14f417b7b 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/method/annotation/SseIntegrationTests.java @@ -28,7 +28,7 @@ import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageConverterViewTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageConverterViewTests.java index 7af0bb38497..5fda055a6e2 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageConverterViewTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/HttpMessageConverterViewTests.java @@ -29,7 +29,7 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.MethodParameter; import org.springframework.core.codec.StringEncoder; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java index 61f9720a28f..7cb8d092c13 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/ViewResolutionResultHandlerTests.java @@ -32,7 +32,7 @@ import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import rx.Single; import org.springframework.core.MethodParameter; diff --git a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java index 147c269acc5..53effad2e58 100644 --- a/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/web/reactive/result/view/freemarker/FreeMarkerViewTests.java @@ -25,7 +25,7 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.context.ApplicationContextException; import org.springframework.context.support.GenericApplicationContext; diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractRequestBodyPublisher.java b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractRequestBodyPublisher.java index 41af425d244..b439c54849f 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractRequestBodyPublisher.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/AbstractRequestBodyPublisher.java @@ -28,7 +28,7 @@ import org.apache.commons.logging.LogFactory; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; -import reactor.core.util.BackpressureUtils; +import reactor.core.publisher.Operators; import org.springframework.core.io.buffer.DataBuffer; @@ -106,7 +106,7 @@ abstract class AbstractRequestBodyPublisher implements Publisher { while (hasDemand()) { DataBuffer dataBuffer = read(); if (dataBuffer != null) { - BackpressureUtils.getAndSub(this.demand, 1L); + Operators.getAndSub(this.demand, 1L); this.subscriber.onNext(dataBuffer); } else { @@ -214,8 +214,8 @@ abstract class AbstractRequestBodyPublisher implements Publisher { NO_DEMAND { @Override void request(AbstractRequestBodyPublisher publisher, long n) { - if (BackpressureUtils.checkRequest(n, publisher.subscriber)) { - BackpressureUtils.addAndGet(publisher.demand, n); + if (Operators.checkRequest(n, publisher.subscriber)) { + Operators.addAndGet(publisher.demand, n); if (publisher.changeState(this, DEMAND)) { publisher.checkOnDataAvailable(); } @@ -249,8 +249,8 @@ abstract class AbstractRequestBodyPublisher implements Publisher { READING { @Override void request(AbstractRequestBodyPublisher publisher, long n) { - if (BackpressureUtils.checkRequest(n, publisher.subscriber)) { - BackpressureUtils.addAndGet(publisher.demand, n); + if (Operators.checkRequest(n, publisher.subscriber)) { + Operators.addAndGet(publisher.demand, n); } } }, diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java index 205f6d14ab6..74dce3b5ca8 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ChannelSendOperator.java @@ -21,8 +21,8 @@ import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; import reactor.core.publisher.MonoSource; -import reactor.core.subscriber.SubscriberBarrier; -import reactor.core.util.EmptySubscription; +import reactor.core.publisher.OperatorAdapter; +import reactor.core.publisher.Operators; import org.springframework.util.Assert; @@ -54,7 +54,7 @@ public class ChannelSendOperator extends MonoSource { source.subscribe(new WriteWithBarrier(s)); } - private class WriteWithBarrier extends SubscriberBarrier implements Publisher { + private class WriteWithBarrier extends OperatorAdapter implements Publisher { /** * We've at at least one emission, we've called the write function, the write @@ -161,7 +161,7 @@ public class ChannelSendOperator extends MonoSource { this.writeSubscriber = writeSubscriber; if (this.error != null || this.completed) { - this.writeSubscriber.onSubscribe(EmptySubscription.INSTANCE); + this.writeSubscriber.onSubscribe(Operators.emptySubscription()); emitCachedSignals(); } else { diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ResponseBodyWriteResultPublisher.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ResponseBodyWriteResultPublisher.java index 156d9d33e35..65562a5001a 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ResponseBodyWriteResultPublisher.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ResponseBodyWriteResultPublisher.java @@ -24,7 +24,7 @@ import org.apache.commons.logging.LogFactory; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; -import reactor.core.util.BackpressureUtils; +import reactor.core.publisher.Operators; /** * Publisher returned from {@link ServerHttpResponse#writeWith(Publisher)}. @@ -145,7 +145,7 @@ class ResponseBodyWriteResultPublisher implements Publisher { SUBSCRIBED { @Override void request(ResponseBodyWriteResultPublisher publisher, long n) { - BackpressureUtils.checkRequest(n, publisher.subscriber); + Operators.checkRequest(n, publisher.subscriber); } @Override diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyHttpHandlerAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyHttpHandlerAdapter.java index 1fc3c6ec5d1..41bb6357987 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyHttpHandlerAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyHttpHandlerAdapter.java @@ -21,7 +21,7 @@ import io.reactivex.netty.protocol.http.server.HttpServerRequest; import io.reactivex.netty.protocol.http.server.HttpServerResponse; import io.reactivex.netty.protocol.http.server.RequestHandler; import org.reactivestreams.Publisher; -import reactor.core.converter.RxJava1ObservableConverter; +import reactor.adapter.RxJava1Adapter; import rx.Observable; import org.springframework.core.io.buffer.NettyDataBufferFactory; @@ -50,7 +50,7 @@ public class RxNettyHttpHandlerAdapter implements RequestHandler result = this.httpHandler.handle(adaptedRequest, adaptedResponse); - return RxJava1ObservableConverter.fromPublisher(result); + return RxJava1Adapter.publisherToObservable(result); } } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpRequest.java index 0d33c2d14af..e78d7decbe1 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpRequest.java @@ -22,7 +22,7 @@ import java.net.URISyntaxException; import io.netty.buffer.ByteBuf; import io.netty.handler.codec.http.cookie.Cookie; import io.reactivex.netty.protocol.http.server.HttpServerRequest; -import reactor.core.converter.RxJava1ObservableConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Flux; import rx.Observable; @@ -95,7 +95,7 @@ public class RxNettyServerHttpRequest extends AbstractServerHttpRequest { @Override public Flux getBody() { Observable content = this.request.getContent().map(dataBufferFactory::wrap); - return RxJava1ObservableConverter.toPublisher(content); + return RxJava1Adapter.observableToFlux(content); } } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpResponse.java index 4f66260350e..9bcb988f8c2 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/RxNettyServerHttpResponse.java @@ -23,8 +23,9 @@ import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.handler.codec.http.cookie.Cookie; import io.netty.handler.codec.http.cookie.DefaultCookie; import io.reactivex.netty.protocol.http.server.HttpServerResponse; +import io.reactivex.netty.protocol.http.server.ResponseContentWriter; import org.reactivestreams.Publisher; -import reactor.core.converter.RxJava1ObservableConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Mono; import rx.Observable; @@ -72,12 +73,15 @@ public class RxNettyServerHttpResponse extends AbstractServerHttpResponse { @Override protected Mono writeWithInternal(Publisher body) { - Observable content = RxJava1ObservableConverter.fromPublisher(body).map(this::toByteBuf); - return RxJava1ObservableConverter.toPublisher(this.response.write(content, bb -> bb instanceof FlushingByteBuf)).then(); + Observable content = RxJava1Adapter.publisherToObservable(body).map(this::toByteBuf); + ResponseContentWriter writer = this.response.write(content, bb -> bb instanceof FlushingByteBuf); + return RxJava1Adapter.observableToFlux(writer).then(); } private ByteBuf toByteBuf(DataBuffer buffer) { - ByteBuf byteBuf = (buffer instanceof NettyDataBuffer ? ((NettyDataBuffer) buffer).getNativeBuffer() : Unpooled.wrappedBuffer(buffer.asByteBuffer())); + ByteBuf byteBuf = (buffer instanceof NettyDataBuffer ? + ((NettyDataBuffer) buffer).getNativeBuffer() : + Unpooled.wrappedBuffer(buffer.asByteBuffer())); return (buffer instanceof FlushingDataBuffer ? new FlushingByteBuf(byteBuf) : byteBuf); } diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilder.java b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilder.java index d7f6ed48280..ae03af8d4be 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ClientWebRequestBuilder.java @@ -18,8 +18,7 @@ package org.springframework.web.client.reactive.support; import java.net.URI; -import reactor.core.converter.RxJava1ObservableConverter; -import reactor.core.converter.RxJava1SingleConverter; +import reactor.adapter.RxJava1Adapter; import reactor.core.publisher.Mono; import rx.Observable; import rx.Single; @@ -149,7 +148,7 @@ public class RxJava1ClientWebRequestBuilder implements ClientWebRequestBuilder { * as type information for the element published by this reactive stream */ public RxJava1ClientWebRequestBuilder body(Single content, ResolvableType elementType) { - this.delegate.body(RxJava1SingleConverter.toPublisher(content), elementType); + this.delegate.body(RxJava1Adapter.singleToMono(content), elementType); return this; } @@ -158,7 +157,7 @@ public class RxJava1ClientWebRequestBuilder implements ClientWebRequestBuilder { * as type information for the elements published by this reactive stream */ public RxJava1ClientWebRequestBuilder body(Observable content, ResolvableType elementType) { - this.delegate.body(RxJava1ObservableConverter.toPublisher(content), elementType); + this.delegate.body(RxJava1Adapter.observableToFlux(content), elementType); return this; } diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java index ce528e2d718..38c43c834de 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java @@ -19,6 +19,12 @@ package org.springframework.web.client.reactive.support; import java.util.List; import java.util.Optional; +import reactor.adapter.RxJava1Adapter; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; +import rx.Observable; +import rx.Single; + import org.springframework.core.ResolvableType; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -27,13 +33,6 @@ import org.springframework.http.client.reactive.ClientHttpResponse; import org.springframework.http.converter.reactive.HttpMessageConverter; import org.springframework.web.client.reactive.ResponseExtractor; -import reactor.core.converter.RxJava1ObservableConverter; -import reactor.core.converter.RxJava1SingleConverter; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; -import rx.Observable; -import rx.Single; - /** * Static factory methods for {@link ResponseExtractor} * based on the {@link Observable} and {@link Single} APIs. @@ -50,8 +49,8 @@ public class RxJava1ResponseExtractors { public static ResponseExtractor> body(Class sourceClass) { ResolvableType resolvableType = ResolvableType.forClass(sourceClass); - return (clientResponse, messageConverters) -> (Single) RxJava1SingleConverter - .fromPublisher(clientResponse + return (clientResponse, messageConverters) -> (Single) RxJava1Adapter + .publisherToSingle(clientResponse .flatMap(resp -> decodeResponseBody(resp, resolvableType, messageConverters)).next()); } @@ -61,8 +60,8 @@ public class RxJava1ResponseExtractors { public static ResponseExtractor> bodyStream(Class sourceClass) { ResolvableType resolvableType = ResolvableType.forClass(sourceClass); - return (clientResponse, messageConverters) -> RxJava1ObservableConverter - .fromPublisher(clientResponse + return (clientResponse, messageConverters) -> RxJava1Adapter + .publisherToObservable(clientResponse .flatMap(resp -> decodeResponseBody(resp, resolvableType, messageConverters))); } @@ -75,7 +74,7 @@ public class RxJava1ResponseExtractors { ResolvableType resolvableType = ResolvableType.forClass(sourceClass); return (clientResponse, messageConverters) -> - RxJava1SingleConverter.fromPublisher(clientResponse + RxJava1Adapter.publisherToSingle(clientResponse .then(response -> Mono.when( decodeResponseBody(response, resolvableType, messageConverters).next(), @@ -91,9 +90,9 @@ public class RxJava1ResponseExtractors { */ public static ResponseExtractor>>> responseStream(Class sourceClass) { ResolvableType resolvableType = ResolvableType.forClass(sourceClass); - return (clientResponse, messageConverters) -> RxJava1SingleConverter.fromPublisher( + return (clientResponse, messageConverters) -> RxJava1Adapter.publisherToSingle( clientResponse.map(response -> new ResponseEntity<>( - RxJava1ObservableConverter.fromPublisher( + RxJava1Adapter.publisherToObservable( RxJava1ResponseExtractors. decodeResponseBody(response, resolvableType, messageConverters)), response.getHeaders(), response.getStatusCode()))); @@ -103,8 +102,8 @@ public class RxJava1ResponseExtractors { * Extract the response headers as an {@code HttpHeaders} instance. */ public static ResponseExtractor> headers() { - return (clientResponse, messageConverters) -> RxJava1SingleConverter - .fromPublisher(clientResponse.map(resp -> resp.getHeaders())); + return (clientResponse, messageConverters) -> RxJava1Adapter + .publisherToSingle(clientResponse.map(resp -> resp.getHeaders())); } @SuppressWarnings("unchecked") diff --git a/spring-web/src/test/java/org/springframework/http/codec/SseEventEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/SseEventEncoderTests.java index 6dc6a652a49..13442bc7017 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/SseEventEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/SseEventEncoderTests.java @@ -22,7 +22,7 @@ import static org.junit.Assert.*; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonDecoderTests.java index 7f0d980688a..822b506a6be 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonDecoderTests.java @@ -23,7 +23,7 @@ import java.util.List; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java index b7249a03315..5b6fdec1c45 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/JacksonJsonEncoderTests.java @@ -21,7 +21,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/codec/json/JsonObjectDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/json/JsonObjectDecoderTests.java index 6770899ce13..7f01e655911 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/json/JsonObjectDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/json/JsonObjectDecoderTests.java @@ -20,7 +20,7 @@ import java.nio.charset.StandardCharsets; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; import org.springframework.core.io.buffer.DataBuffer; diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java index 9584a8b87e5..579206b7aae 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2DecoderTests.java @@ -22,7 +22,7 @@ import javax.xml.stream.events.XMLEvent; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2EncoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2EncoderTests.java index 42476800d83..1261d9a67be 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2EncoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/Jaxb2EncoderTests.java @@ -23,7 +23,7 @@ import org.junit.Before; import org.junit.Test; import org.xml.sax.SAXException; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.ResolvableType; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java b/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java index 09a82eb9ac1..b45b85f9438 100644 --- a/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java +++ b/spring-web/src/test/java/org/springframework/http/codec/xml/XmlEventDecoderTests.java @@ -20,7 +20,7 @@ import javax.xml.stream.events.XMLEvent; import org.junit.Test; import reactor.core.publisher.Flux; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.io.buffer.AbstractDataBufferAllocatingTestCase; diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/ChannelSendOperatorTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/ChannelSendOperatorTests.java index 06497f1eeb4..0d29488e84e 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/ChannelSendOperatorTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/ChannelSendOperatorTests.java @@ -29,10 +29,13 @@ import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import reactor.core.publisher.OperatorAdapter; import reactor.core.publisher.Signal; -import reactor.core.subscriber.SubscriberBarrier; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; /** * @author Rossen Stoyanchev @@ -145,7 +148,7 @@ public class ChannelSendOperatorTests { }; } - private class WriteSubscriber extends SubscriberBarrier { + private class WriteSubscriber extends OperatorAdapter { public WriteSubscriber(Subscriber subscriber) { super(subscriber); diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/FlushingIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/FlushingIntegrationTests.java index 7f3534c0b5d..5f1222ef808 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/FlushingIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/FlushingIntegrationTests.java @@ -21,7 +21,7 @@ import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.FlushingDataBuffer; diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java index 1bba2c3c858..92940f98689 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/bootstrap/ReactorHttpServer.java @@ -16,8 +16,7 @@ package org.springframework.http.server.reactive.bootstrap; -import reactor.core.flow.Loopback; -import reactor.core.state.Completable; +import reactor.core.Loopback; import org.springframework.http.server.reactive.ReactorHttpHandlerAdapter; import org.springframework.util.Assert; @@ -25,8 +24,7 @@ import org.springframework.util.Assert; /** * @author Stephane Maldini */ -public class ReactorHttpServer extends HttpServerSupport - implements HttpServer, Loopback, Completable { +public class ReactorHttpServer extends HttpServerSupport implements HttpServer, Loopback { private ReactorHttpHandlerAdapter reactorHandler; @@ -34,6 +32,7 @@ public class ReactorHttpServer extends HttpServerSupport private boolean running; + @Override public void afterPropertiesSet() throws Exception { @@ -42,6 +41,7 @@ public class ReactorHttpServer extends HttpServerSupport this.reactorServer = reactor.io.netty.http.HttpServer.create(getHost(), getPort()); } + @Override public boolean isRunning() { return this.running; @@ -57,16 +57,6 @@ public class ReactorHttpServer extends HttpServerSupport return reactorServer; } - @Override - public boolean isStarted() { - return running; - } - - @Override - public boolean isTerminated() { - return !running; - } - @Override public void start() { if (!this.running) { diff --git a/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java index b87e888d6ea..c7d910c61ad 100644 --- a/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/reactive/WebClientIntegrationTests.java @@ -33,7 +33,7 @@ import org.junit.Before; import org.junit.Test; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import reactor.core.test.TestSubscriber; +import reactor.test.TestSubscriber; import org.springframework.http.codec.Pojo; import org.springframework.http.HttpHeaders;