]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/Gigi.java
Added mailOverview (form dummy)
[gigi.git] / src / org / cacert / gigi / Gigi.java
index 7900c2ed21b66e311de5337f7a95f654d1a4b916..8cc076e19e6a3839b7e409fb44d69d1033ef4b80 100644 (file)
@@ -20,9 +20,11 @@ import org.cacert.gigi.email.EmailProvider;
 import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.MainPage;
 import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.pages.PolicyRedir;
 import org.cacert.gigi.pages.TestSecure;
 import org.cacert.gigi.pages.Verify;
 import org.cacert.gigi.pages.account.MailCertificates;
+import org.cacert.gigi.pages.account.MailOverview;
 import org.cacert.gigi.pages.account.MyDetails;
 import org.cacert.gigi.pages.main.RegisterPage;
 import org.cacert.gigi.pages.wot.AssurePage;
@@ -49,6 +51,9 @@ public class Gigi extends HttpServlet {
                pages.put(MailCertificates.PATH, new MailCertificates());
                pages.put(MyDetails.PATH, new MyDetails());
                pages.put(RegisterPage.PATH, new RegisterPage());
+               pages.put(PolicyRedir.PATH, new PolicyRedir());
+               pages.put(MailOverview.DEFAULT_PATH, new MailOverview(
+                               "My email addresses"));
                String templ = "";
                try (BufferedReader reader = new BufferedReader(new InputStreamReader(
                                new FileInputStream(new File("templates/base.html"))))) {
@@ -76,8 +81,9 @@ public class Gigi extends HttpServlet {
                        return;
                }
 
-               if (pages.containsKey(req.getPathInfo())) {
-                       Page p = pages.get(req.getPathInfo());
+               Page p = getPage(req.getPathInfo());
+               if (p != null) {
+
                        if (p.needsLogin() && hs.getAttribute("loggedin") == null) {
                                String request = req.getPathInfo();
                                request = request.split("\\?")[0];
@@ -105,6 +111,26 @@ public class Gigi extends HttpServlet {
                        resp.sendError(404, "Page not found.");
                }
 
+       }
+       private Page getPage(String pathInfo) {
+
+               Page page = pages.get(pathInfo);
+               if (page != null) {
+                       return page;
+               }
+               page = pages.get(pathInfo + "/*");
+               if (page != null) {
+                       return page;
+               }
+               int idx = pathInfo.lastIndexOf('/');
+               pathInfo = pathInfo.substring(0, idx);
+
+               page = pages.get(pathInfo + "/*");
+               if (page != null) {
+                       return page;
+               }
+               return null;
+
        }
        private String makeDynTempl(String in, Page p) {
                int year = Calendar.getInstance().get(Calendar.YEAR);