Author: sergeyb Date: Tue Jul 17 10:48:40 2012 New Revision: 1362441 URL: http://svn.apache.org/viewvc?rev=1362441&view=rev Log: Merged revisions 1362439 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
................ r1362439 | sergeyb | 2012-07-17 11:42:21 +0100 (Tue, 17 Jul 2012) | 16 lines 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.4.x-fixes/ (props changed) cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Merged /cxf/branches/2.5.x-fixes:r1362439 Merged /cxf/trunk:r1362437 Merged /cxf/branches/2.6.x-fixes:r1362438 Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java?rev=1362441&r1=1362440&r2=1362441&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java Tue Jul 17 10:48:40 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; }
