From 17527ee82c63b8671224b3340e379e0bfcce6ba1 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 16 Nov 2020 12:13:58 +0000 Subject: 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 --- .../policy/apex/auth/clieditor/CommandLineEditorLoop.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'auth/cli-editor/src') 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(); } -- cgit 1.2.3-korg