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 2013/08/29 11:58:58 UTC

svn commit: r1518561 - in /cxf/branches/2.7.x-fixes: ./ rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java

Author: sergeyb
Date: Thu Aug 29 09:58:57 2013
New Revision: 1518561

URL: http://svn.apache.org/r1518561
Log:
Merged revisions 1518556 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1518556 | sergeyb | 2013-08-29 10:56:15 +0100 (Thu, 29 Aug 2013) | 1 line
  
  [CXF-5240] Fixing JSONP out interceptor to check message OutputStream first, thanks to Vadim Beilin
........

Modified:
    cxf/branches/2.7.x-fixes/   (props changed)
    cxf/branches/2.7.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/trunk:r1518556

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

Modified: cxf/branches/2.7.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java?rev=1518561&r1=1518560&r2=1518561&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java (original)
+++ cxf/branches/2.7.x-fixes/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java Thu Aug 29 09:58:57 2013
@@ -20,6 +20,7 @@
 package org.apache.cxf.jaxrs.provider.jsonp;
 
 import java.io.IOException;
+import java.io.OutputStream;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -40,12 +41,20 @@ public abstract class AbstractJsonpOutIn
     }
     
     protected void writeValue(Message message, String value) throws Fault {
-        HttpServletResponse response = (HttpServletResponse) message.get("HTTP.RESPONSE");
         try {
-            response.getOutputStream().write(value.getBytes("UTF-8"));
+            getOutputStream(message).write(value.getBytes("UTF-8"));
         } catch (IOException e) {
             throw new Fault(e);
         }
     }
+    
+    private OutputStream getOutputStream(Message message) throws IOException {
+        OutputStream os = message.getContent(OutputStream.class);
+        if (os == null) {
+            HttpServletResponse response = (HttpServletResponse) message.get("HTTP.RESPONSE");
+            os = response.getOutputStream();
+        }
+        return os;
+    }
 
 }