Index: src/org/tp23/antinstaller/renderer/text/CheckboxInputRenderer.java =================================================================== --- src/org/tp23/antinstaller/renderer/text/CheckboxInputRenderer.java (revision 604) +++ src/org/tp23/antinstaller/renderer/text/CheckboxInputRenderer.java (working copy) @@ -31,48 +31,40 @@ public class CheckboxInputRenderer exten public void renderOutput(OutputField field, BufferedReader reader, PrintStream out) throws IOException { CheckboxInput iField = (CheckboxInput)field; - - StringBuffer buffer = new StringBuffer(); - - buffer.append(iField.getDisplayText()); - - String suggested = iField.getSuggestedValue(); - if (!TextUtils.isVoid(suggested)) { - buffer.append(" ["); - buffer.append(TextUtils.getString("_default_")); - buffer.append(": "); - buffer.append(suggested); - buffer.append("]"); - } - out.println(buffer); - - out.print(TextUtils.PROMPT_STRING); - if(InputField.isTrue(iField.getForce())) { - out.println(TextUtils.getString("_required_")); - iField.setValue(iField.getSuggestedValue()); - return; - } + boolean done = false; - while (true) { - String input = reader.readLine(); - out.println(); - if(TextUtils.isVoid(input)) { - input = iField.getSuggestedValue(); - break; - } + while (!done) + done = renderOutputReal(reader, out, iField); + } - if(TextUtils.isAffirmativeAnswer(input)) { - iField.setValue("true"); - break; - } - else if (TextUtils.isNegativeAnswer(input)){ - iField.setValue("false"); - break; - } + private boolean renderOutputReal(BufferedReader reader, PrintStream out, CheckboxInput iField) throws IOException { + out.print(iField.getDisplayText()); + out.print(" Y or N ["); + out.print(TextUtils.getString("_default_")); + out.print(": "); + if (InputField.isFalse(iField.getSuggestedValue())) + out.print("N"); + else + out.print("Y"); + out.println("]"); + out.print(TextUtils.PROMPT_STRING); + + String input = reader.readLine(); + out.println(); - out.println("Please answer \"yes\" or \"no\""); - out.println(); - out.print(TextUtils.PROMPT_STRING); + if(TextUtils.isVoid(input)) { + input = iField.getSuggestedValue(); } + + if(TextUtils.isAffirmativeAnswer(input)) { + iField.setValue("true"); + return true; + } + else if(TextUtils.isNegativeAnswer(input)) { + iField.setValue("false"); + return true; + } + + return false; } }