Leszek Gawron pisze:
> Grzegorz Kossakowski wrote:
>> Leszek Gawron pisze:
>>
>> Because stack implementation used to maintain local scopes uses some
>> variation of ListArray class
>> that uses equals() when remove() method is called. Just for efficiency
>> I guess that real scope could
>> be implemented and need for proper equals() implementation would be
>> eliminated but I think it's
>> minor issue.
>>
>>
>> Most probably because you are having some NativeObjects produced by
>> flow put on OM. That's enough to
>> obtain such effect. Anyway, it is valid to call equals() with object
>> of different class passed as
>> parameter. In such case, equals() should return false before trying to
>> cast.
> 
> Yeah I know that but why isn't the NativeObject unwrapped for comparison?

Because comparison is made by low-level class like ArrayList that is unaware of 
wrapping objects.

Do you want to say that NativeObjects should be unwrapped always whenever they 
are used in Java code?

This can be done easily in o.a.c.components.flow.FlowHelper.setContextObject() 
but I must be sure
that this will not introduce another problems.

-- 
Grzegorz Kossakowski
Committer and PMC Member of Apache Cocoon
http://reflectingonthevicissitudes.wordpress.com/

Reply via email to