]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/account/domain/DomainAddForm.java
upd: enforce a more strict Form call pattern.
[gigi.git] / src / org / cacert / gigi / pages / account / domain / DomainAddForm.java
index 6244e9d622106d3b72e2dd4cb1229fbfaee18866..584821796f6496b6e657d4a33a573421ba9e7aba 100644 (file)
@@ -12,7 +12,6 @@ import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Form;
 import org.cacert.gigi.output.template.Outputable;
 import org.cacert.gigi.output.template.Template;
-import org.cacert.gigi.pages.Page;
 
 public class DomainAddForm extends Form {
 
@@ -29,23 +28,18 @@ public class DomainAddForm extends Form {
     }
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) {
+    public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
         try {
             String parameter = req.getParameter("newdomain");
             if (parameter.trim().isEmpty()) {
                 throw new GigiApiException("No domain inserted.");
             }
-            Domain d = new Domain(target, parameter);
-            d.insert();
+            Domain d = new Domain(target, target, parameter);
             pcf.setTarget(d);
-            pcf.submit(out, req);
-            return true;
+            pcf.submit(req);
+            return new RedirectResult(DomainOverview.PATH);
         } catch (NumberFormatException e) {
-            new GigiApiException("A number could not be parsed").format(out, Page.getLanguage(req));
-            return false;
-        } catch (GigiApiException e) {
-            e.format(out, Page.getLanguage(req));
-            return false;
+            throw new GigiApiException("A number could not be parsed");
         }
     }