X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FCountrySelector.java;h=bb1fab920e661dca205f49173c59fe54413161da;hp=f35a8f299b486a06a7d8adb7457d96aa3f8a1bd6;hb=a1618d15f672d5ced82d6f4f6f06d2f58412fd1f;hpb=bead06ac89a5fbe282dab187c5d1babbb7dcdf66 diff --git a/src/org/cacert/gigi/output/CountrySelector.java b/src/org/cacert/gigi/output/CountrySelector.java index f35a8f29..bb1fab92 100644 --- a/src/org/cacert/gigi/output/CountrySelector.java +++ b/src/org/cacert/gigi/output/CountrySelector.java @@ -1,13 +1,14 @@ package org.cacert.gigi.output; import java.io.PrintWriter; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.GigiApiException; -import org.cacert.gigi.dbObjects.CountryCode; -import org.cacert.gigi.dbObjects.CountryCode.CountryCodeType; +import org.cacert.gigi.dbObjects.Country; +import org.cacert.gigi.dbObjects.Country.CountryCodeType; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Outputable; import org.cacert.gigi.output.template.Template; @@ -16,28 +17,29 @@ public class CountrySelector implements Outputable { private static final Template t = new Template(CountrySelector.class.getResource("CountrySelector.templ")); - private CountryCode[] all = CountryCode.getCountryCodes(CountryCodeType.CODE_2_CHARS); + private List all = Country.getCountries(); private String name; - private CountryCode selected; + private Country selected; private boolean optional; - public CountrySelector(String name, boolean optional) throws GigiApiException { + public CountrySelector(String name, boolean optional) { this.name = name; this.optional = optional; } - public CountrySelector(String name, boolean optional, String state) throws GigiApiException { + public CountrySelector(String name, boolean optional, Country country) { this(name, optional); - selected = CountryCode.getCountryCode(state, CountryCodeType.CODE_2_CHARS); - + selected = country; } public void update(HttpServletRequest r) throws GigiApiException { String vS = r.getParameter(name); + selected = null; + if (vS == null || vS.equals("invalid")) { if (optional) { return; @@ -45,31 +47,34 @@ public class CountrySelector implements Outputable { throw new GigiApiException("Country code required."); } } - selected = CountryCode.getCountryCode(vS, CountryCodeType.CODE_2_CHARS); + selected = Country.getCountryByCode(vS, CountryCodeType.CODE_2_CHARS); } @Override public void output(PrintWriter out, Language l, Map vars) { - vars.put("countryCode", new ArrayIterable(all) { + vars.put("countryCode", new IterableIterable(all) { @Override - public void apply(CountryCode t, Language l, Map vars) { - vars.put("cc", t.getCountryCode()); - vars.put("display", t.getCountry()); - if (selected != null && t.getCountryCode().equals(selected.getCountryCode())) { + public void apply(Country t, Language l, Map vars) { + vars.put("cc", t.getCode()); + vars.put("display", t.getName()); + if (selected != null && t.getCode().equals(selected.getCode())) { vars.put("selected", "selected"); } else { vars.put("selected", ""); } } + }); + vars.put("optional", optional); vars.put("name", name); + t.output(out, l, vars); } - public CountryCode getCountry() { + public Country getCountry() { return selected; }