[jbossseam-issues] [JBoss JIRA] Resolved: (JBSEAM-2132) consult class attribute on component XML declaration with namespace

Norman Richards (JIRA) jira-events at lists.jboss.org
Wed Nov 28 17:20:46 EST 2007

     [ http://jira.jboss.com/jira/browse/JBSEAM-2132?page=all ]

Norman Richards resolved JBSEAM-2132.

    Resolution: Done

Yes, I think this seems reasonable.  Thanks.

> consult class attribute on component XML declaration with namespace
> -------------------------------------------------------------------
>                 Key: JBSEAM-2132
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2132
>             Project: JBoss Seam
>          Issue Type: Feature Request
>          Components: Core
>    Affects Versions: 2.0.0.CR2
>            Reporter: Dan Allen
>         Assigned To: Norman Richards
>            Priority: Minor
>             Fix For: 2.0.1.GA
>         Attachments: JBSEAM-2132-v1.txt
>   Original Estimate: 15 minutes
>  Remaining Estimate: 15 minutes
> When a component template class is being configured (such as EntityHome, EntityQuery, etc), the class attribute should be considered prior to deriving the class name from the namespace info + XML element name. By first consulting the class attribute, it can prevent the case where two components are being configured for the same name when the developer intends only to use the XML declaration for component configuration.
> Case in point:
> Let's say I create a class that extends EntityHome to provide some extra behavior.
> @Name("myEntityHome")
> public class MyEntityHome extends EntityHome {
> }
> Now I want to configure the properties of this class in components.xml
> <framework:entity-home name="myEntityHome" class="org.example.model.MyEntityHome">
>     <framework:created-message>You created it! Yeah!</framework:created-message>
>     <framework:updated-message>You updated it! Yeah!</framework:updated-message>
>     <framework:deleted-message>You deleted it! Yeah!</framework:deleted-message>
> </framework:entity-home>
> If the class attribute is not consulted, it will look for a @Name annotation on org.jboss.seam.framework.EntityHome rather than org.example.model.MyEntityHome. When it doesn't find one on the built-in class, it tries to create a new component definition.
> Why would I want to use XML namespace tags in this case? Simple. Tag completion and property recognition support.
> Note that this works if the class resolved from XML namespace + element name is the same as the component class. In the case when the component class extends the built-in class, you get this problem.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list