From 9c8866827dcc65ef032483d16a0293dc11ae1136 Mon Sep 17 00:00:00 2001 From: Emmanuel Bigeon Date: Mon, 3 Dec 2018 11:25:01 -0500 Subject: [PATCH] Reduce prompting method complexity Signed-off-by: Emmanuel Bigeon --- .../process/io/ConnectingConsoleInput.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gclc-process/src/main/java/net/bigeon/gclc/process/io/ConnectingConsoleInput.java b/gclc-process/src/main/java/net/bigeon/gclc/process/io/ConnectingConsoleInput.java index e21465f..39cc520 100644 --- a/gclc-process/src/main/java/net/bigeon/gclc/process/io/ConnectingConsoleInput.java +++ b/gclc-process/src/main/java/net/bigeon/gclc/process/io/ConnectingConsoleInput.java @@ -211,7 +211,7 @@ public final class ConnectingConsoleInput implements ConsoleInput { } private String doPrompt(final String message, final long timeout, final long tic) - throws InterruptedIOException, IOException { + throws IOException { do { if (!checkPrompt()) { break; @@ -227,13 +227,7 @@ public final class ConnectingConsoleInput implements ConsoleInput { continue; } try { - final long timeoutLeft = getTimeoutLeft(tic, timeout); - final String res; - if (timeoutLeft == 0) { - res = actualConnected.prompt(message); - } else { - res = actualConnected.prompt(message, timeoutLeft); - } + final String res = actualPrompt(message, timeout, tic, actualConnected); synchronized (promptLock) { if (prompting) { prompting = false; @@ -254,6 +248,15 @@ public final class ConnectingConsoleInput implements ConsoleInput { return null; } + private static String actualPrompt(final String message, final long timeout, + final long tic, final ConsoleInput actualConnected) throws IOException { + final long timeoutLeft = getTimeoutLeft(tic, timeout); + if (timeoutLeft == 0) { + return actualConnected.prompt(message); + } + return actualConnected.prompt(message, timeoutLeft); + } + private static boolean checkTimeout(final long tic, final long timeout) { return timeout <= 0 || tic + timeout > System.currentTimeMillis(); }