Author: michiel
Date: 2010-02-17 15:01:01 +0100 (Wed, 17 Feb 2010)
New Revision: 41096

Modified:
   
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
Log:
sometimes it _is_ handy that jsps in /mmbase/ are filtered by the didactor file 
(e.g. s&r items)

Modified: 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
===================================================================
--- 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
 2010-02-17 12:31:13 UTC (rev 41095)
+++ 
didactor/trunk/components/core/src/main/java/nl/didactor/filter/ProviderFilter.java
 2010-02-17 14:01:01 UTC (rev 41096)
@@ -545,6 +545,14 @@
 
     }
 
+    // all kind of generic jsp's can be there. reuest parameters can be used 
for something  else.
+    private static final String[] IGNORE_DIRS = new String[] {
+        "/images/",
+        "/attachments",
+        "/mmbase/edit/",
+        "/mmbase/admin/"
+    };
+
     /**
      * Filters the request: tries to find a jumper and redirects to this url 
when found, otherwise the
      * request will be handled somewhere else in the filterchain.
@@ -575,28 +583,23 @@
             res.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, 
this.getClass().getName() + ". MMBase not yet sucessfully initialized (check 
mmbase log)");
             return;
         }
-        if (sp.startsWith("/images/") ||
-            sp.startsWith("/attachments/")) {
-            // no jsps here, these are blobs.
-            log.debug("No need to filter for " + sp);
-            filterChain.doFilter(request, response);
-            return;
+
+        for (String ignoreStart : IGNORE_DIRS) {
+            if (sp.startsWith(ignoreStart)) {
+                log.debug("No need to filter for " + sp + " (because of " + 
ignoreStart + ")");
+                filterChain.doFilter(request, response);
+                return;
+            }
         }
 
+        if (decorateRequest(req, res)) {
 
-        if(sp.startsWith("/mmbase/")) {
-            // all kind of generic jsp's can be there. reuest parameters can 
be used for something  else.
+            if (request.getAttribute("includePath") == null) {
+                res.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, 
"Didactor not yet initialized");
+                return;
+            }
+
             filterChain.doFilter(request, response);
-        } else {
-            if (decorateRequest(req, res)) {
-
-                if (request.getAttribute("includePath") == null) {
-                    res.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE, 
"Didactor not yet initialized");
-                    return;
-                }
-
-                filterChain.doFilter(request, response);
-            }
         }
 
     }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to