axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepal jayasinghe <>
Subject Re: Comments about the new UnknownContentBuilder (AXIS2-4153)
Date Thu, 18 Dec 2008 14:37:17 GMT
+1, I think that is where it belongs.

> Can we please move the BinaryBuilder to axis2 with the rest of the
> message builders?
> Sanjiva.
> Thilina Gunarathne 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  -

Thank you!

View raw message