From a1ee192e00a8c1c1bb970d82e06c82ca25d9ab35 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Wed, 11 Oct 2017 13:29:00 +0200 Subject: [PATCH] upd: get default variables into outputables for error messages Change-Id: I01c09aa503158d8cdbcfb3e15b03b61e9ac29d21 --- src/club/wpia/gigi/GigiApiException.java | 6 +++--- src/club/wpia/gigi/output/template/Form.java | 4 ++-- src/club/wpia/gigi/pages/OneFormPage.java | 2 +- src/club/wpia/gigi/pages/Page.java | 2 +- src/club/wpia/gigi/pages/PasswordResetPage.java | 2 +- src/club/wpia/gigi/pages/account/certs/Certificates.java | 2 +- src/club/wpia/gigi/pages/account/domain/DomainOverview.java | 2 +- .../wpia/gigi/pages/account/domain/DomainPinglogForm.java | 2 +- src/club/wpia/gigi/pages/account/domain/EditDomain.java | 2 +- src/club/wpia/gigi/pages/wot/VerifyPage.java | 4 ++-- util-testing/club/wpia/gigi/pages/Manager.java | 6 +++--- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/club/wpia/gigi/GigiApiException.java b/src/club/wpia/gigi/GigiApiException.java index 0e1a1b7f..4839e476 100644 --- a/src/club/wpia/gigi/GigiApiException.java +++ b/src/club/wpia/gigi/GigiApiException.java @@ -6,6 +6,7 @@ import java.sql.SQLException; import java.util.HashMap; import java.util.LinkedList; import java.util.Locale; +import java.util.Map; import club.wpia.gigi.localisation.Language; import club.wpia.gigi.output.template.Outputable; @@ -50,7 +51,7 @@ public class GigiApiException extends Exception { return e != null; } - public void format(PrintWriter out, Language language) { + public void format(PrintWriter out, Language language, Map vars) { out.println("
"); if (isInternalError()) { e.printStackTrace(); @@ -58,9 +59,8 @@ public class GigiApiException extends Exception { out.println(language.getTranslation("An internal error occurred.")); out.println("

"); } - HashMap map = new HashMap<>(); for (Outputable message : messages) { - map.clear(); + HashMap map = new HashMap<>(vars); out.print("

"); message.output(out, language, map); diff --git a/src/club/wpia/gigi/output/template/Form.java b/src/club/wpia/gigi/output/template/Form.java index 1e941201..6b895b7c 100644 --- a/src/club/wpia/gigi/output/template/Form.java +++ b/src/club/wpia/gigi/output/template/Form.java @@ -168,11 +168,11 @@ public abstract class Form implements Outputable { public static boolean printFormErrors(HttpServletRequest req, PrintWriter out) { Object o = req.getAttribute(SUBMIT_RESULT); if (o != null && (o instanceof PermamentFormException)) { - ((PermamentFormException) o).getCause().format(out, Page.getLanguage(req)); + ((PermamentFormException) o).getCause().format(out, Page.getLanguage(req), Page.getDefaultVars(req)); return false; } if (o != null && (o instanceof GigiApiException)) { - ((GigiApiException) o).format(out, Page.getLanguage(req)); + ((GigiApiException) o).format(out, Page.getLanguage(req), Page.getDefaultVars(req)); return true; } if (o != null && (o instanceof FormContinue)) { diff --git a/src/club/wpia/gigi/pages/OneFormPage.java b/src/club/wpia/gigi/pages/OneFormPage.java index 91c29908..452955bc 100644 --- a/src/club/wpia/gigi/pages/OneFormPage.java +++ b/src/club/wpia/gigi/pages/OneFormPage.java @@ -35,7 +35,7 @@ public class OneFormPage extends Page { try { c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } catch (ReflectiveOperationException e) { - new GigiApiException().format(resp.getWriter(), getLanguage(req)); + new GigiApiException().format(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } } diff --git a/src/club/wpia/gigi/pages/Page.java b/src/club/wpia/gigi/pages/Page.java index 8bca3afa..9d431c07 100644 --- a/src/club/wpia/gigi/pages/Page.java +++ b/src/club/wpia/gigi/pages/Page.java @@ -176,7 +176,7 @@ public abstract class Page implements PermissionCheckable { * the HTTP-request to derive the map from * @return the map */ - protected Map getDefaultVars(HttpServletRequest req) { + public static Map getDefaultVars(HttpServletRequest req) { HashMap vars = new HashMap(); vars.put(Gigi.LINK_HOST, req.getAttribute(Gigi.LINK_HOST)); vars.put("appName", ServerConstants.getAppName()); diff --git a/src/club/wpia/gigi/pages/PasswordResetPage.java b/src/club/wpia/gigi/pages/PasswordResetPage.java index 3bfb894a..af1829a0 100644 --- a/src/club/wpia/gigi/pages/PasswordResetPage.java +++ b/src/club/wpia/gigi/pages/PasswordResetPage.java @@ -104,7 +104,7 @@ public class PasswordResetPage extends Page { try { new PasswordResetForm(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } catch (GigiApiException e) { - e.format(resp.getWriter(), getLanguage(req)); + e.format(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } } diff --git a/src/club/wpia/gigi/pages/account/certs/Certificates.java b/src/club/wpia/gigi/pages/account/certs/Certificates.java index 78d8a09f..62322554 100644 --- a/src/club/wpia/gigi/pages/account/certs/Certificates.java +++ b/src/club/wpia/gigi/pages/account/certs/Certificates.java @@ -231,7 +231,7 @@ public class Certificates extends Page implements HandlesMixedRequest { } catch (GeneralSecurityException e) { e.printStackTrace(); } catch (GigiApiException e) { - e.format(out, l); + e.format(out, l, getDefaultVars(req)); } certDisplay.output(out, getLanguage(req), vars); diff --git a/src/club/wpia/gigi/pages/account/domain/DomainOverview.java b/src/club/wpia/gigi/pages/account/domain/DomainOverview.java index 496d71e8..b3c60da6 100644 --- a/src/club/wpia/gigi/pages/account/domain/DomainOverview.java +++ b/src/club/wpia/gigi/pages/account/domain/DomainOverview.java @@ -35,7 +35,7 @@ public class DomainOverview extends ManagedMultiFormPage { } getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars); } catch (GigiApiException e) { - e.format(resp.getWriter(), getLanguage(req)); + e.format(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } } diff --git a/src/club/wpia/gigi/pages/account/domain/DomainPinglogForm.java b/src/club/wpia/gigi/pages/account/domain/DomainPinglogForm.java index 3ddde80a..e752557e 100644 --- a/src/club/wpia/gigi/pages/account/domain/DomainPinglogForm.java +++ b/src/club/wpia/gigi/pages/account/domain/DomainPinglogForm.java @@ -51,7 +51,7 @@ public class DomainPinglogForm extends Form { try { pings = target.getPings(); } catch (GigiApiException e) { - e.format(out, l); + e.format(out, l, vars); return; } vars.put("domainname", target.getSuffix()); diff --git a/src/club/wpia/gigi/pages/account/domain/EditDomain.java b/src/club/wpia/gigi/pages/account/domain/EditDomain.java index b6672ae7..a28e3322 100644 --- a/src/club/wpia/gigi/pages/account/domain/EditDomain.java +++ b/src/club/wpia/gigi/pages/account/domain/EditDomain.java @@ -45,7 +45,7 @@ public class EditDomain extends ManagedMultiFormPage { try { new PingConfigForm(req, d).output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } catch (GigiApiException e) { - e.format(resp.getWriter(), getLanguage(req)); + e.format(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } } diff --git a/src/club/wpia/gigi/pages/wot/VerifyPage.java b/src/club/wpia/gigi/pages/wot/VerifyPage.java index 4d5e8c79..e2c216ba 100644 --- a/src/club/wpia/gigi/pages/wot/VerifyPage.java +++ b/src/club/wpia/gigi/pages/wot/VerifyPage.java @@ -84,7 +84,7 @@ public class VerifyPage extends Page { try { new VerificationForm(req, applicant).output(out, getLanguage(req), getDefaultVars(req)); } catch (GigiApiException e) { - e.format(out, Page.getLanguage(req)); + e.format(out, Page.getLanguage(req), getDefaultVars(req)); } } } @@ -94,7 +94,7 @@ public class VerifyPage extends Page { } } catch (GigiApiException e) { - e.format(out, getLanguage(req)); + e.format(out, getLanguage(req), getDefaultVars(req)); } } } diff --git a/util-testing/club/wpia/gigi/pages/Manager.java b/util-testing/club/wpia/gigi/pages/Manager.java index f0991aac..81dfeaeb 100644 --- a/util-testing/club/wpia/gigi/pages/Manager.java +++ b/util-testing/club/wpia/gigi/pages/Manager.java @@ -27,7 +27,6 @@ import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import sun.security.x509.X509Key; import club.wpia.gigi.Gigi; import club.wpia.gigi.GigiApiException; import club.wpia.gigi.crypto.SPKAC; @@ -61,6 +60,7 @@ import club.wpia.gigi.util.DomainAssessment; import club.wpia.gigi.util.HTMLEncoder; import club.wpia.gigi.util.Notary; import club.wpia.gigi.util.TimeConditions; +import sun.security.x509.X509Key; public class Manager extends Page { @@ -420,7 +420,7 @@ public class Manager extends Page { e.printStackTrace(); resp.getWriter().println("An internal error occured."); } catch (GigiApiException e) { - e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH)); + e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH), getDefaultVars(req)); } } else if (req.getParameter("addCert") != null) { User u = User.getByEmail(req.getParameter("addCertEmail")); @@ -447,7 +447,7 @@ public class Manager extends Page { e1.printStackTrace(); resp.getWriter().println("error"); } catch (GigiApiException e) { - e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH)); + e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH), getDefaultVars(req)); } } else if (req.getParameter("addExDom") != null) { -- 2.39.2