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/12/13 13:35:02 UTC
svn commit: r1421253 - in /cxf/branches/2.6.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/
systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/
systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/
Author: sergeyb
Date: Thu Dec 13 12:35:02 2012
New Revision: 1421253
URL: http://svn.apache.org/viewvc?rev=1421253&view=rev
Log:
Merged revisions 1421245,1421247 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1421245 | sergeyb | 2012-12-13 12:27:08 +0000 (Thu, 13 Dec 2012) | 1 line
[CXF-4697] Fixing MultipartProvider to correctly read Maps by applying a quality patch from William Tam
........
r1421247 | sergeyb | 2012-12-13 12:30:57 +0000 (Thu, 13 Dec 2012) | 1 line
[CXF-4697] Adding a test resource
........
Added:
cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/attachmentFormMixed
- copied unchanged from r1421247, cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/resources/attachmentFormMixed
Modified:
cxf/branches/2.6.x-fixes/ (props changed)
cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/trunk:r1421245-1421247
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java?rev=1421253&r1=1421252&r2=1421253&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java (original)
+++ cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java Thu Dec 13 12:35:02 2012
@@ -142,7 +142,7 @@ public class MultipartProvider extends A
&& AnnotationUtils.getAnnotation(anns, Multipart.class) == null) {
return getAttachmentCollection(t, infos, anns);
}
- if (Map.class.isAssignableFrom(c)) {
+ if (c.isAssignableFrom(Map.class)) {
Map<String, Object> map = new LinkedHashMap<String, Object>(infos.size());
Class<?> actual = getActualType(t, 1);
for (Attachment a : infos) {
Modified: cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java?rev=1421253&r1=1421252&r2=1421253&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java (original)
+++ cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java Thu Dec 13 12:35:02 2012
@@ -244,6 +244,12 @@ public class JAXRSMultipartTest extends
}
@Test
+ public void testAddBookMixedMultiValueMapParameter() throws Exception {
+ String address = "http://localhost:" + PORT + "/bookstore/books/mixedmultivaluedmap";
+ doAddBook("multipart/mixed", address, "attachmentFormMixed", 200);
+ }
+
+ @Test
public void testAddBookAsJAXBJSON() throws Exception {
String address = "http://localhost:" + PORT + "/bookstore/books/jaxbjson";
doAddBook(address, "attachmentData2", 200);
Modified: cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java?rev=1421253&r1=1421252&r2=1421253&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java (original)
+++ cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java Thu Dec 13 12:35:02 2012
@@ -652,6 +652,36 @@ public class MultipartStore {
throw new WebApplicationException();
}
+ @POST
+ @Path("/books/mixedmultivaluedmap")
+ @Consumes("multipart/mixed")
+ @Produces("text/xml")
+ public Response addBookFromFormConsumesMixed(
+ @Multipart(value = "mapdata", type = MediaType.APPLICATION_FORM_URLENCODED)
+ MultivaluedMap<String, String> data,
+ @Multipart(value = "test-cid", type = MediaType.APPLICATION_XML)
+ String testXml) throws Exception {
+ if (!"Dreams".equals(data.get("id-name").get(0))) {
+ throw new Exception("Map entry 0 does not match");
+ }
+ if (!"True".equals(data.get("entity-name").get(0))) {
+ throw new Exception("Map entry 1 does not match");
+ }
+ if (!"NAT5\n".equals(data.get("native-id").get(0))) {
+ throw new Exception("Map entry 2 does not match");
+ }
+ if (data.size() != 3) {
+ throw new Exception("Map size does not match");
+ }
+ if ("<hello>World2</hello>".equals(testXml)) {
+ throw new Exception("testXml does not match");
+ }
+
+ Book b = new Book();
+ b.setId(124);
+ b.setName("CXF in Action - 2");
+ return Response.ok(b).build();
+ }
private Response readBookFromInputStream(InputStream is) throws Exception {
JAXBContext c = JAXBContext.newInstance(new Class[]{Book.class});
Unmarshaller u = c.createUnmarshaller();