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