]> WPIA git - gigi.git/blob - src/org/cacert/gigi/output/AssurancesDisplay.java
Merge "upd: fixes wording"
[gigi.git] / src / org / cacert / gigi / output / AssurancesDisplay.java
1 package org.cacert.gigi.output;
2
3 import java.io.PrintWriter;
4 import java.util.Map;
5
6 import org.cacert.gigi.dbObjects.Assurance;
7 import org.cacert.gigi.dbObjects.Name;
8 import org.cacert.gigi.localisation.Language;
9 import org.cacert.gigi.output.template.IterableDataset;
10 import org.cacert.gigi.output.template.Outputable;
11 import org.cacert.gigi.output.template.Template;
12
13 public class AssurancesDisplay implements Outputable {
14
15     private static final Template template = new Template(AssurancesDisplay.class.getResource("AssurancesDisplay.templ"));
16
17     private boolean assurer;
18
19     public String assuranceArray;
20
21     public AssurancesDisplay(String assuranceArray, boolean assurer) {
22         this.assuranceArray = assuranceArray;
23         this.assurer = assurer;
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         if (assurer) {
30             vars.put("verb", l.getTranslation("To (User Id)"));
31         } else {
32             vars.put("verb", l.getTranslation("From"));
33             vars.put("myName", "yes");
34         }
35
36         IterableDataset assuranceGroup = new IterableDataset() {
37
38             private int i = 0;
39
40             @Override
41             public boolean next(Language l, Map<String, Object> vars) {
42                 if (i >= assurances.length) {
43                     return false;
44                 } else {
45                     Assurance assurance = assurances[i];
46                     vars.put("id", assurance.getId());
47                     vars.put("method", assurance.getMethod());
48                     Name to = assurance.getTo();
49                     if (assurer) {
50                         vars.put("verbVal", to == null ? l.getTranslation("applicant's name removed") : to.getOwner().getId());
51                         vars.put("myName", to == null ? l.getTranslation("applicant's name removed") : to);
52                     } else {
53                         vars.put("verbVal", assurance.getFrom().getPreferredName());
54                         vars.put("myName", to == null ? l.getTranslation("own name removed") : to);
55                     }
56                     vars.put("date", assurance.getDate());
57                     vars.put("location", assurance.getLocation());
58                     vars.put("points", assurance.getPoints());
59                     i++;
60                     return true;
61                 }
62             }
63         };
64         vars.put("assurances", assuranceGroup);
65         template.output(out, l, vars);
66     }
67
68 }