Author: sergeyb
Date: Tue Jul 17 10:22:23 2012
New Revision: 1362437

URL: http://svn.apache.org/viewvc?rev=1362437&view=rev
Log:
[CXF-4426] Fixing JSONProvider not to loose the actual class type after the 
adapter has been used for interfaces

Modified:
    
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java

Modified: 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java?rev=1362437&r1=1362436&r2=1362437&view=diff
==============================================================================
--- 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
 (original)
+++ 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
 Tue Jul 17 10:22:23 2012
@@ -349,7 +349,8 @@ public class JSONProvider<T> extends Abs
                 marshalCollection(cls, obj, genericType, enc, os, m, anns);
             } else {
                 Object actualObject = checkAdapter(obj, cls, anns, true);
-                Class<?> actualClass = obj != actualObject ? 
actualObject.getClass() : cls;
+                Class<?> actualClass = obj != actualObject || 
cls.isInterface() 
+                    ? actualObject.getClass() : cls;
                 if (cls == genericType) {
                     genericType = actualClass;
                 }


Reply via email to