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;
}