Reviewers: bobv, google-web-toolkit-contributors_googlegroups.com,
Description:
Adds a ThreadLocal<ServletContext> which will make it easier to
facilitate getting beans from Spring.
Please review this at http://gwt-code-reviews.appspot.com/1448804/
Affected files:
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
Index:
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
===================================================================
---
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
(revision 10204)
+++
user/src/com/google/web/bindery/requestfactory/server/RequestFactoryServlet.java
(working copy)
@@ -23,6 +23,7 @@
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
@@ -45,6 +46,7 @@
*/
private static final ThreadLocal<HttpServletRequest> perThreadRequest =
new ThreadLocal<HttpServletRequest>();
private static final ThreadLocal<HttpServletResponse> perThreadResponse
= new ThreadLocal<HttpServletResponse>();
+ private static final ThreadLocal<ServletContext> perThreadContext = new
ThreadLocal<ServletContext>();
/**
* Returns the thread-local {@link HttpServletRequest}.
@@ -64,6 +66,15 @@
return perThreadResponse.get();
}
+ /**
+ * Returns the thread-local {@link ServletContext}
+ *
+ * @return the {@link ServletContext} associated with this servlet
+ */
+ public static ServletContext getThreadLocalServletContext() {
+ return perThreadContext.get();
+ }
+
private final SimpleRequestProcessor processor;
/**
@@ -104,6 +115,7 @@
perThreadRequest.set(request);
perThreadResponse.set(response);
+ perThreadContext.set(getServletContext());
// No new code should be placed outside of this try block.
try {
@@ -132,6 +144,7 @@
} finally {
perThreadRequest.set(null);
perThreadResponse.set(null);
+ perThreadContext.set(null);
}
}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors