Author: bayard Date: Mon Nov 6 21:32:04 2006 New Revision: 471990 URL: http://svn.apache.org/viewvc?view=rev&rev=471990 Log: Applying the improved Exception message from BEANUTILS-224. Thanks to Ralf Hauser
Modified: jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java Modified: jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java?view=diff&rev=471990&r1=471989&r2=471990 ============================================================================== --- jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java (original) +++ jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/PropertyUtilsBean.java Mon Nov 6 21:32:04 2006 @@ -1993,11 +1993,34 @@ return method.invoke(bean, values); } catch (IllegalArgumentException e) { - - log.error("Method invocation failed.", e); + String valueString = ""; + if (values != null) { + for (int i = 0; i < values.length; i++) { + if (i>0) { + valueString += ", " ; + } + valueString += (values[i]).getClass().getName(); + } + } + String expectedString = ""; + Class[] parTypes = method.getParameterTypes(); + if (parTypes != null) { + for (int i = 0; i < parTypes.length; i++) { + if (i > 0) { + expectedString += ", "; + } + expectedString += parTypes[i].getName(); + } + } + log.error("Method invocation failed", e); throw new IllegalArgumentException( "Cannot invoke " + method.getDeclaringClass().getName() + "." - + method.getName() + " - " + e.getMessage()); + + method.getName() + " - " + e.getMessage() + // as per https://issues.apache.org/jira/browse/BEANUTILS-224 + + " - had objects of type \"" + valueString + + "\" but expected signature \"" + + expectedString + "\"" + ); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]