You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2011/11/24 23:19:48 UTC
svn commit: r1205997 - in /cxf/trunk:
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/
systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/
Author: bimargulies
Date: Thu Nov 24 22:19:47 2011
New Revision: 1205997
URL: http://svn.apache.org/viewvc?rev=1205997&view=rev
Log:
Try to invent nullable multipart parameters. Test commented out because I can't figure it out.
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java?rev=1205997&r1=1205996&r2=1205997&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/multipart/AttachmentUtils.java Thu Nov 24 22:19:47 2011
@@ -108,6 +108,12 @@ public final class AttachmentUtils {
return a;
}
}
+ if (!id.errorIfMissing()) {
+ /*
+ * If user asked for a null, give them a null.
+ */
+ return null;
+ }
org.apache.cxf.common.i18n.Message errorMsg =
new org.apache.cxf.common.i18n.Message("MULTTIPART_ID_NOT_FOUND",
BUNDLE,
Modified: cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java?rev=1205997&r1=1205996&r2=1205997&view=diff
==============================================================================
--- cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java (original)
+++ cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookStore.java Thu Nov 24 22:19:47 2011
@@ -989,7 +989,7 @@ public class BookStore {
}
@XmlJavaTypeAdapter(BookInfoAdapter2.class)
- static interface BookInfoInterface {
+ interface BookInfoInterface {
String getName();
long getId();
Modified: cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java?rev=1205997&r1=1205996&r2=1205997&view=diff
==============================================================================
--- cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java (original)
+++ cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRSMultipartTest.java Thu Nov 24 22:19:47 2011
@@ -28,6 +28,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -36,6 +37,7 @@ import javax.imageio.ImageIO;
import javax.mail.util.ByteArrayDataSource;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
@@ -333,12 +335,25 @@ public class JAXRSMultipartTest extends
return ImageIO.read(getClass().getResource(name));
}
+ @org.junit.Ignore
+ @Test
+ public void testNullableParams() throws Exception {
+ String address = "http://localhost:" + PORT + "/books/testnullpart";
+ WebClient client = WebClient.create(address);
+ client.type("multipart/form-data").accept("text/plain");
+ List<Attachment> atts = new LinkedList<Attachment>();
+ atts.add(new Attachment("somepart", "text/plain", "hello there"));
+ Response r = client.postCollection(atts, Attachment.class);
+ assertEquals(Response.Status.OK.getStatusCode(), r.getStatus());
+ assertEquals("nobody home", r.getEntity());
+ }
+
@Test
public void testAddBookJaxbJsonImageWebClient() throws Exception {
String address = "http://localhost:" + PORT + "/bookstore/books/jaxbjsonimage";
WebClient client = WebClient.create(address);
client.type("multipart/mixed").accept("multipart/mixed");
-
+
Book jaxb = new Book("jaxb", 1L);
Book json = new Book("json", 2L);
InputStream is1 =
Modified: cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java?rev=1205997&r1=1205996&r2=1205997&view=diff
==============================================================================
--- cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java (original)
+++ cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/MultipartStore.java Thu Nov 24 22:19:47 2011
@@ -144,6 +144,18 @@ public class MultipartStore {
}
@POST
+ @Path("/books/testnullpart")
+ @Consumes("multipart/form-data")
+ @Produces("text/plain")
+ public String testNullPart(@Multipart(value = "someid", errorIfMissing = false) String value) {
+ if (value != null) {
+ return value;
+ } else {
+ return "nobody home";
+ }
+ }
+
+ @POST
@Path("/books/jaxbjsonimage")
@Consumes("multipart/mixed")
@Produces("multipart/mixed")