X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Foutput%2FGroupSelector.java;h=9d3080ddc1aaf3646ebc08631d6edd3553affc7e;hb=4161987bc38a59c80d694b7061af88b774a8914a;hp=a12a5cd49b6bf9b1e4f84f8a958882798fdc7791;hpb=3e6fc72fae3a11ad28b602f8ee6b02b91f15ed5e;p=gigi.git diff --git a/src/org/cacert/gigi/output/GroupSelector.java b/src/org/cacert/gigi/output/GroupSelector.java index a12a5cd4..9d3080dd 100644 --- a/src/org/cacert/gigi/output/GroupSelector.java +++ b/src/org/cacert/gigi/output/GroupSelector.java @@ -17,20 +17,22 @@ public class GroupSelector implements Outputable { private Group value = null; - private final boolean supportFlag; + private final boolean bySupporter; - public GroupSelector(String name, boolean supportFlag) { + public GroupSelector(String name, boolean bySupporter) { this.name = HTMLEncoder.encodeHTML(name); - this.supportFlag = supportFlag; + this.bySupporter = bySupporter; } public void update(HttpServletRequest r) throws GigiApiException { String vS = r.getParameter(name); - value = null; - for (Group g : Group.values()) { - if (g.getDatabaseName().equals(vS) && g.isManagedBySupport() == supportFlag) { - value = g; - } + if (vS == null) { + throw new GigiApiException("No value for group."); + } + try { + value = Group.getByString(vS); + } catch (IllegalArgumentException e) { + throw new GigiApiException("Invalid value for group."); } } @@ -38,8 +40,8 @@ public class GroupSelector implements Outputable { public void output(PrintWriter out, Language l, Map vars) { out.println("