diff options
author | liamfallon <liam.fallon@est.tech> | 2020-11-16 12:13:58 +0000 |
---|---|---|
committer | Liam Fallon <liam.fallon@est.tech> | 2020-11-16 17:04:55 +0000 |
commit | e02adfc4c3243778c83c6ab44fae359019b164e3 (patch) | |
tree | 3b8ee849aabcdceee0865b6fb582d3f566356b4d | |
parent | 84d0f41eba6884cc8e75e920e766abd785c06f2b (diff) |
Apex CLI editor closes standard input/output/error
The Apex CLI editor closes its input and output when it completes. This is correct behaviour when the input and output are files. However, if the input and output are tied to standard input, output, and error then if there are subsequent actions in the JVM (Such as continuing to run Apex as we do in tests), then any output such as logging is lost.
This fix checks for standard input/output/error before closing the input
and output.
Issue-ID: POLICY-2897
Change-Id: Ifa20b62511f770197f30c4a817212a92876dd6a6
Signed-off-by: liamfallon <liam.fallon@est.tech>
(cherry picked from commit 17527ee82c63b8671224b3340e379e0bfcce6ba1)
-rw-r--r-- | auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineEditorLoop.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineEditorLoop.java b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineEditorLoop.java index 3adea1a89..991257e6b 100644 --- a/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineEditorLoop.java +++ b/auth/cli-editor/src/main/java/org/onap/policy/apex/auth/clieditor/CommandLineEditorLoop.java @@ -131,8 +131,15 @@ public class CommandLineEditorLoop { } } - reader.close(); - writer.close(); + writer.flush(); + + if (!System.in.equals(inputStream)) { + reader.close(); + } + + if (!System.out.equals(outputStream) && !System.err.equals(outputStream)) { + writer.close(); + } return executionStatus.getRight(); } |