You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2010/11/11 20:42:36 UTC
svn commit: r1034077 - in /cxf/branches/2.2.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
Author: sergeyb
Date: Thu Nov 11 19:42:35 2010
New Revision: 1034077
URL: http://svn.apache.org/viewvc?rev=1034077&view=rev
Log:
Merged revisions 1034076 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.3.x-fixes
................
r1034076 | sergeyb | 2010-11-11 19:41:34 +0000 (Thu, 11 Nov 2010) | 9 lines
Merged revisions 1034071 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1034071 | sergeyb | 2010-11-11 19:39:19 +0000 (Thu, 11 Nov 2010) | 1 line
JAX-RS: another attempt on breaking the client dependency on the servlet api
........
................
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Nov 11 19:42:35 2010
@@ -1,2 +1,2 @@
-/cxf/branches/2.3.x-fixes:1027513,1027608,1030055,1030193,1034045,1034055
-/cxf/trunk:1027509,1027599,1030053,1030189,1034035,1034052
+/cxf/branches/2.3.x-fixes:1027513,1027608,1030055,1030193,1034045,1034055,1034076
+/cxf/trunk:1027509,1027599,1030053,1030189,1034035,1034052,1034071
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java?rev=1034077&r1=1034076&r2=1034077&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java Thu Nov 11 19:42:35 2010
@@ -708,6 +708,7 @@ public final class InjectionUtils {
return value;
}
+ // TODO : investigate the possibility of using generic proxies only
public static ThreadLocalProxy createThreadLocalProxy(Class<?> type) {
ThreadLocalProxy proxy = null;
if (UriInfo.class.isAssignableFrom(type)) {
@@ -724,14 +725,31 @@ public final class InjectionUtils {
proxy = new ThreadLocalRequest();
} else if (Providers.class.isAssignableFrom(type)) {
proxy = new ThreadLocalProviders();
- } else if (HttpServletRequest.class.isAssignableFrom(type)) {
+ } else if (SearchContext.class.isAssignableFrom(type)) {
+ proxy = new ThreadLocalSearchContext();
+ } else if (MessageContext.class.isAssignableFrom(type)) {
+ proxy = new ThreadLocalMessageContext();
+ }
+
+ if (proxy == null && isServletApiContext(type.getName())) {
+ proxy = createThreadLocalServletApiContext(type);
+ }
+
+ return proxy;
+ }
+
+ private static boolean isServletApiContext(String name) {
+ return name.startsWith("javax.servlet.");
+ }
+
+ private static ThreadLocalProxy createThreadLocalServletApiContext(Class<?> type) {
+ ThreadLocalProxy proxy = null;
+ if (HttpServletRequest.class.isAssignableFrom(type)) {
proxy = new ThreadLocalHttpServletRequest();
} else if (ServletContext.class.isAssignableFrom(type)) {
proxy = new ThreadLocalServletContext();
} else if (HttpServletResponse.class.isAssignableFrom(type)) {
proxy = new ThreadLocalHttpServletResponse();
- } else if (MessageContext.class.isAssignableFrom(type)) {
- proxy = new ThreadLocalMessageContext();
} else if (ServletConfig.class.isAssignableFrom(type)) {
proxy = new ThreadLocalServletConfig();
}