[XDoclet-JIRA] Updated: (XDT-1675) please add support for @ejb.bean suppress-session-class attribute usable to selectively suppress session class generation

"Robert Varga (JIRA)" <[email protected]> Thu, 4 Jan 2007 10:18:07 -0600 (CST)
Newsgroups gmane.comp.java.xdoclet.devel
Message-ID <116006883.1167927487647.JavaMail.j2ee@atlassian01.managed.contegix.com>
     [ http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1675?page=all ]

Robert Varga updated XDT-1675:
------------------------------

    Attachment: notHavingClassTag.patch

This patch makes the following changes:

- refactors TemplateSubTask and XDocletTagSupport to have the havingClassTag functionality implemented in a single place

- adds notHavingClassTag functionality to TemplateSubTask

- adds method allowedByHavingOrNotHavingClassTag which delegates to hasHavingClassTag and hasNotHavingClassTag

- change EJB subtasks to call allowedByHavingOrNotHavingClassTag instead of hasHavingClassTag

- adds methods to XDocletTagSupport which are able to delegate to relevant methods of TemplateSubTask
  (havingClassTag, notHavingClassTag, allowedByHavingOrNotHavingClassTag )

- changed EJBTagsHandler.concreteFullClassName to also check allowedByHavingOrNotHavingClassTag so that if generation of the session class is prevented by a class tag, then it uses the specified implementation class parameter value

- gets rid of an unnecessary import

- corrects some documentation


It was tested and I found it working.

To solve the original problem with this patch you need to do the following two things:

1. Add notHavingClassTag="ejb.suppress-session-class" to the session subtask in the EJB component build.xml.
2. Add the class-level tag @ejb.suppress-session-class to your Spring-based EJB bean class.

Best regards,

Robert


> please add support for @ejb.bean suppress-session-class attribute usable to selectively suppress session class generation
> -------------------------------------------------------------------------------------------------------------------------
>
>          Key: XDT-1675
>          URL: http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1675
>      Project: XDoclet
>         Type: New Feature

>   Components: EJB Module
>     Versions: 1.3, 1.2.3
>     Reporter: Robert Varga
>     Assignee: xdoclet-devel (Use for new issues)
>  Attachments: notHavingClassTag.patch
>
> Original Estimate: 1 hour
>         Remaining: 1 hour
>
> When Spring EJB base classes are extended, you do not need to generate a session class as providing those methods is what the base classes are for.
> But not all EJB classes are implemented with Spring.
> However, currently it is almost impossible to mix the approaches of generating or not generating session classes for an session EJB class within the same xdoclet fileset. Only some awkward naming conventions can be used to achieve this.
> I suggest a new boolean attribute for the @ejb.bean tag, called suppress-session-class, which should govern file-by-file, whether a session class should or should not be generated for the bean class. At the true value, the session class should not be generated and the deployment descriptor bean class attribute should not be set to the calculated session class name.

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


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV