]> WPIA git - gigi.git/commitdiff
Factor out loading of default Template for pages
authorFelix Dörre <felix@dogcraft.de>
Tue, 24 Jun 2014 13:02:42 +0000 (15:02 +0200)
committerFelix Dörre <felix@dogcraft.de>
Tue, 24 Jun 2014 14:15:21 +0000 (16:15 +0200)
src/org/cacert/gigi/pages/Page.java
src/org/cacert/gigi/pages/account/MyDetails.java
src/org/cacert/gigi/pages/main/RegisterPage.java

index 7b59f9f11521d21d27e66fd05000794b3abb887d..2e714b61fdd4306d316547a0690a29ee4e4431e0 100644 (file)
@@ -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)
index c3f114167d51920ad80996afc7640d7f5eace3f8..ab62b74021cdeba628c728f63670de8b69cfe9fe 100644 (file)
@@ -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);
 
        }
 }
index 7ff5a983fe73182ab4d5ae746f3019f1bbae9a2e..f552189f7ff27e827bc91ca863d045925c5109d8 100644 (file)
@@ -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<String, Object>());
+               getDefaultTemplate().output(out, getLanguage(req),
+                               new HashMap<String, Object>());
                Signup s = getForm(req);
                s.writeForm(out, getLanguage(req));
        }