commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "xPosting 02" <postin...@mysign.ch>
Subject [Digester] problem calling methods with a primitive parameter but no xml attribute specified
Date Fri, 11 Apr 2003 09:24:38 GMT
hi,
I've got a problem as I wanted to update digester 1.3 to 1.4.1 in one of our
projects. 

I call a method with a primitive (boolean) parameter in a parse rule. if I
don't specify an attribute for this parameter in XML, digster 1.3 converted
the null value to false (boolean). digester 1.4.1 doesn't converts the null
value to false (boolean) but tries to call the method with the null value.
because the method expects a 
primitive boolean value java.lang.reflect.Method.invoke(Native Method) throws
a NullPointerException.

I think this different behavior between 1.3 and 1.4.1 is because of a
difference in CallMethodRule.end()


--- digester 1.4.1 ---
// Construct the parameter values array we will need
// We only do the conversion if the param value is a String and
// the specified paramType is not String. 
Object paramValues[] = new Object[paramTypes.length];
for (int i = 0; i < paramTypes.length; i++) {
    if(parameters[i] instanceof String && 
       !String.class.isAssignableFrom(paramTypes[i])) {
        
        paramValues[i] =
                ConvertUtils.convert((String) parameters[i], paramTypes[i]);
    } else {
        paramValues[i] = parameters[i];
    }
}
--- ---

--- digester 1.3 ---
// Construct the parameter values array we will need
Object paramValues[] = new Object[paramTypes.length];
for (int i = 0; i < paramTypes.length; i++) {
    paramValues[i] =
            ConvertUtils.convert(parameters[i], paramTypes[i]);
}
--- ---

is this behavior in 1.4.1 a bug or is it 'by design'.
if 'by design' is there another solution than writing a method which expects
a java.lang.Boolean parameter?

joel


--------------------------------------------
MySign AG, Switzerland
Web: http://www.mysign.ch
-------------------------------------------- 

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message