Author: sergeyb
Date: Sat Apr  9 23:06:14 2011
New Revision: 1090703

URL: http://svn.apache.org/viewvc?rev=1090703&view=rev
Log:
Merged revisions 1090701 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1090701 | sergeyb | 2011-04-09 23:59:40 +0100 (Sat, 09 Apr 2011) | 1 line
  
  [CXF-3005] Adding simple JSONP interceptors, patch submitted by Josh Holtzman
........

Added:
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/
      - copied from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java
      - copied unchanged from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/AbstractJsonpOutInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java
      - copied unchanged from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpPostStreamInterceptor.java
      - copied unchanged from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpPostStreamInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpPreStreamInterceptor.java
      - copied unchanged from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpPreStreamInterceptor.java
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/
      - copied from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/
    
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java
      - copied unchanged from r1090701, 
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/jsonp/JsonpInterceptorTest.java
Modified:
    cxf/branches/2.3.x-fixes/   (props changed)
    
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
    
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml

Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:1090701

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

Modified: 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java?rev=1090703&r1=1090702&r2=1090703&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
 (original)
+++ 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerSpringBookTest.java
 Sat Apr  9 23:06:14 2011
@@ -30,6 +30,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.ws.rs.core.Response;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 
@@ -130,6 +131,32 @@ public class JAXRSClientServerSpringBook
                 "application/jettison");
     }
     
+    
+    @Test
+    public void testGetBookJsonp() throws Exception {
+        String url = "http://localhost:"; + PORT + "/the/jsonp/books/123";
+        WebClient client = WebClient.create(url);
+        client.accept("application/json, application/x-javascript");
+        client.query("_jsonp", "callback");
+        
WebClient.getConfig(client).getHttpConduit().getClient().setReceiveTimeout(1000000L);
+        Response r = client.get();
+        assertEquals("application/x+javascript", 
r.getMetadata().getFirst("Content-Type"));
+        assertEquals("callback({\"Book\":{\"id\":123,\"name\":\"CXF in 
Action\"}});",
+                     IOUtils.readStringFromStream((InputStream)r.getEntity()));
+    }
+    
+    @Test
+    public void testGetBookWithoutJsonpCallback() throws Exception {
+        String url = "http://localhost:"; + PORT + "/the/jsonp/books/123";
+        WebClient client = WebClient.create(url);
+        client.accept("application/json, application/x-javascript");
+        
WebClient.getConfig(client).getHttpConduit().getClient().setReceiveTimeout(1000000L);
+        Response r = client.get();
+        assertEquals("application/json", 
r.getMetadata().getFirst("Content-Type"));
+        assertEquals("{\"Book\":{\"id\":123,\"name\":\"CXF in Action\"}}",
+                     IOUtils.readStringFromStream((InputStream)r.getEntity()));
+    }
+    
     @Test
     public void testGetBookAsArray() throws Exception {
         URL url = new URL("http://localhost:"; + PORT + 
"/the/bookstore/books/list/123");

Modified: 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml?rev=1090703&r1=1090702&r2=1090703&view=diff
==============================================================================
--- 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml
 (original)
+++ 
cxf/branches/2.3.x-fixes/systests/jaxrs/src/test/resources/jaxrs/WEB-INF/beans.xml
 Sat Apr  9 23:06:14 2011
@@ -125,6 +125,20 @@ http://cxf.apache.org/schemas/core.xsd";>
        <bean 
class="org.apache.cxf.systest.jaxrs.XMLStreamWriterOutInterceptor"/>
     </jaxrs:outInterceptors>
     
+  </jaxrs:server>
+  
+  <jaxrs:server id="bookJsonp" address="/jsonp">
+    <jaxrs:serviceBeans>
+      <ref bean="serviceBean" />
+    </jaxrs:serviceBeans>                
+
+    <jaxrs:inInterceptors>
+       <bean class="org.apache.cxf.jaxrs.provider.jsonp.JsonpInInterceptor"/>
+    </jaxrs:inInterceptors>
+    <jaxrs:outInterceptors>
+       <bean 
class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPreStreamInterceptor"/>
+       <bean 
class="org.apache.cxf.jaxrs.provider.jsonp.JsonpPostStreamInterceptor"/>
+    </jaxrs:outInterceptors> 
   </jaxrs:server> 
   
   <util:map id="outTemplates">


Reply via email to