You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2007/11/22 22:23:15 UTC

svn commit: r597497 - /incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java

Author: fmeschbe
Date: Thu Nov 22 13:23:14 2007
New Revision: 597497

URL: http://svn.apache.org/viewvc?rev=597497&view=rev
Log:
(1) Directly call the servlet if there are no resource level filters
(2) Need the SlingServletContext for setting up ErrorHandler and ServletResolver
    (but not assign to field yet; this is only done when handling delayed filters)

Modified:
    incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java

Modified: incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java?rev=597497&r1=597496&r2=597497&view=diff
==============================================================================
--- incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java (original)
+++ incubator/sling/trunk/sling/core/src/main/java/org/apache/sling/core/impl/SlingMainServlet.java Thu Nov 22 13:23:14 2007
@@ -33,6 +33,7 @@
 import javax.servlet.FilterConfig;
 import javax.servlet.GenericServlet;
 import javax.servlet.RequestDispatcher;
+import javax.servlet.Servlet;
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
@@ -268,9 +269,9 @@
 
             processor.doFilter(request, response);
         } else {
-            log.error("service: No Inner Request Handling filters, cannot process request");
-            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
-                "Cannot process Request");
+            log.debug("service: No Resource level filters, calling servlet");
+            Servlet servlet = RequestData.getRequestData(request).getContentData().getServlet();
+            servlet.service(request, response);
         }
     }
 
@@ -347,11 +348,12 @@
         }
 
         // setup servlet request processing helpers
-        this.slingServiceLocator = new ServiceLocatorImpl(bundleContext);
-        this.slingAuthenticator = new SlingAuthenticator(bundleContext);
-        this.servletResolver = new SlingServletResolver(bundleContext,
-            slingServletContext);
-        this.errorHandler = new ErrorHandler(bundleContext, slingServletContext);
+        SlingServletContext tmpServletContext = new SlingServletContext(this);
+        slingServiceLocator = new ServiceLocatorImpl(bundleContext);
+        slingAuthenticator = new SlingAuthenticator(bundleContext);
+        servletResolver = new SlingServletResolver(bundleContext,
+            tmpServletContext);
+        errorHandler = new ErrorHandler(bundleContext, tmpServletContext);
 
         // register the servlet and resources
         try {
@@ -390,7 +392,7 @@
             // handler setup but before initializing the filters.
             // After leaving this synched block, bindFilter will be "active" and
             // set the delayedComponentFilters field to null for GC
-            slingServletContext = new SlingServletContext(this);
+            slingServletContext = tmpServletContext;
             delayedComponentFilters = null;
         }