]> WPIA git - gigi.git/blobdiff - util-testing/org/cacert/gigi/DevelLauncher.java
fix: Possible NPE when no menu previously existed
[gigi.git] / util-testing / org / cacert / gigi / DevelLauncher.java
index 5c292fab2d2b3ea965b6b16a83efd21a762ef427..736947d55ac566675d62c25b93d06fa2120058ff 100644 (file)
@@ -32,6 +32,7 @@ import org.cacert.gigi.dbObjects.User;
 import org.cacert.gigi.localisation.Language;
 import org.cacert.gigi.output.template.Template;
 import org.cacert.gigi.output.template.TranslateCommand;
+import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.Page;
 import org.cacert.gigi.pages.account.certs.CertificateRequest;
 import org.cacert.gigi.pages.main.RegisterPage;
@@ -121,8 +122,12 @@ public class DevelLauncher {
 
             // Check if we got a proper map (as much as we can tell)
             Object pagesObj = pageF.get(gigi);
+            if ( !(pagesObj instanceof Map)) {
+                throw new Error("Invalid state when initializing page structure");
+            }
+
             @SuppressWarnings("unchecked")
-            HashMap<String, Page> pages = pagesObj instanceof Map ? new HashMap<>((Map<String, Page>) pagesObj) : null;
+            HashMap<String, Page> pages = new HashMap<>((Map<String, Page>) pagesObj);
 
             pages.put("/manage", new Page("Page-manager") {
 
@@ -130,6 +135,7 @@ public class DevelLauncher {
                 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
                     ObjectCache.clearAllCaches();
                     RegisterPage.RATE_LIMIT.bypass();
+                    LoginPage.RATE_LIMIT.bypass();
                     CertificateRequest.RATE_LIMIT.bypass();
                     resp.getWriter().println("All caches cleared.");
                     System.out.println("Caches cleared.");
@@ -179,7 +185,7 @@ public class DevelLauncher {
     private static void addTicketPage(HashMap<String, Page> pages) {
         pages.put("/ticketWait", new Page("ticket") {
 
-            Template t = new Template(DevelLauncher.class.getResource("DevelTicketWait.templ"));
+            private final Template t = new Template(DevelLauncher.class.getResource("DevelTicketWait.templ"));
 
             @Override
             public boolean needsLogin() {