From 391351cfb8554b94fd38b3b404f34f7e3916f8f5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Tue, 24 Jun 2014 15:02:42 +0200 Subject: [PATCH] Factor out loading of default Template for pages --- src/org/cacert/gigi/pages/Page.java | 18 ++++++++++++++++++ .../cacert/gigi/pages/account/MyDetails.java | 13 +------------ .../cacert/gigi/pages/main/RegisterPage.java | 14 ++------------ 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/src/org/cacert/gigi/pages/Page.java b/src/org/cacert/gigi/pages/Page.java index 7b59f9f1..2e714b61 100644 --- a/src/org/cacert/gigi/pages/Page.java +++ b/src/org/cacert/gigi/pages/Page.java @@ -1,18 +1,36 @@ package org.cacert.gigi.pages; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.cacert.gigi.Language; +import org.cacert.gigi.output.Template; public abstract class Page { private String title; + private Template defaultTemplate; public Page(String title) { this.title = title; + try { + InputStream resource = getClass().getResourceAsStream( + getClass().getSimpleName() + ".templ"); + if (resource != null) { + defaultTemplate = new Template(new InputStreamReader(resource, + "UTF-8")); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + public Template getDefaultTemplate() { + return defaultTemplate; } public abstract void doGet(HttpServletRequest req, HttpServletResponse resp) diff --git a/src/org/cacert/gigi/pages/account/MyDetails.java b/src/org/cacert/gigi/pages/account/MyDetails.java index c3f11416..ab62b740 100644 --- a/src/org/cacert/gigi/pages/account/MyDetails.java +++ b/src/org/cacert/gigi/pages/account/MyDetails.java @@ -3,9 +3,7 @@ package org.cacert.gigi.pages.account; import static org.cacert.gigi.Gigi.USER; import java.io.IOException; -import java.io.InputStreamReader; import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; @@ -13,22 +11,13 @@ import javax.servlet.http.HttpServletResponse; import org.cacert.gigi.User; import org.cacert.gigi.output.DateSelector; -import org.cacert.gigi.output.Template; import org.cacert.gigi.pages.Page; import org.cacert.gigi.util.HTMLEncoder; public class MyDetails extends Page { - private Template t; public MyDetails() { super("My Details"); - try { - t = new Template(new InputStreamReader( - MyDetails.class.getResourceAsStream(MyDetails.class - .getSimpleName() + ".templ"), "UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } } public static final String PATH = "/account/myDetails"; @@ -52,7 +41,7 @@ public class MyDetails extends Page { DateSelector ds = new DateSelector("day", "month", "year"); map.put("DoB", ds); map.put("details", ""); - t.output(out, getLanguage(req), map); + getDefaultTemplate().output(out, getLanguage(req), map); } } diff --git a/src/org/cacert/gigi/pages/main/RegisterPage.java b/src/org/cacert/gigi/pages/main/RegisterPage.java index 7ff5a983..f552189f 100644 --- a/src/org/cacert/gigi/pages/main/RegisterPage.java +++ b/src/org/cacert/gigi/pages/main/RegisterPage.java @@ -1,40 +1,30 @@ package org.cacert.gigi.pages.main; import java.io.IOException; -import java.io.InputStreamReader; import java.io.PrintWriter; -import java.io.UnsupportedEncodingException; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import org.cacert.gigi.output.Template; import org.cacert.gigi.pages.Page; public class RegisterPage extends Page { private static final String SIGNUP_PROCESS = "signupProcess"; public static final String PATH = "/register"; - Template t; public RegisterPage() { super("Register"); - try { - t = new Template(new InputStreamReader( - Signup.class.getResourceAsStream("RegisterPage.templ"), - "UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } } @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { PrintWriter out = resp.getWriter(); - t.output(out, getLanguage(req), new HashMap()); + getDefaultTemplate().output(out, getLanguage(req), + new HashMap()); Signup s = getForm(req); s.writeForm(out, getLanguage(req)); } -- 2.39.2