I had some issues with a setter and a getter having different types in an
action chain. This blew up hard in my face and BeanUtils didn't give me any
hint as to what was wrong. I have attached a diff with a suggested "fix" for
this. (The diff includes my last change too, sorry about that)
// Anders Hovm�ller
Index: BeanUtil.java
===================================================================
RCS file: /cvsroot/opensymphony/webwork/src/main/webwork/util/BeanUtil.java,v
retrieving revision 1.29
diff -r1.29 BeanUtil.java
113c113,124
< pdTo.getWriteMethod().invoke(to, writeParameters);
---
> {
>
> try
>
> {
> pdTo.getWriteMethod().invoke(to, writeParameters);
>
> }
>
> catch (IllegalArgumentException e)
>
> {
>
> System.err.println("IllegalArgumentException:
>"+from.getClass().getName()+"."+readMethod.getName()+"("+writeParameters[0].getClass().getName()+")
> ->
>"+to.getClass().getName()+"."+writeMethod.getName()+"("+writeMethod.getParameterTypes()[0].getName()+")");
>
>
> throw e;
>
> }
> }
121,122c132,134
< log.warn("Bean copy failed:+e", e);
< throw new IllegalArgumentException("Bean copy failed:" + e);
---
> log.warn("Bean copy failed:"+e, e);
> e.printStackTrace();
> throw new IllegalArgumentException("Bean copy failed (from type
>'"+from.getClass().getName()+"' to type '"+from.getClass().getName()+"'):" + e);