On 28/10/2014 21:27, Mark Thomas wrote:
> On 26/10/2014 22:40, Konstantin Kolinko wrote:
>> Hi!
>>
>> This is a comment on the following commits:
>>
>> URL: http://svn.apache.org/r1633806
>> Log:
>> When coercing an object to a given type, only attempt coercion to an
>> array if both the object type and the target type are an array type.
>>
>> URL: http://svn.apache.org/r1607906
>> Log:
>> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56652
>> Add support for method parameters that use arrays and varargs to
>> ELProcessor.defineFunction()
>>
>>
>> Issues:
>>
>> 1) General issue:
>> In r1607906 there was added a conversion support for arrays into
>> ELSupport.coerceToType() and r1633806 fixed a bug in it.
>>
>> My understanding is that the method ELSupport.coerceToType()
>> implements conversion rules from EL specification chapter "Type
>> Conversion" (ch.1.23 in EL 3.0).
>>
>> My concern is that EL specification does not specify such conversion
>> for array elements.
>>
>> As such, the varargs support fix needs a different implementation that
>> does not change the ELSupport.coerceToType() method.
> 
> It is a grey area. Those coercion rules get used in multiple places and
> some parts of the EL spec explicitly or implicitly require array support.
> 
> Unless we get a complaint that this feature actually breaks something
> (which I view as unlikely) I'm of the view we treat this as a Tomcat
> specific extension and leave it in. Meanwhile when the EL.next EG starts
> up, I'll raise the issue of array support for coercion.
> 
>> 2) Technical issue:
>> The ELSupport.coerceToArray() method does not support arrays of
>> primitives.  It class-casts its argument "(Object[]) obj",  but that
>> will fail for arrays of primitives.  The correct way is to use the
>> following method to access array elements:
>> java.lang.reflect.Array.get(Object, int): Object
> 
> Fair point. I'll take a look at a fix.

Fixed.

Thanks,

Mark


> 
> 
>> 3) Bikeshed:
>> Maybe mention BZ 56425#c6 in changelog for r1607906.
> 
> Feel free to paint that particular bikeshed if you wish.
> 
>> I noted another unrelated difference vs specification in
>> coerceToType() method - filed BZ 57148.
> 
> Thanks.
> 
> Mark
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to