axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thilina Gunarathne" <cset...@gmail.com>
Subject Re: Comments about the new UnknownContentBuilder (AXIS2-4153)
Date Thu, 18 Dec 2008 04:01:29 GMT
oh...BTW in middle of all this I forgot to thank you for reviewing the
commit and catching the issues...:)

On Wed, Dec 17, 2008 at 10:55 PM, Thilina Gunarathne <csethil@gmail.com>wrote:

> Hi Andreas,
> I'm sorry, I missed this mail.. Saw it only now...
>
> I agree with you regarding the 1. But I guess the solution will need to
> address deferred building, which will make it bit complex... Something like
> implementing a pushbackInputStream which will directly give the bytes from
> the transport inputstream while buffering it to give it the next time...
>
> Regarding 2, I don't think we can call anything "the" right solution for
> this. Normally Axis2 uses OMDataSources to carry native data as long as it
> can, so that if an entity which knows how to process the native data can
> take advantage of it.. Also using the OMSourcedElement, clearly distinguish
> the usage of unknown content from other messages...
>
> Regarding the 3, my apologies once again... I was not aware of such a thing
> when I wrote the above. IMHO builder should live inside Axis2.. I did this
> (and the mime support) as a solution to the issue raised in Synapse. Wonder
> why they did not simply use the impl you mentioned.... May be I'm missing
> something.. Let's see how we can combine these efforts...
>
> thanks,
> Thilina.
>
>
> 1. The class InputStreamDataSource (the one in
>> org.apache.axis2.builder.unknowncontent) violates the
>> javax.activation.DataSource contract which says for the getInputStream
>> method that "a new InputStream object must be returned each time this
>> method is called, and [that] the stream must be positioned at the
>> beginning of the data." The consequence will be that the message
>> produced by UnknownContentBuilder can only be read once. This is a
>> serious flaw.
>>
>> 2. The AXIOM tree produced by UnknownContentBuilder has only two
>> nodes: an OMElement and an OMText (with a DataHandler). Using an
>> OMSourcedElement/OMDataSource is not justified for this and would
>> introduce unnecessary complexity and overhead.
>
>
>>
>> 3. The code in UnknownContentBuilder to a large extend duplicates the
>> code in org.apache.axis2.format.BinaryBuilder (in
>> axis2-transport-base), which doesn't have problems 1 and 2.
>>
>> Could you please make a proposal how to improve this?
>>
>> Regards,
>>
>> Andreas
>>
>
>
>
> --
> Thilina Gunarathne  - http://thilinag.blogspot.com
>



-- 
Thilina Gunarathne  - http://thilinag.blogspot.com

Mime
View raw message