]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/Page.java
Correct login redirection.
[gigi.git] / src / org / cacert / gigi / pages / Page.java
index afe96dc76f4dddba3820e0b05da08f91851f3763..386a6d75fcc7d96cb6f4e25cd7afa992abf775bc 100644 (file)
@@ -1,21 +1,46 @@
 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.ServletResponse;
+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(ServletRequest req, ServletResponse resp)
+       public boolean beforeTemplate(HttpServletRequest req,
+                       HttpServletResponse resp) throws IOException {
+               return false;
+       }
+       public abstract void doGet(HttpServletRequest req, HttpServletResponse resp)
                        throws IOException;
 
-       public void doPost(ServletRequest req, ServletResponse resp)
+       public void doPost(HttpServletRequest req, HttpServletResponse resp)
                        throws IOException {
                doGet(req, resp);
        }
@@ -27,4 +52,16 @@ public abstract class Page {
        public void setTitle(String title) {
                this.title = title;
        }
+       public static Language getLanguage(ServletRequest req) {
+               return Language.getInstance("de");
+       }
+
+       public static String translate(ServletRequest req, String string) {
+               Language l = getLanguage(req);
+               return l.getTranslation(string);
+       }
+       public boolean needsLogin() {
+               return true;
+       }
+
 }