You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2012/07/17 12:35:25 UTC
svn commit: r1362438 - in /cxf/branches/2.6.x-fixes: ./
rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
Author: sergeyb
Date: Tue Jul 17 10:35:24 2012
New Revision: 1362438
URL: http://svn.apache.org/viewvc?rev=1362438&view=rev
Log:
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.6.x-fixes/ (props changed)
cxf/branches/2.6.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/trunk:r1362437
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.6.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java?rev=1362438&r1=1362437&r2=1362438&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java (original)
+++ cxf/branches/2.6.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/json/JSONProvider.java Tue Jul 17 10:35:24 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;
}