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

Dan Allen (JIRA) jira-events at lists.jboss.org
Sat Oct 20 20:55:03 EDT 2007


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

Dan Allen updated JBSEAM-2132:
------------------------------

    Attachment: JBSEAM-2132-v1.txt

> 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: Bug
>          Components: Core
>    Affects Versions: 2.0.0.CR2
>            Reporter: Dan Allen
>         Assigned To: Dan Allen
>            Priority: Critical
>             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. Doing so prevents the case where two components are being configured for the same name when the developer intends only to use it for 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