Author: sergeyb
Date: Fri Dec 3 12:38:32 2010
New Revision: 1041790
URL: http://svn.apache.org/viewvc?rev=1041790&view=rev
Log:
Minor update to have no-annotation jax-rs servers return explicit collections
properly
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsImpl.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsInterface.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/resources2.xml
cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_non_spring/WEB-INF/resources2.xml
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/interceptor/JAXRSOutInterceptor.java
Fri Dec 3 12:38:32 2010
@@ -200,7 +200,7 @@ public class JAXRSOutInterceptor extends
}
Class<?> targetType = getRawResponseClass(responseObj);
Type genericType =
- getGenericResponseType(ori == null ? null :
ori.getAnnotatedMethod(), responseObj);
+ getGenericResponseType(ori == null ? null : invoked, responseObj);
if (genericType instanceof TypeVariable) {
genericType =
InjectionUtils.getSuperType(ori.getClassResourceInfo().getServiceClass(),
(TypeVariable)genericType);
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsImpl.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsImpl.java?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsImpl.java
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsImpl.java
Fri Dec 3 12:38:32 2010
@@ -20,6 +20,7 @@
package org.apache.cxf.systest.jaxrs;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.ws.rs.WebApplicationException;
@@ -68,5 +69,9 @@ public class BookStoreNoAnnotationsImpl
ch2.setTitle(ch.getTitle());
return ch2;
}
+
+ public List<Book> getBooks(List<Book> thebooks) {
+ return thebooks;
+ }
}
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsInterface.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsInterface.java?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsInterface.java
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStoreNoAnnotationsInterface.java
Fri Dec 3 12:38:32 2010
@@ -19,11 +19,15 @@
package org.apache.cxf.systest.jaxrs;
+import java.util.List;
+
public interface BookStoreNoAnnotationsInterface {
Book getBook(Long id) throws BookNotFoundFault;
+ List<Book> getBooks(List<Book> thebooks);
+
ChapterNoAnnotations getBookChapter(Long id) throws BookNotFoundFault;
}
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSClientServerNonSpringBookTest.java
Fri Dec 3 12:38:32 2010
@@ -20,12 +20,16 @@
package org.apache.cxf.systest.jaxrs;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.io.CachedOutputStream;
+import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
+import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
import org.junit.BeforeClass;
@@ -74,6 +78,23 @@ public class JAXRSClientServerNonSpringB
}
@Test
+ public void testGetBooksUserModelInterface() throws Exception {
+ BookStoreNoAnnotationsInterface proxy =
+ JAXRSClientFactory.createFromModel("http://localhost:" + PORT +
"/usermodel2",
+
BookStoreNoAnnotationsInterface.class,
+
"classpath:org/apache/cxf/systest/jaxrs/resources/resources2.xml", null);
+
WebClient.getConfig(proxy).getHttpConduit().getClient().setReceiveTimeout(10000000);
+ Book book = new Book("From Model", 1L);
+ List<Book> books = new ArrayList<Book>();
+ books.add(book);
+ books = proxy.getBooks(books);
+ assertEquals(1, books.size());
+ assertNotSame(book, books.get(0));
+ assertEquals("From Model", books.get(0).getName());
+
+ }
+
+ @Test
public void testGetBook123ApplicationSingleton() throws Exception {
getAndCompareAsStrings("http://localhost:" + PORT +
"/application/bookstore/books/123",
"resources/expected_get_book123.txt",
Modified:
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/resources2.xml
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/resources2.xml?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/resources2.xml
(original)
+++
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/resources2.xml
Fri Dec 3 12:38:32 2010
@@ -3,6 +3,9 @@
<operation name="getBook" verb="GET" path="/books/{id}">
<param name="id" type="PATH"/>
</operation>
+ <operation name="getBooks" verb="POST" path="/books">
+ <param name="thebooks" type="REQUEST_BODY"/>
+ </operation>
<operation name="getBookChapter" path="/books/{id}/chapter">
<param name="id" type="PATH"/>
</operation>
Modified:
cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_non_spring/WEB-INF/resources2.xml
URL:
http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_non_spring/WEB-INF/resources2.xml?rev=1041790&r1=1041789&r2=1041790&view=diff
==============================================================================
---
cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_non_spring/WEB-INF/resources2.xml
(original)
+++
cxf/trunk/systests/jaxrs/src/test/resources/jaxrs_non_spring/WEB-INF/resources2.xml
Fri Dec 3 12:38:32 2010
@@ -3,6 +3,9 @@
<operation name="getBook" verb="GET" path="/books/{id}">
<param name="id" type="PATH"/>
</operation>
+ <operation name="getBooks" verb="POST" path="/books">
+ <param name="thebooks" type="REQUEST_BODY"/>
+ </operation>
<operation name="getBookChapter" path="/books/{id}/chapter">
<param name="id" type="PATH"/>
</operation>