[ 
https://issues.apache.org/jira/browse/SANDBOX-397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simone Tripodi resolved SANDBOX-397.
------------------------------------

    Resolution: Fixed

The idea was generally *good* - the {{Properties}} class helped to maintain 
code simple and straightforward - what I did to improve the proposed patch:

 * fixed s/Descirptor/Descriptor typos ;)

 * s/Properties/DefaultBeanProperties

 * dropped useless {{else}} branches;

 * introduced a static method to check not null methods (DRY principle);

 * extracted an interface from {{DefaultBeanProperties}}, {{BeanProperties}};

 * moved the {{of(Class)}} method from {{Properties}} to {{ClassAccessor}}

 * moved {{is(Readable|Writable)}} from {{BeanAccessor}} to {{BeanProperties}} 
it is more canonical (and removed useless {{else}} branches here too)

 * adapted {{is(Readable|Writable)TestCase}} and {{VoidMethodsTestCase}}

please have a look at r1348122 to see how APIs look now.

I am not totally satisfied about methods such as 
{{get(Indexed)(Read|Write)PropertyDescriptor()}}, I think I'll replace them in 
order to return directly the Reader/Writer methods.

nice job, and thanks for contributing!
-Simo
                
> [BeanUtils2] Replace NullPointerExceptions been thrown in DefaultBeanAccessor 
> with NoSuchMethodEceptions
> --------------------------------------------------------------------------------------------------------
>
>                 Key: SANDBOX-397
>                 URL: https://issues.apache.org/jira/browse/SANDBOX-397
>             Project: Commons Sandbox
>          Issue Type: Task
>          Components: BeanUtils2
>    Affects Versions: Nightly Builds
>            Reporter: Benedikt Ritter
>            Assignee: Simone Tripodi
>         Attachments: SANDBOX-397.txt, SANDBOX-397_SRP.txt, 
> SANDBOX-397_SRPv2.txt
>
>
> At the moment, methods in {{DefaultBeanAccessor}} throw a 
> {{NullPointerException}}, if no {{PropertyDescriptor}} for a given property 
> name can be retrieved. As discussed on the ML (see 
> http://markmail.org/thread/zlehclmybp5xgn5n) this behavior should be changed 
> to throwing {{NoSuchMethodException}}.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to