You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by gg...@apache.org on 2023/06/24 03:48:44 UTC
[juneau] 08/29: [juneau-rest-client] Use lambdas
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
commit 970718f42c5674744a08ad9968bbfb3f9c5a0e61
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Jun 23 22:52:16 2023 -0400
[juneau-rest-client] Use lambdas
---
.../apache/juneau/rest/client/ResponseContent.java | 52 +++++-----------------
.../org/apache/juneau/rest/client/RestClient.java | 40 +++++++----------
.../org/apache/juneau/rest/client/RestRequest.java | 20 ++-------
.../apache/juneau/rest/client/RestResponse.java | 29 ++++++------
4 files changed, 46 insertions(+), 95 deletions(-)
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
index 567ac09dc..641e07f96 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
@@ -764,16 +764,9 @@ public class ResponseContent implements HttpEntity {
* RestClient.Builder#executorService(ExecutorService, boolean) for defining the executor service for creating
* {@link Future Futures}.
*/
- public <T> Future<T> asFuture(final Class<T> type) throws RestCallException {
- return client.getExecutorService().submit(
- new Callable<T>() {
- @Override /* Callable */
- public T call() throws Exception {
- return as(type);
- }
- }
- );
- }
+ public <T> Future<T> asFuture(final Class<T> type) throws RestCallException {
+ return client.getExecutorService().submit(() -> as(type));
+ }
/**
* Same as {@link #as(ClassMeta)} but allows you to run the call asynchronously.
@@ -797,16 +790,9 @@ public class ResponseContent implements HttpEntity {
* RestClient.Builder#executorService(ExecutorService, boolean) for defining the executor service for creating
* {@link Future Futures}.
*/
- public <T> Future<T> asFuture(final ClassMeta<T> type) throws RestCallException {
- return client.getExecutorService().submit(
- new Callable<T>() {
- @Override /* Callable */
- public T call() throws Exception {
- return as(type);
- }
- }
- );
- }
+ public <T> Future<T> asFuture(final ClassMeta<T> type) throws RestCallException {
+ return client.getExecutorService().submit(() -> as(type));
+ }
/**
* Same as {@link #as(Type,Type...)} but allows you to run the call asynchronously.
@@ -836,16 +822,9 @@ public class ResponseContent implements HttpEntity {
* RestClient.Builder#executorService(ExecutorService, boolean) for defining the executor service for creating
* {@link Future Futures}.
*/
- public <T> Future<T> asFuture(final Type type, final Type...args) throws RestCallException {
- return client.getExecutorService().submit(
- new Callable<T>() {
- @Override /* Callable */
- public T call() throws Exception {
- return as(type, args);
- }
- }
- );
- }
+ public <T> Future<T> asFuture(final Type type, final Type... args) throws RestCallException {
+ return client.getExecutorService().submit(() -> as(type, args));
+ }
/**
* Returns the contents of this body as a string.
@@ -894,16 +873,9 @@ public class ResponseContent implements HttpEntity {
* RestClient.Builder#executorService(ExecutorService, boolean) for defining the executor service for creating
* {@link Future Futures}.
*/
- public Future<String> asStringFuture() throws RestCallException {
- return client.getExecutorService().submit(
- new Callable<String>() {
- @Override /* Callable */
- public String call() throws Exception {
- return asString();
- }
- }
- );
- }
+ public Future<String> asStringFuture() throws RestCallException {
+ return client.getExecutorService().submit(() -> asString());
+ }
/**
* Same as {@link #asString()} but truncates the string to the specified length.
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
index 0f3483fad..0c243bf2d 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClient.java
@@ -7396,31 +7396,25 @@ public class RestClient extends BeanContextable implements HttpClient, Closeable
RemoteOperationReturn ror = rom.getReturns();
if (ror.isFuture()) {
- return getExecutorService().submit(new Callable<Object>() {
- @Override
- public Object call() throws Exception {
- try {
- return executeRemote(interfaceClass, rc, method, rom);
- } catch (Exception e) {
- throw e;
- } catch (Throwable e) {
- throw asRuntimeException(e);
- }
- }
- });
+ return getExecutorService().submit(() -> {
+ try {
+ return executeRemote(interfaceClass, rc, method, rom);
+ } catch (Exception e) {
+ throw e;
+ } catch (Throwable e) {
+ throw asRuntimeException(e);
+ }
+ });
} else if (ror.isCompletableFuture()) {
CompletableFuture<Object> cf = new CompletableFuture<>();
- getExecutorService().submit(new Callable<Object>() {
- @Override
- public Object call() throws Exception {
- try {
- cf.complete(executeRemote(interfaceClass, rc, method, rom));
- } catch (Throwable e) {
- cf.completeExceptionally(e);
- }
- return null;
- }
- });
+ getExecutorService().submit(() -> {
+ try {
+ cf.complete(executeRemote(interfaceClass, rc, method, rom));
+ } catch (Throwable e) {
+ cf.completeExceptionally(e);
+ }
+ return null;
+ });
return cf;
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
index ff9944c89..db263db99 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestRequest.java
@@ -2025,16 +2025,9 @@ public class RestRequest extends BeanSession implements HttpUriRequest, Configur
* @return The HTTP status code.
* @throws RestCallException If the executor service was not defined.
*/
- public Future<RestResponse> runFuture() throws RestCallException {
- return client.getExecutorService().submit(
- new Callable<RestResponse>() {
- @Override /* Callable */
- public RestResponse call() throws Exception {
- return run();
- }
- }
- );
- }
+ public Future<RestResponse> runFuture() throws RestCallException {
+ return client.getExecutorService().submit(() -> run());
+ }
/**
* Same as {@link #run()} but immediately calls {@link RestResponse#consume()} to clean up the response.
@@ -2085,12 +2078,7 @@ public class RestRequest extends BeanSession implements HttpUriRequest, Configur
*/
public Future<RestResponse> completeFuture() throws RestCallException {
return client.getExecutorService().submit(
- new Callable<RestResponse>() {
- @Override /* Callable */
- public RestResponse call() throws Exception {
- return complete();
- }
- }
+ () -> complete()
);
}
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestResponse.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestResponse.java
index 83841cedb..6fbe88c27 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestResponse.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestResponse.java
@@ -438,22 +438,19 @@ public class RestResponse implements HttpResponse {
return (T)Proxy.newProxyInstance(
c.getClassLoader(),
new Class[] { c },
- new InvocationHandler() {
- @Override /* InvocationHandler */
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
- ResponseBeanPropertyMeta pm = rbm.getProperty(method.getName());
- HttpPartParserSession pp = getPartParserSession(pm.getParser().orElse(rc.getPartParser()));
- HttpPartSchema schema = pm.getSchema();
- HttpPartType pt = pm.getPartType();
- String name = pm.getPartName().orElse(null);
- ClassMeta<?> type = rc.getBeanContext().getClassMeta(method.getGenericReturnType());
- if (pt == RESPONSE_HEADER)
- return getHeader(name).parser(pp).schema(schema).as(type).orElse(null);
- if (pt == RESPONSE_STATUS)
- return getStatusCode();
- return getContent().schema(schema).as(type);
- }
- });
+ (InvocationHandler) (proxy, method, args) -> {
+ ResponseBeanPropertyMeta pm = rbm.getProperty(method.getName());
+ HttpPartParserSession pp = getPartParserSession(pm.getParser().orElse(rc.getPartParser()));
+ HttpPartSchema schema = pm.getSchema();
+ HttpPartType pt = pm.getPartType();
+ String name = pm.getPartName().orElse(null);
+ ClassMeta<?> type = rc.getBeanContext().getClassMeta(method.getGenericReturnType());
+ if (pt == RESPONSE_HEADER)
+ return getHeader(name).parser(pp).schema(schema).as(type).orElse(null);
+ if (pt == RESPONSE_STATUS)
+ return getStatusCode();
+ return getContent().schema(schema).as(type);
+ });
}
/**