Return-Path: X-Original-To: apmail-cxf-commits-archive@www.apache.org Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C138BD62B for ; Mon, 10 Sep 2012 11:37:12 +0000 (UTC) Received: (qmail 36015 invoked by uid 500); 10 Sep 2012 11:37:12 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 35878 invoked by uid 500); 10 Sep 2012 11:37:10 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 35859 invoked by uid 99); 10 Sep 2012 11:37:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Sep 2012 11:37:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Sep 2012 11:37:08 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 09B5D2388900; Mon, 10 Sep 2012 11:36:26 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1382763 - in /cxf/trunk/rt/frontend/jaxrs/src: main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java Date: Mon, 10 Sep 2012 11:36:25 -0000 To: commits@cxf.apache.org From: sergeyb@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120910113626.09B5D2388900@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sergeyb Date: Mon Sep 10 11:36:25 2012 New Revision: 1382763 URL: http://svn.apache.org/viewvc?rev=1382763&view=rev Log: Updating DataSourceProvider to ignore DataSource content type property by default Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java?rev=1382763&r1=1382762&r2=1382763&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java (original) +++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/DataSourceProvider.java Mon Sep 10 11:36:25 2012 @@ -40,6 +40,8 @@ import org.apache.cxf.jaxrs.ext.multipar @Provider public class DataSourceProvider implements MessageBodyReader, MessageBodyWriter { + private boolean useDataSourceContentType; + public boolean isReadable(Class type, Type genericType, Annotation[] annotations, MediaType mt) { return isSupported(type, mt); } @@ -71,7 +73,9 @@ public class DataSourceProvider imple throws IOException { DataSource ds = DataSource.class.isAssignableFrom(cls) ? (DataSource)src : ((DataHandler)src).getDataSource(); - setContentTypeIfNeeded(type, headers, ds.getContentType()); + if (useDataSourceContentType) { + setContentTypeIfNeeded(type, headers, ds.getContentType()); + } IOUtils.copy(ds.getInputStream(), os); } @@ -82,6 +86,10 @@ public class DataSourceProvider imple headers.putSingle("Content-Type", ct); } } + + public void setUseDataSourceContentType(boolean useDataSourceContentType) { + this.useDataSourceContentType = useDataSourceContentType; + } } Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java?rev=1382763&r1=1382762&r2=1382763&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java (original) +++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/DataSourceProviderTest.java Mon Sep 10 11:36:25 2012 @@ -88,12 +88,13 @@ public class DataSourceProviderTest exte @Test public void testWriteDataSourceWithDiffCT() throws Exception { DataSourceProvider p = new DataSourceProvider(); + p.setUseDataSourceContentType(true); DataSource ds = new InputStreamDataSource(new ByteArrayInputStream("image".getBytes()), "image/png"); ByteArrayOutputStream os = new ByteArrayOutputStream(); MultivaluedMap outHeaders = new MetadataMap(); p.writeTo(ds, DataSource.class, DataSource.class, new Annotation[]{}, - MediaType.valueOf("image/bar"), outHeaders, os); + MediaType.valueOf("image/jpeg"), outHeaders, os); assertEquals("image", os.toString()); assertEquals("image/png", outHeaders.getFirst("Content-Type")); }