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]