You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2009/10/29 22:57:59 UTC

[jira] Reopened: (GERONIMO-4907) GBeanInstance to Ignore Missing Setters

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

David Jencks reopened GERONIMO-4907:
------------------------------------


David Blevins pointed out that we should first try to create the object, then get the set of unset properties, and if there are any, complain about all of them at once.

> GBeanInstance to Ignore Missing Setters
> ---------------------------------------
>
>                 Key: GERONIMO-4907
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4907
>             Project: Geronimo
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: kernel
>    Affects Versions: 2.1.4, 2.1.5, 2.2, 3.0
>            Reporter: Quintin Beukes
>            Assignee: David Jencks
>             Fix For: 2.2, 3.0
>
>         Attachments: ignore-missing-accessors.patch
>
>
> Related to GERONIMO-4903
> I submitted a patch which fixes the problem by removing the attributes which don't have setters. 
> After reading the OpenEJB source I noticed an XBean feature which would be a more correct fix for the problem.
> Instead of removing the attributes which won't have setters in the class being instantiated as a GBean, configure the ObjectRecipe to rather ignore those properties which don't have setters. This has 2 benefits
> 1) Those properties can still be included for "read" access
> 2) If such a property exists for any other GBean, or is added in the future, this will help that those don't possibly create fatal bugs - which the JettyConnector bug almost was (you couldn't edit a connector - ever).
> This is achieved by adding the following line after the ObjectRecipe was created:
> objectRecipe.allow(Option.IGNORE_MISSING_PROPERTIES);
> This permissions merely removes the property from the list of properties to "create the object with", if the accessor wasn't found. 
> Since those properties are still available, they can be accessed by the GBean API, and thus it doesn't become a requirement to have setter accessors for all persistent properties.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.