Repository: cxf
Updated Branches:
  refs/heads/2.7.x-fixes d905b113b -> df1e1db78


[CXF-6194] Optional support for reading the content of the individual part into 
an explicit collection


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/df1e1db7
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/df1e1db7
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/df1e1db7

Branch: refs/heads/2.7.x-fixes
Commit: df1e1db78a3aaa3405a482b8b02a99696fcf4c4b
Parents: d905b11
Author: Sergey Beryozkin <sberyoz...@talend.com>
Authored: Thu Jan 15 12:19:36 2015 +0000
Committer: Sergey Beryozkin <sberyoz...@talend.com>
Committed: Thu Jan 15 12:41:40 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/cxf/jaxrs/provider/MultipartProvider.java   | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/df1e1db7/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
index d6779f6..b2dbd90 100644
--- 
a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
+++ 
b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/MultipartProvider.java
@@ -78,6 +78,7 @@ public class MultipartProvider extends 
AbstractConfigurableProvider
     implements MessageBodyReader<Object>, MessageBodyWriter<Object> {
     
     private static final String ACTIVE_JAXRS_PROVIDER_KEY = 
"active.jaxrs.provider";
+    private static final String SINGLE_PART_IS_COLLECTION = 
"single.multipart.is.collection";
     private static final Logger LOG = 
LogUtils.getL7dLogger(MultipartProvider.class);
     private static final ResourceBundle BUNDLE = 
BundleUtils.getBundle(MultipartProvider.class);
 
@@ -167,7 +168,9 @@ public class MultipartProvider extends 
AbstractConfigurableProvider
         Multipart id = AnnotationUtils.getAnnotation(anns, Multipart.class);
         Attachment multipart = AttachmentUtils.getMultipart(id, mt, infos);
         if (multipart != null) {
-            if (collectionExpected && 
!mediaTypeSupported(multipart.getContentType())) {
+            if (collectionExpected 
+                && !mediaTypeSupported(multipart.getContentType())
+                && 
!MessageUtils.isTrue(mc.getContextualProperty(SINGLE_PART_IS_COLLECTION))) {
                 List<Attachment> allMultiparts = 
AttachmentUtils.getMatchingAttachments(id, infos);
                 return getAttachmentCollection(t, allMultiparts, anns);
             } else {

Reply via email to