Author: sergeyb
Date: Wed Mar 14 14:32:37 2012
New Revision: 1300561

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

................
  r1300560 | sergeyb | 2012-03-14 14:27:34 +0000 (Wed, 14 Mar 2012) | 9 lines
  
  Merged revisions 1300555 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/trunk
  
  ........
    r1300555 | sergeyb | 2012-03-14 14:22:09 +0000 (Wed, 14 Mar 2012) | 1 line
    
    Adding a typed version of the method posting the object and getting the 
collection to WebClient
  ........
................

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/client/WebClient.java
    
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
    
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java

Propchange: cxf/branches/2.4.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Mar 14 14:32:37 2012
@@ -1,2 +1,2 @@
-/cxf/branches/2.5.x-fixes:1299092,1299637,1299725,1300270,1300343,1300407-1300533,1300536
-/cxf/trunk:1298470,1298830,1298832,1299086,1299635,1299682,1299747,1300342,1300518,1300530
+/cxf/branches/2.5.x-fixes:1299092,1299637,1299725,1300270,1300343,1300407-1300533,1300536,1300560
+/cxf/trunk:1298470,1298830,1298832,1299086,1299635,1299682,1299747,1300342,1300518,1300530,1300555

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/client/WebClient.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java?rev=1300561&r1=1300560&r2=1300561&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/WebClient.java
 Wed Mar 14 14:32:37 2012
@@ -389,6 +389,20 @@ public class WebClient extends AbstractC
                               Collection.class, new 
ParameterizedCollectionType<T2>(responseClass));
         return CastUtils.cast((Collection)r.getEntity(), responseClass);
     }
+    
+    /**
+     * Posts the object and returns a collection of typed objects
+     * @param body request body
+     * @param memberClass type of collection member class
+     * @param responseClass expected type of response object
+     * @return JAX-RS Response
+     */
+    public <T> Collection<? extends T> postObjectGetCollection(Object body, 
+                                                                  Class<T> 
responseClass) {
+        Response r = doInvoke("POST", body, null, Collection.class, 
+                              new 
ParameterizedCollectionType<T>(responseClass));
+        return CastUtils.cast((Collection<?>)r.getEntity(), responseClass);
+    }
         
     /**
      * Posts request body and returns a collection of typed objects 

Modified: 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java?rev=1300561&r1=1300560&r2=1300561&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
 Wed Mar 14 14:32:37 2012
@@ -314,6 +314,16 @@ public class BookStore {
     }
     
     @POST
+    @Path("/collectionBook")
+    @Produces({"application/xml", "application/json" })
+    @Consumes({"application/xml", "application/json" })
+    public List<Book> postBookGetCollection(Book book) throws Exception {
+        List<Book> list = new ArrayList<Book>();
+        list.add(book);
+        return list;
+    }
+    
+    @POST
     @Path("/collections3")
     @Produces({"application/xml", "application/json" })
     @Consumes({"application/xml", "application/json" })

Modified: 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java?rev=1300561&r1=1300560&r2=1300561&view=diff
==============================================================================
--- 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
 (original)
+++ 
cxf/branches/2.4.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerBookTest.java
 Wed Mar 14 14:32:37 2012
@@ -249,6 +249,22 @@ public class JAXRSClientServerBookTest e
     }
     
     @Test
+    public void testPostObjectGetCollection() throws Exception {
+        
+        String endpointAddress =
+            "http://localhost:"; + PORT + "/bookstore/collectionBook"; 
+        WebClient wc = WebClient.create(endpointAddress);
+        wc.accept("application/xml").type("application/xml");
+        Book b1 = new Book("Book", 666L);
+        List<Book> books = new ArrayList<Book>(wc.postObjectGetCollection(b1, 
Book.class));
+        assertNotNull(books);
+        assertEquals(1, books.size());
+        Book b = books.get(0);
+        assertEquals(666L, b.getId());
+        assertEquals("Book", b.getName());
+    }
+    
+    @Test
     public void testGetBookResponseAndETag() throws Exception {
         
         String endpointAddress =


Reply via email to