Filip Hanik - Dev Lists wrote:
> jean-frederic clere wrote:
>> Filip Hanik - Dev Lists wrote:
>>  
>>> to be clear, let me address your statements
>>>
>>> remm -1: removes support for the production APR connectors
>>> Absolutely not, doesn't change the way connectors are evaluated.
>>>
>>> remm -1: no real benefit of the patch
>>> The NIO connector attributes are now supported, the implementation is
>>> simpler and more flexible, and can be expanded to other components not
>>> supported today
>>>     
>>
>> I think I will -1:
>> There is the following in
>> java/org/apache/tomcat/util/IntrospectionUtils.java
>> +++
>>             if (setPropertyMethod != null) {
>>                 Object params[] = new Object[2];
>>                 params[0] = name;
>>                 params[1] = value;
>>                 setPropertyMethod.invoke(o, params);
>>                 return true;
>>             }
>> +++
>> Can't we try to check the Object returned by setPropertyMethod.invoke
>> and set the return code according to the value of the Object?
>>   
> actually, I want the boolean setProperty to have preferential treatment,
> ie, if it exists, then use it before the void.

Sure but what I am just telling is that we should try to return the
Boolean value in case a Boolean is returned.

> 
> so what I mean, if you have the following in an object,
> 
>    public void setProperty(String name, String value) {
>    public boolean setProperty(Object name, Object value) {
> 
> then the  method with a boolean return value should be called.

I don't think that we will ever have a code like the above and below
examples...

> 
> however, you do bring up one point, if we have the following scenario
> 
>    public void setProperty(String name, String value) {
>    public boolean setProperty(int name, int value) {
> 
> the void method should be called, I have modified the patch to catch the
> IllegalArgumentException and try the other method if existing.
> 
>> @@ -334,17 +335,37 @@
> 60c60,71
> < +                    return (Boolean) setPropertyMethodBool.invoke(o,
> params);
> ---
>> +                    try {
>> +                        return (Boolean)
> setPropertyMethodBool.invoke(o, params);
>> +                    }catch (IllegalArgumentException biae) {
>> +                        //the boolean method had the wrong
>> +                        //parameter types. lets try the other
>> +                        if (setPropertyMethodVoid!=null) {
>> +                            setPropertyMethodVoid.invoke(o, params);
>> +                            return true;
>> +                        }else {
>> +                            throw biae;
>> +                        }
>> +                    }
> 
> 
> your suggestion, would mean the method that actually gets called, would
> be at random, depending on what order the method array comes back in
> from the reflection API.
> 
> the intro spector can of course be even more enhanced to check for
> argument types, but that is outside the scope of this patch.

Yes we both agree we need a better patch here, no?

Cheers

Jean-Frederic

> 
> Filip
>> Cheers
>>
>> Jean-Frederic
>>
>>
>>  
>>> furthermore, there are no exception cases anymore, like the
>>> o.a.c.connector.Connector object, is treated same way as before
>>>
>>> Filip
>>>
>>> Filip Hanik - Dev Lists wrote:
>>>    
>>>> the patch doesn't change the behavior for the APR connector, can you
>>>> please explain what you mean?
>>>> apply the patch, try it out on your APR connector, and it should work
>>>> just like before
>>>> Filip
>>>>
>>>> [EMAIL PROTECTED] wrote:
>>>>      
>>>>> Author: remm
>>>>> Date: Thu Oct 11 08:44:34 2007
>>>>> New Revision: 583858
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=583858&view=rev
>>>>> Log:
>>>>> - Vote.
>>>>>
>>>>> Modified:
>>>>>     tomcat/tc6.0.x/trunk/STATUS
>>>>>
>>>>> Modified: tomcat/tc6.0.x/trunk/STATUS
>>>>> URL:
>>>>> http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS?rev=583858&r1=583857&r2=583858&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>>
>>>>>
>>>>> --- tomcat/tc6.0.x/trunk/STATUS (original)
>>>>> +++ tomcat/tc6.0.x/trunk/STATUS Thu Oct 11 08:44:34 2007
>>>>> @@ -50,4 +50,4 @@
>>>>>  * to accept or reject the property
>>>>>  
>>>>> http://people.apache.org/~fhanik/patches/digester-attribute-warnings.patch
>>>>>
>>>>>
>>>>>    +1: fhanik
>>>>> -  -1: +  -1: remm (removes support for the production APR
>>>>> connectors, no real benefit of the patch)
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>>           
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>>
>>>>       
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>     
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>>   
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to