From 43df06b905d999a01e249712b1927ebafe1535e0 Mon Sep 17 00:00:00 2001 From: May <50238322+thenx-wei@users.noreply.github.com> Date: Sat, 27 Jun 2020 00:47:38 +0800 Subject: [PATCH] Replace anonymous inner classes with lambda expressions Closes gh-25319 --- ...SimpleBufferingAsyncClientHttpRequest.java | 37 +++++++++---------- ...SimpleStreamingAsyncClientHttpRequest.java | 29 +++++++-------- 2 files changed, 30 insertions(+), 36 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/SimpleBufferingAsyncClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/SimpleBufferingAsyncClientHttpRequest.java index 2be5c170df02..25a4ca724449 100644 --- a/spring-web/src/main/java/org/springframework/http/client/SimpleBufferingAsyncClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/SimpleBufferingAsyncClientHttpRequest.java @@ -76,27 +76,24 @@ public URI getURI() { protected ListenableFuture executeInternal( final HttpHeaders headers, final byte[] bufferedOutput) throws IOException { - return this.taskExecutor.submitListenable(new Callable() { - @Override - public ClientHttpResponse call() throws Exception { - SimpleBufferingClientHttpRequest.addHeaders(connection, headers); - // JDK <1.8 doesn't support getOutputStream with HTTP DELETE - if (getMethod() == HttpMethod.DELETE && bufferedOutput.length == 0) { - connection.setDoOutput(false); - } - if (connection.getDoOutput() && outputStreaming) { - connection.setFixedLengthStreamingMode(bufferedOutput.length); - } - connection.connect(); - if (connection.getDoOutput()) { - FileCopyUtils.copy(bufferedOutput, connection.getOutputStream()); - } - else { - // Immediately trigger the request in a no-output scenario as well - connection.getResponseCode(); - } - return new SimpleClientHttpResponse(connection); + return this.taskExecutor.submitListenable(() -> { + SimpleBufferingClientHttpRequest.addHeaders(connection, headers); + // JDK <1.8 doesn't support getOutputStream with HTTP DELETE + if (getMethod() == HttpMethod.DELETE && bufferedOutput.length == 0) { + connection.setDoOutput(false); } + if (connection.getDoOutput() && outputStreaming) { + connection.setFixedLengthStreamingMode(bufferedOutput.length); + } + connection.connect(); + if (connection.getDoOutput()) { + FileCopyUtils.copy(bufferedOutput, connection.getOutputStream()); + } + else { + // Immediately trigger the request in a no-output scenario as well + connection.getResponseCode(); + } + return new SimpleClientHttpResponse(connection); }); } diff --git a/spring-web/src/main/java/org/springframework/http/client/SimpleStreamingAsyncClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/SimpleStreamingAsyncClientHttpRequest.java index de4da24aabdf..effec019e66e 100644 --- a/spring-web/src/main/java/org/springframework/http/client/SimpleStreamingAsyncClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/SimpleStreamingAsyncClientHttpRequest.java @@ -103,25 +103,22 @@ protected OutputStream getBodyInternal(HttpHeaders headers) throws IOException { @Override protected ListenableFuture executeInternal(final HttpHeaders headers) throws IOException { - return this.taskExecutor.submitListenable(new Callable() { - @Override - public ClientHttpResponse call() throws Exception { - try { - if (body != null) { - body.close(); - } - else { - SimpleBufferingClientHttpRequest.addHeaders(connection, headers); - connection.connect(); - // Immediately trigger the request in a no-output scenario as well - connection.getResponseCode(); - } + return this.taskExecutor.submitListenable(() -> { + try { + if (body != null) { + body.close(); } - catch (IOException ex) { - // ignore + else { + SimpleBufferingClientHttpRequest.addHeaders(connection, headers); + connection.connect(); + // Immediately trigger the request in a no-output scenario as well + connection.getResponseCode(); } - return new SimpleClientHttpResponse(connection); } + catch (IOException ex) { + // ignore + } + return new SimpleClientHttpResponse(connection); }); }