]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/output/NameInput.java
fix: make sure that single name is accepted
[gigi.git] / src / org / cacert / gigi / output / NameInput.java
index 5eeba5e99e282404ee6ef881c13f0bd55c610cae..11415443b99630297b64217448d11810f16278e7 100644 (file)
@@ -26,6 +26,8 @@ public class NameInput implements Outputable {
 
     private String name = "";
 
+    private String scheme = "western";
+
     public NameInput() {}
 
     public void update(HttpServletRequest req) throws GigiApiException {
@@ -33,6 +35,7 @@ public class NameInput implements Outputable {
         lname = req.getParameter("lname");
         suffix = req.getParameter("suffix");
         name = req.getParameter("name");
+        scheme = req.getParameter("name-type");
         if (fname == null) {
             fname = "";
         }
@@ -45,7 +48,10 @@ public class NameInput implements Outputable {
         if (name == null) {
             name = "";
         }
-        if (name != null && name.contains(" ")) {
+        if ( !"western".equals(scheme) && !"single".equals(scheme)) {
+            throw new GigiApiException("Invalid name type.");
+        }
+        if (name.contains(" ")) {
             throw new GigiApiException("Single names may only have one part.");
         }
 
@@ -57,6 +63,8 @@ public class NameInput implements Outputable {
         vars.put("lname", lname);
         vars.put("suffix", suffix);
         vars.put("name", name);
+        vars.put("western", "western".equals(scheme));
+        vars.put("single", "single".equals(scheme));
         t.output(out, l, vars);
     }
 
@@ -65,7 +73,7 @@ public class NameInput implements Outputable {
     }
 
     public NamePart[] getNameParts() throws GigiApiException {
-        if (name != null && !name.isEmpty()) {
+        if ("single".equals(scheme)) {
             return new NamePart[] {
                     new NamePart(NamePartType.SINGLE_NAME, name)
             };