summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2020-11-16 12:13:58 +0000
committerLiam Fallon <liam.fallon@est.tech>2020-11-16 17:04:55 +0000
commite02adfc4c3243778c83c6ab44fae359019b164e3 (patch)
tree3b8ee849aabcdceee0865b6fb582d3f566356b4d
parent84d0f41eba6884cc8e75e920e766abd785c06f2b (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.java11
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();
}