Repository: cxf Updated Branches: refs/heads/master eab9907c7 -> f801fab2f
[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/f801fab2 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/f801fab2 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/f801fab2 Branch: refs/heads/master Commit: f801fab2f0dbfcff6333c2c71e38bc3bde78ef13 Parents: eab9907 Author: Sergey Beryozkin <[email protected]> Authored: Thu Jan 15 12:19:36 2015 +0000 Committer: Sergey Beryozkin <[email protected]> Committed: Thu Jan 15 12:19:36 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/f801fab2/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 8f7c017..91e2c96 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 SUPPORT_TYPE_AS_MULTIPART = "support.type.as.multipart"; + 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); private static final Set<Class<?>> WELL_KNOWN_MULTIPART_CLASSES; @@ -170,7 +171,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 {
