1
16package org.tp23.antinstaller.renderer.text;
17
18import java.io.BufferedReader;
19import java.io.IOException;
20import java.io.PrintStream;
21import java.util.ResourceBundle;
22
23import org.tp23.antinstaller.InstallerContext;
24import org.tp23.antinstaller.input.InputField;
25import org.tp23.antinstaller.input.OutputField;
26import org.tp23.antinstaller.input.TargetInput;
27
28
29public class TargetInputRenderer
30 implements TextOutputFieldRenderer {
31
32 private static final ResourceBundle res = ResourceBundle.getBundle("org.tp23.antinstaller.renderer.text.Res");
33
34 protected InstallerContext ctx;
35 public TargetInputRenderer() {
36 }
37
38 public void setContext(InstallerContext ctx) {
39 this.ctx = ctx;
40 }
41
42 public void renderOutput(OutputField field, BufferedReader reader, PrintStream out) throws IOException {
43 TargetInput iField = (TargetInput) field;
44 out.println("Install the following component?");
45 out.print(iField.getDisplayText());
46
47 out.print(" [");
48 out.print(res.getString("_default_"));
49 out.print(":");
50 out.print(iField.getDefaultValue());
51 out.print("]");
52
53 if (InputField.isTrue(iField.getForce())) {
54 out.print(" [");
55 out.print(res.getString("_required_"));
56 out.println("]");
57 ctx.getCurrentPage().addTarget(iField.getIdx(), iField.getTarget());
58 iField.setInputResult("true");
59 out.println();
60 return;
61 }
62
63
64
65 out.println();
66 String input = reader.readLine();
67 out.println();
68 if (input == null || input.trim().equals("")){
69 input = iField.getDefaultValue();
70 }
71 if(InputField.isTrue(input)){
72 ctx.getCurrentPage().addTarget(iField.getIdx(), iField.getTarget());
73 iField.setInputResult("true");
74 }
75 else{
76 ctx.getCurrentPage().removeTarget(iField.getIdx());
77 iField.setInputResult("false");
78 }
79
80 }
81
82 public boolean isAbort() {
83 return false;
84 }
85
86
87
88
94 public void renderError(OutputField field, BufferedReader reader, PrintStream out) {
95 }
96}
97