commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton (JIRA)" <>
Subject [jira] Updated: (BEANUTILS-91) [beanutils] PropertyUtils.copyProperties throws exceptions contrary to documentation
Date Mon, 06 Nov 2006 06:13:44 GMT
     [ ]

Niall Pemberton updated BEANUTILS-91:

    Bugzilla Id:   (was: 19781)
    Component/s: Bean / Property Utils

> [beanutils] PropertyUtils.copyProperties throws exceptions contrary to documentation
> ------------------------------------------------------------------------------------
>                 Key: BEANUTILS-91
>                 URL:
>             Project: Commons BeanUtils
>          Issue Type: Bug
>          Components: Bean / Property Utils
>    Affects Versions: 1.5
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Arun Mammen Thomas
>            Priority: Minor
>         Attachments:,
> 1) The copyProperties method is documented as throwing IllegalAccessException 
> when access to a particular method is not available.  In fact, because 
> internally the methods to be invoked are filtered for accessiblity 
> (MethodUtils.getAccessibleMethod) before invocation, the possible sources of 
> the IllegalAccessException will never actually throw an 
> IllegalAccessException.  
> Worse, however, is that the result of a failure to return an accessible method 
> is actually taken as occasion to throw a NoSuchMethodException instead.  
> 2) The copyProperties method is also documented as throwing 
> NoSuchMethodException when a method cannot be found.  I'm not sure if this is 
> an error or not, but a NoSuchMethodException is not thrown when a property of 
> the same name but a different type is found.  (This would, to my mind, be an 
> occasion of not finding an appropriate method for the setter to function 
> properly).  
> Unfortunately, again, there is something worse.  In this case, instead of 
> throwing NoSuchMethodException, an IllegalArgumentException is thrown.  
> IllegalArgumentException, as a runtime exception, might have been 
> appropriateexcept for the fact that it is explicitly documented as being 
> thrown when either the source or the destination arguments are null - no other 
> reasons for throwing this are detailed.  (Wouldn't NullPointerException be 
> more appropriate anyway? Curious about the decision to recast this to 
> IllegalArgumentException....)  While this is certainly allowed for 
> RuntimeExceptions, in this case, the documentation is quite misleading about 
> what is actually to be expected.  
> I'll attach a JUnitTestCase that captures both of these items.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message