1
16package org.tp23.antinstaller.renderer.text;
17
18import java.io.BufferedReader;
19import java.io.File;
20import java.io.IOException;
21import java.io.PrintStream;
22import java.util.ResourceBundle;
23
24import org.tp23.antinstaller.InstallerContext;
25import org.tp23.antinstaller.input.FileInput;
26import org.tp23.antinstaller.input.OutputField;
27import org.tp23.antinstaller.renderer.MessageRenderer;
28
29
30public class FileInputRenderer
31 implements TextOutputFieldRenderer {
32
33 private static final ResourceBundle res = ResourceBundle.getBundle("org.tp23.antinstaller.renderer.text.Res");
34
35 protected InstallerContext ctx;
36 public FileInputRenderer() {
37 }
38
39 public void setContext(InstallerContext ctx) {
40 this.ctx = ctx;
41 }
42
43 public void renderOutput(OutputField field, BufferedReader reader, PrintStream out) throws IOException {
44 FileInput iField = (FileInput) field;
45 out.print(iField.getDisplayText());
46
47 out.print(" [");
48 out.print(res.getString("_default_"));
49 out.print(":");
50 out.print(iField.getDefaultValue(true));
51 out.print("]");
52
53 out.println();
54 String input = reader.readLine();
55 out.println();
56 if(input == null || input.equals("")){
57 input = iField.getDefaultValue(true);
58 }
59 iField.setInputResult(new File(input).getAbsolutePath());
60 }
61 public void renderError(OutputField field, BufferedReader reader, PrintStream out) throws IOException{
62 MessageRenderer mr = ctx.getMessageRenderer();
63 mr.printMessage(res.getString("fileDoesNotExist"));
64 renderOutput(field, reader, out);
65 }
66 public boolean isAbort(){
67 return false;
68 }
69
70}
71