]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/mail/MailAddForm.java
upd: use a more strict pattern for handling forms
[gigi.git] / src / org / cacert / gigi / pages / account / mail / MailAddForm.java
index 6a2bb2c51d9b7550bd97ebdff654a6b0f7bee683..bb28a119aa797f85978337ae619995961a00b0b8 100644 (file)
@@ -10,17 +10,15 @@ import org.cacert.gigi.dbObjects.EmailAddress;
 import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
+import org.cacert.gigi.output.template.PlainOutputable;
 import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.pages.Page;
 
 public class MailAddForm extends Form {
 
-    private static Template t;
+    private static final Template t = new Template(MailAddForm.class.getResource("MailAddForm.templ"));;
 
     private String mail;
-    static {
-        t = new Template(MailAddForm.class.getResource("MailAddForm.templ"));
-    }
 
     private User target;
 
@@ -30,17 +28,13 @@ public class MailAddForm extends Form {
     }
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) {
+    public boolean submit(HttpServletRequest req) throws GigiApiException {
         String formMail = req.getParameter("newemail");
         mail = formMail;
         try {
             new EmailAddress(target, mail, Page.getLanguage(req).getLocale());
         } catch (IllegalArgumentException e) {
-            out.println("<div class='formError'>Error: Invalid address!</div>");
-            return false;
-        } catch (GigiApiException e) {
-            e.format(out, Page.getLanguage(req));
-            return false;
+            throw new GigiApiException(new PlainOutputable("Invalid address."));
         }
         return true;
     }