]> WPIA git - gigi.git/blob - src/org/cacert/gigi/output/AssurancesDisplay.java
ADD: Assurancedisplay
[gigi.git] / src / org / cacert / gigi / output / AssurancesDisplay.java
1 package org.cacert.gigi.output;
2
3 import java.io.InputStreamReader;
4 import java.io.PrintWriter;
5 import java.util.Map;
6
7 import org.cacert.gigi.Assurance;
8 import org.cacert.gigi.localisation.Language;
9 import org.cacert.gigi.output.template.IterableDataset;
10 import org.cacert.gigi.output.template.Template;
11
12 public class AssurancesDisplay implements Outputable {
13
14     private static Template template;
15
16     public String assuranceArray;
17
18     static {
19         template = new Template(new InputStreamReader(AssurancesDisplay.class.getResourceAsStream("AssurancesDisplay.templ")));
20     }
21
22     public AssurancesDisplay(String assuranceArray) {
23         this.assuranceArray = assuranceArray;
24     }
25
26     @Override
27     public void output(PrintWriter out, Language l, Map<String, Object> vars) {
28         final Assurance[] assurances = (Assurance[]) vars.get(assuranceArray);
29         IterableDataset assuranceGroup = new IterableDataset() {
30
31             private int i = 0;
32
33             @Override
34             public boolean next(Language l, Map<String, Object> vars) {
35                 if (i >= assurances.length) {
36                     return false;
37                 } else {
38                     Assurance assurance = assurances[i];
39                     vars.put("id", assurance.getId());
40                     vars.put("method", assurance.getMethod());
41                     vars.put("from", assurance.getFrom().getName());
42                     vars.put("to", assurance.getTo().getName());
43                     vars.put("date", assurance.getDate());
44                     vars.put("location", assurance.getLocation());
45                     vars.put("points", assurance.getPoints());
46                     i++;
47                     return true;
48                 }
49             }
50         };
51         vars.put("assurances", assuranceGroup);
52         template.output(out, l, vars);
53     }
54
55 }