Browse Source

Ensure Reactor & RxJava response extractors compile with Eclipse JDT

pull/1112/merge
Sam Brannen 9 years ago
parent
commit
cb1b178405
  1. 4
      spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java
  2. 6
      spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java

4
spring-web/src/main/java/org/springframework/web/client/reactive/ResponseExtractors.java

@ -65,7 +65,6 @@ public class ResponseExtractors { @@ -65,7 +65,6 @@ public class ResponseExtractors {
* Extract the response body and decode it, returning it as a {@code Mono<T>}.
* @see ResolvableType#forClassWithGenerics(Class, Class[])
*/
@SuppressWarnings("unchecked")
public static <T> BodyExtractor<Mono<T>> as(ResolvableType bodyType) {
return (clientResponse, messageConverters) ->
decodeResponseBodyAsMono(clientResponse, bodyType, messageConverters);
@ -153,7 +152,8 @@ public class ResponseExtractors { @@ -153,7 +152,8 @@ public class ResponseExtractors {
public static <T> ResponseExtractor<Mono<ResponseEntity<Flux<T>>>> responseStream(ResolvableType type) {
return (clientResponse, webClientConfig) -> clientResponse
.map(response -> new ResponseEntity<>(
decodeResponseBody(response, type, webClientConfig.getMessageReaders()),
// ResponseExtractors.<T> is required for Eclipse JDT.
ResponseExtractors.<T> decodeResponseBody(response, type, webClientConfig.getMessageReaders()),
response.getHeaders(), response.getStatusCode()));
}

6
spring-web/src/main/java/org/springframework/web/client/reactive/support/RxJava1ResponseExtractors.java

@ -60,9 +60,7 @@ public class RxJava1ResponseExtractors { @@ -60,9 +60,7 @@ public class RxJava1ResponseExtractors {
/**
* Extract the response body and decode it, returning it as a {@code Single<T>}.
*/
@SuppressWarnings("unchecked")
public static <T> ResponseExtractor<Single<T>> body(Class<T> sourceClass) {
ResolvableType bodyType = ResolvableType.forClass(sourceClass);
return body(bodyType);
}
@ -174,7 +172,9 @@ public class RxJava1ResponseExtractors { @@ -174,7 +172,9 @@ public class RxJava1ResponseExtractors {
return (clientResponse, webClientConfig) -> RxJava1Adapter.publisherToSingle(clientResponse
.map(response -> new ResponseEntity<>(
RxJava1Adapter
.publisherToObservable(decodeResponseBody(response, bodyType, webClientConfig.getMessageReaders())),
.publisherToObservable(
// RxJava1ResponseExtractors.<T> is required for Eclipse JDT.
RxJava1ResponseExtractors.<T> decodeResponseBody(response, bodyType, webClientConfig.getMessageReaders())),
response.getHeaders(),
response.getStatusCode())));
}

Loading…
Cancel
Save