From a46613f2e0c373d776635fa62ecde0c79c041d7a Mon Sep 17 00:00:00 2001 From: jiangyitao <451988022@163.com> Date: Sun, 12 Jun 2022 13:47:53 +0800 Subject: [PATCH 1/4] feat: Add a method for remove outputStream --- .../io/appium/java_client/service/local/ListOutputStream.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/io/appium/java_client/service/local/ListOutputStream.java b/src/main/java/io/appium/java_client/service/local/ListOutputStream.java index 6586d5cc1..60172b23b 100644 --- a/src/main/java/io/appium/java_client/service/local/ListOutputStream.java +++ b/src/main/java/io/appium/java_client/service/local/ListOutputStream.java @@ -30,6 +30,10 @@ ListOutputStream add(OutputStream stream) { return this; } + boolean remove(OutputStream stream) { + return streams.remove(stream); + } + @Override public void write(int i) throws IOException { for (OutputStream stream : streams) { stream.write(i); From b5fe180312c1cfc6ba1a8b86ab4e2a9aaca28ac6 Mon Sep 17 00:00:00 2001 From: jiangyitao <451988022@163.com> Date: Sun, 12 Jun 2022 14:05:14 +0800 Subject: [PATCH 2/4] feat: Add methods for remove outputStream and close outputStream --- .../local/AppiumDriverLocalService.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java index cc1c77ad5..da7bb1ab9 100644 --- a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java +++ b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java @@ -70,7 +70,7 @@ public final class AppiumDriverLocalService extends DriverService { private final ListOutputStream stream = new ListOutputStream().add(System.out); private final URL url; private String basePath; - + private CommandLine process = null; AppiumDriverLocalService(String ipAddress, File nodeJSExec, @@ -294,6 +294,37 @@ public void addOutPutStreams(List outputStreams) { } } + /** + * Remove the outputStream which is receiving server output data + * + * @return true if the outputStream has been removed + */ + public boolean removeOutputStream(OutputStream outputStream) { + checkNotNull(outputStream, "outputStream parameter is NULL!"); + return stream.remove(outputStream); + } + + /** + * Remove the outputStream which is receiving server output data, and close + * + * @param outputStream + * @return true if the outputStream has been removed + */ + public boolean removeOutputStreamAndClose(OutputStream outputStream) throws IOException { + boolean removed = removeOutputStream(outputStream); + outputStream.close(); + return removed; + } + + /** + * Close all existing server output streams. + * + * @throws IOException + */ + public void closeOutputStreams() throws IOException { + stream.close(); + } + /** * Remove all existing server output streams. * From d5d8066d8ca56641aefa58b742d249e1e28e1829 Mon Sep 17 00:00:00 2001 From: jiangyitao <451988022@163.com> Date: Mon, 13 Jun 2022 09:27:59 +0800 Subject: [PATCH 3/4] refactor: remove output stream --- .../local/AppiumDriverLocalService.java | 21 +++++-------------- .../service/local/ListOutputStream.java | 5 +++-- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java index da7bb1ab9..3ceb55c8e 100644 --- a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java +++ b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java @@ -44,6 +44,7 @@ import java.time.Duration; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; import java.util.function.BiConsumer; @@ -295,33 +296,21 @@ public void addOutPutStreams(List outputStreams) { } /** - * Remove the outputStream which is receiving server output data + * Remove the outputStream which is receiving server output data. * - * @return true if the outputStream has been removed + * @return the outputStream has been removed if it is present */ - public boolean removeOutputStream(OutputStream outputStream) { + public Optional removeOutPutStream(OutputStream outputStream) { checkNotNull(outputStream, "outputStream parameter is NULL!"); return stream.remove(outputStream); } - /** - * Remove the outputStream which is receiving server output data, and close - * - * @param outputStream - * @return true if the outputStream has been removed - */ - public boolean removeOutputStreamAndClose(OutputStream outputStream) throws IOException { - boolean removed = removeOutputStream(outputStream); - outputStream.close(); - return removed; - } - /** * Close all existing server output streams. * * @throws IOException */ - public void closeOutputStreams() throws IOException { + public void closeOutPutStreams() throws IOException { stream.close(); } diff --git a/src/main/java/io/appium/java_client/service/local/ListOutputStream.java b/src/main/java/io/appium/java_client/service/local/ListOutputStream.java index 60172b23b..89820f70a 100644 --- a/src/main/java/io/appium/java_client/service/local/ListOutputStream.java +++ b/src/main/java/io/appium/java_client/service/local/ListOutputStream.java @@ -20,6 +20,7 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; +import java.util.Optional; class ListOutputStream extends OutputStream { @@ -30,8 +31,8 @@ ListOutputStream add(OutputStream stream) { return this; } - boolean remove(OutputStream stream) { - return streams.remove(stream); + Optional remove(OutputStream stream) { + return streams.remove(stream) ? Optional.of(stream) : Optional.empty(); } @Override public void write(int i) throws IOException { From 6c7c04bf3974eb9b4888934eb53125dc6606e551 Mon Sep 17 00:00:00 2001 From: jiangyitao <451988022@163.com> Date: Mon, 13 Jun 2022 13:44:35 +0800 Subject: [PATCH 4/4] chore: delete unneeded method --- .../service/local/AppiumDriverLocalService.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java index 3ceb55c8e..d4cedc033 100644 --- a/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java +++ b/src/main/java/io/appium/java_client/service/local/AppiumDriverLocalService.java @@ -305,15 +305,6 @@ public Optional removeOutPutStream(OutputStream outputStream) { return stream.remove(outputStream); } - /** - * Close all existing server output streams. - * - * @throws IOException - */ - public void closeOutPutStreams() throws IOException { - stream.close(); - } - /** * Remove all existing server output streams. *