I’m not sure the first one is something I’d consider bug either.   Per spec, we 
need to just support “DataSource” as a parameter type.  Not any of the 
subclasses or concrete implementations.   

Wink actually has a test that asserts that using:
public DataSource postDataSource(FileDataSource ds)

would result in a HTTP failure.   That said, a classCastException is probably 
not the BEST error here, but it’s certainly not wrong.  

Anyway, not a critical bug.  Potentially a feature request.   Likely something 
you could implement your own provider for if you really need it.

Dan



On Jun 30, 2014, at 9:38 PM, Daniel Kulp <[email protected]> wrote:

> 
> On Jun 30, 2014, at 9:07 PM, iris ding <[email protected]> wrote:
> 
>> Hi Guys,
>> 
>> I think There are two issues in
>> org.apache.cxf.jaxrs.provider.DataSourceProvider:
>> Issue 1: ClassCastException if you post a FileDataSource in your resource
>> class: 
>> Issue 2: Return the original InputStream directly in
>> InputStreamDataSource.getInputStream().
>> 
>> 
>> I have created a JIRA in 
>> https://issues.apache.org/jira/browse/CXF-5835 and put more details there.
>> 
>> Would you take a look at the problem and see whether we can make any
>> modification for it?
>> 
> 
> The second one is NOT a bug and should not be fixed.   That’s a bug in your 
> code.  The javadoc for “available()”  specifically says:
> 
> "Note that while some implementations of InputStream will return the total 
> number of bytes in the stream, many will not. It is never correct to use the 
> return value of this method to allocate a buffer intended to hold all data in 
> this stream."
> 
> CXF tries hard to stream everything (including attachments).  Thus, the 
> “available()” method likely will only return the number of bytes that have 
> been received so far by the server which could be MUCH less than the full 
> length of the attachment.
> 
> -- 
> Daniel Kulp
> [email protected] - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to