Author: sergeyb
Date: Tue Jul 17 10:42:21 2012
New Revision: 1362439

URL: http://svn.apache.org/viewvc?rev=1362439&view=rev
Log:
Merged revisions 1362438 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes

................
  r1362438 | sergeyb | 2012-07-17 11:35:24 +0100 (Tue, 17 Jul 2012) | 9 lines
  
  Merged revisions 1362437 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1362437 | sergeyb | 2012-07-17 11:22:23 +0100 (Tue, 17 Jul 2012) | 1 line
    
    [CXF-4426] Fixing JSONProvider not to loose the actual class type after the 
adapter has been used for interfaces
  ........
................

Modified:
    cxf/branches/2.5.x-fixes/   (props changed)
    
cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/trunk:r1362437
  Merged /cxf/branches/2.6.x-fixes:r1362438

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java?rev=1362439&r1=1362438&r2=1362439&view=diff
==============================================================================
--- 
cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
 (original)
+++ 
cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
 Tue Jul 17 10:42:21 2012
@@ -347,7 +347,8 @@ public class JSONProvider extends Abstra
                 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