@Override public Single<Response> get() { return (Single<Response>) singleProvider.fromCompletionStage(completionStageRxInvoker.get()); }
@Override public <T> Single<T> get(Class<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public <T> Single<T> get(Class<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public <T> Single<T> get(GenericType<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public Single<Response> get() { return (Single<Response>) singleProvider.fromCompletionStage(completionStageRxInvoker.get()); }
@Override public <T> Single<T> get(GenericType<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public Single<Response> get() { return (Single<Response>) singleProvider.fromCompletionStage(completionStageRxInvoker.get()); }
@Override public <T> Single<T> get(Class<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public <T> Single<T> get(Class<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public <T> Single<T> get(GenericType<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@Override public Single<Response> get() { return (Single<Response>) singleProvider.fromCompletionStage(completionStageRxInvoker.get()); }
@Override public <T> Single<T> get(GenericType<T> responseType) { return (Single<T>) singleProvider.fromCompletionStage(completionStageRxInvoker.get(responseType)); }
@CacheResult CompletionStage<ActionList> getActions() { return client .path("action/index") .queryParam("language", "en") .request(APPLICATION_JSON_TYPE) .rx() .get(ActionList.class); }
public CompletionStage<Collection<SimplePropertyDefinition>> getConfigurationSpec(final String id) { return client .path("configurationtype/details") .queryParam("identifiers", id) .queryParam("language", "en") .request(APPLICATION_JSON_TYPE) .rx() .get(ConfigTypeNodes.class) .thenApply(list -> list.getNodes().values().iterator().next().getProperties()); }
@CacheResult public CompletionStage<Collection<SimplePropertyDefinition>> getComponentSpec(final String id) { return client .path("component/details") .queryParam("identifiers", id) .queryParam("language", "en") .request(APPLICATION_JSON_TYPE) .rx() .get(ComponentDetailList.class) .thenApply(list -> list.getDetails().iterator().next().getProperties()); }
@Test public void testGetBookAsyncStage404() throws Exception { String address = "http://localhost:" + PORT + "/completable/books"; WebClient wc = createWebClient(address); CompletionStage<Book> stage = wc.path("124").rx().get(Book.class); try { stage.toCompletableFuture().get(); fail("Exception expected"); } catch (ExecutionException ex) { assertTrue(ex.getCause() instanceof NotFoundException); } } private WebClient createWebClient(String address) {
@Test public void testGetBookAsyncStageAsyncResponse() throws Exception { String address = "http://localhost:" + PORT + "/completable/booksAsync"; WebClient wc = createWebClient(address); CompletionStage<Book> stage = wc.path("123").rx().get(Book.class); Book book = stage.toCompletableFuture().join(); assertEquals(123L, book.getId()); } @Test
@Test public void testGetBookAsyncStage() throws Exception { String address = "http://localhost:" + PORT + "/completable/books"; WebClient wc = createWebClient(address); CompletionStage<Book> stage = wc.path("123").rx().get(Book.class); Book book = stage.toCompletableFuture().join(); assertEquals(123L, book.getId()); } @Test
@Test public void testGetBookAsyncStageThenAcceptAsync() throws Exception { String address = "http://localhost:" + PORT + "/completable/books"; WebClient wc = createWebClient(address); CompletionStage<Book> stage = wc.path("123").rx().get(Book.class); Holder<Book> holder = new Holder<>(); stage.thenApply(v -> { v.setId(v.getId() * 2); return v; }).thenAcceptAsync(v -> { holder.value = v; }); Thread.sleep(3000); assertEquals(246L, holder.value.getId()); }