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 2013/05/20 22:22:57 UTC
svn commit: r1484582 - 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/
Author: sergeyb
Date: Mon May 20 20:22:57 2013
New Revision: 1484582
URL: http://svn.apache.org/r1484582
Log:
Merged revisions 1484517 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
................
r1484517 | sergeyb | 2013-05-20 17:32:42 +0100 (Mon, 20 May 2013) | 9 lines
Merged revisions 1484513 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1484513 | sergeyb | 2013-05-20 17:21:39 +0100 (Mon, 20 May 2013) | 1 line
[CXF-5027] Support for XmlAttachmentRef in the JAX-RS XOP marshaller
........
................
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/JAXBAttachmentMarshaller.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
cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XopType.java
Propchange: cxf/branches/2.6.x-fixes/
------------------------------------------------------------------------------
Merged /cxf/branches/2.7.x-fixes:r1484517
Merged /cxf/trunk:r1484513
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/JAXBAttachmentMarshaller.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBAttachmentMarshaller.java?rev=1484582&r1=1484581&r2=1484582&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBAttachmentMarshaller.java (original)
+++ cxf/branches/2.6.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBAttachmentMarshaller.java Mon May 20 20:22:57 2013
@@ -20,10 +20,12 @@
package org.apache.cxf.jaxrs.provider;
import java.util.Collection;
+import java.util.UUID;
import javax.activation.DataHandler;
import javax.xml.bind.attachment.AttachmentMarshaller;
+import org.apache.cxf.attachment.AttachmentImpl;
import org.apache.cxf.attachment.AttachmentUtil;
import org.apache.cxf.message.Attachment;
@@ -70,7 +72,11 @@ public class JAXBAttachmentMarshaller ex
@Override
public String addSwaRefAttachment(DataHandler handler) {
- throw new UnsupportedOperationException();
+ String id = UUID.randomUUID() + "@apache.org";
+ AttachmentImpl att = new AttachmentImpl(id, handler);
+ att.setXOP(false);
+ atts.add(att);
+ return id;
}
@Override
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=1484582&r1=1484581&r2=1484582&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 Mon May 20 20:22:57 2013
@@ -51,6 +51,7 @@ import org.apache.commons.httpclient.met
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.LoggingInInterceptor;
+import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.io.CachedOutputStream;
import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
@@ -369,7 +370,8 @@ public class JAXRSMultipartTest extends
HTTPConduit conduit = WebClient.getConfig(client).getHttpConduit();
conduit.getClient().setReceiveTimeout(1000000);
conduit.getClient().setConnectionTimeout(1000000);
-
+ WebClient.getConfig(client).getInInterceptors().add(new LoggingInInterceptor());
+ WebClient.getConfig(client).getOutInterceptors().add(new LoggingOutInterceptor());
client.type("multipart/related").accept("multipart/related");
XopType xop = new XopType();
@@ -378,6 +380,7 @@ public class JAXRSMultipartTest extends
getClass().getResourceAsStream("/org/apache/cxf/systest/jaxrs/resources/book.xsd");
byte[] data = IOUtils.readBytesFromStream(is);
xop.setAttachinfo(new DataHandler(new ByteArrayDataSource(data, "application/octet-stream")));
+ xop.setAttachInfoRef(new DataHandler(new ByteArrayDataSource(data, "application/octet-stream")));
String bookXsd = IOUtils.readStringFromStream(getClass().getResourceAsStream(
"/org/apache/cxf/systest/jaxrs/resources/book.xsd"));
@@ -395,6 +398,8 @@ public class JAXRSMultipartTest extends
"/org/apache/cxf/systest/jaxrs/resources/book.xsd"));
String bookXsd2 = IOUtils.readStringFromStream(xop2.getAttachinfo().getInputStream());
assertEquals(bookXsdOriginal, bookXsd2);
+ String bookXsdRef = IOUtils.readStringFromStream(xop2.getAttachInfoRef().getInputStream());
+ assertEquals(bookXsdOriginal, bookXsdRef);
String ctString =
client.getResponse().getMetadata().getFirst("Content-Type").toString();
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=1484582&r1=1484581&r2=1484582&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 Mon May 20 20:22:57 2013
@@ -85,6 +85,10 @@ public class MultipartStore {
if (!bookXsd.equals(bookXsd2)) {
throw new RuntimeException("Wrong attachinfo property");
}
+ String bookXsdRef = IOUtils.readStringFromStream(type.getAttachInfoRef().getInputStream());
+ if (!bookXsdRef.equals(bookXsd2)) {
+ throw new RuntimeException("Wrong attachinforef property");
+ }
if (!Boolean.getBoolean("java.awt.headless") && type.getImage() == null) {
throw new RuntimeException("Wrong image property");
}
@@ -97,7 +101,7 @@ public class MultipartStore {
getClass().getResourceAsStream("/org/apache/cxf/systest/jaxrs/resources/book.xsd");
byte[] data = IOUtils.readBytesFromStream(is);
xop.setAttachinfo(new DataHandler(new ByteArrayDataSource(data, "application/octet-stream")));
-
+ xop.setAttachInfoRef(new DataHandler(new ByteArrayDataSource(data, "application/octet-stream")));
xop.setAttachinfo2(bookXsd.getBytes());
if (Boolean.getBoolean("java.awt.headless")) {
Modified: cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XopType.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XopType.java?rev=1484582&r1=1484581&r2=1484582&view=diff
==============================================================================
--- cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XopType.java (original)
+++ cxf/branches/2.6.x-fixes/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/XopType.java Mon May 20 20:22:57 2013
@@ -22,6 +22,7 @@ package org.apache.cxf.systest.jaxrs;
import java.awt.Image;
import javax.activation.DataHandler;
+import javax.xml.bind.annotation.XmlAttachmentRef;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlMimeType;
import javax.xml.bind.annotation.XmlRootElement;
@@ -32,11 +33,13 @@ import javax.xml.bind.annotation.XmlType
"name",
"attachinfo",
"attachinfo2",
+ "attachInfoRef",
"image" })
public class XopType {
private String name;
private DataHandler attachinfo;
+ private DataHandler attachInfoRef;
private byte[] attachinfo2;
private Image image;
@@ -81,4 +84,15 @@ public class XopType {
return image;
}
+ @XmlAttachmentRef
+ @XmlElement(required = true)
+ @XmlMimeType("application/octet-stream")
+ public DataHandler getAttachInfoRef() {
+ return attachInfoRef;
+ }
+
+ public void setAttachInfoRef(DataHandler attachInfoRef) {
+ this.attachInfoRef = attachInfoRef;
+ }
+
}