rendered paste bodyIndex: 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;
}
}