Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes 84b6266ae -> 048c17bab


Revert "[CXF-7309] Trying to prevent NPE when the providers are hot-redeployed, 
patch from Ezequiel Rosas Garcia applied"

This reverts commit 84b6266ae8bf57067040120fb0336e0480546ec7.


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/048c17ba
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/048c17ba
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/048c17ba

Branch: refs/heads/3.1.x-fixes
Commit: 048c17baba3ce991fb514ecf782a4299ab5f9747
Parents: 84b6266
Author: Sergey Beryozkin <sberyoz...@gmail.com>
Authored: Fri May 26 17:23:50 2017 +0100
Committer: Sergey Beryozkin <sberyoz...@gmail.com>
Committed: Fri May 26 17:23:50 2017 +0100

----------------------------------------------------------------------
 .../apache/cxf/jaxrs/utils/InjectionUtils.java  | 34 ++++++++------------
 .../java/org/apache/cxf/jaxrs/Customer.java     |  4 +--
 .../apache/cxf/jaxrs/utils/JAXRSUtilsTest.java  |  2 +-
 3 files changed, 16 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/048c17ba/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
index 9101949..73b3e56 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
@@ -1093,13 +1093,18 @@ public final class InjectionUtils {
         synchronized (instance) {        
             for (Map.Entry<Class<?>, Method> entry : 
cri.getContextMethods().entrySet()) {
                 Method method = entry.getValue();
-                final Object proxy = extractFromSetter(instance, method);
-                if (proxy instanceof ThreadLocalProxy) {
-                    continue;
-                }
                 Object value = method.getParameterTypes()[0] == 
Application.class 
-                        ? app : cri.getContextSetterProxy(method);
+                    ? app : cri.getContextSetterProxy(method);
+                try {
+                    if (value == InjectionUtils.extractFromMethod(instance, 
+                                                                  
getGetterFromSetter(method), 
+                                                                  false)) {
+                        continue;
+                    }
                     
+                } catch (Throwable t) {
+                    // continue
+                }
                 InjectionUtils.injectThroughMethod(instance, method, value);
             }
             
@@ -1162,12 +1167,10 @@ public final class InjectionUtils {
                 if (!cri.isSingleton()) {
                     InjectionUtils.injectThroughMethod(requestObject, method, 
o, message);
                 } else {
-                    Object proxy = extractFromSetter(requestObject, method);
-                    if (!(proxy instanceof ThreadLocalProxy)) {
-                        proxy = cri.getContextSetterProxy(method);
-                    }
+                    ThreadLocalProxy<Object> proxy 
+                        = 
(ThreadLocalProxy<Object>)cri.getContextSetterProxy(method);
                     if (proxy != null) {
-                        ((ThreadLocalProxy<Object>) proxy).set(o);
+                        proxy.set(o);
                     }
                 }
                 
@@ -1472,15 +1475,4 @@ public final class InjectionUtils {
     public static Object getEntity(Object o) {
         return o instanceof GenericEntity ? ((GenericEntity<?>)o).getEntity() 
: o;
     }
-    public static Object extractFromSetter(Object provider, Method m) {
-        if (provider == null) {
-            return null;
-        }
-        try {
-            final Method getter = getGetterFromSetter(m);
-            return extractFromMethod(provider, getter, false);
-        } catch (Throwable t) {
-            return null;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/048c17ba/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
index 53c7bab..f55fc1d 100644
--- a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
+++ b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/Customer.java
@@ -273,11 +273,11 @@ public class Customer extends AbstractCustomer implements 
CustomerInfo {
     }
     
     @Context
-    public void setServletContext3(ServletContext sc) {
+    public void setServletContext(ServletContext sc) {
         servletContext3 = sc;
     }
     
-    public ServletContext getServletContext3() {
+    public ServletContext getThreadLocalServletContext() {
         return servletContext3;
     }
     

http://git-wip-us.apache.org/repos/asf/cxf/blob/048c17ba/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
index a24fd64..04d5455 100644
--- 
a/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
+++ 
b/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/utils/JAXRSUtilsTest.java
@@ -1817,7 +1817,7 @@ public class JAXRSUtilsTest extends Assert {
                    
((ThreadLocalProxy<Providers>)c.getBodyWorkers()).get().getClass());
   
         assertSame(servletContextMock, 
-                   
((ThreadLocalProxy<ServletContext>)c.getServletContext3()).get());
+                   
((ThreadLocalProxy<ServletContext>)c.getThreadLocalServletContext()).get());
         assertSame(servletContextMock, 
                    
((ThreadLocalProxy<ServletContext>)c.getServletContext()).get());
         assertSame(servletContextMock, 

Reply via email to