The following comment has been added to this issue:
Author: Matthias Bohlen
Created: Fri, 9 Jan 2004 3:55 AM
Body:
Sorry, I forgot to say that the impl class always extends the bean class
(PersonBeanImpl always extends PersonBean). That's why it is legal to put the impl
class name into the deployment descriptor.
-- Matthias
---------------------------------------------------------------------
View the issue:
http://opensource.atlassian.com/projects/xdoclet/secure/ViewIssue.jspa?key=XDT-763
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XDT-763
Summary: Allow for bean implementation class name to be different from bean class
name
Type: Improvement
Status: Open
Priority: Major
Original Estimate: Unknown
Time Spent: Unknown
Remaining: Unknown
Project: XDoclet
Components:
EJB Module
Versions:
1.2
Assignee: xdoclet-devel (Use for new issues)
Reporter: Matthias Bohlen
Created: Fri, 9 Jan 2004 3:54 AM
Updated: Fri, 9 Jan 2004 3:55 AM
Environment: AndroMDA, Windows, JDK 1.4.2
Description:
Hi XDoclet experz,
the AndroMDA code generator creates EJB classes with XDoclet tags (session beans as
well as entity beans) from UML models. To separate generated from hand-written code,
it always generates a bean class (e.g. PersonBean) and a frame for a so-called
"implementation class" (e.g. PersonBeanImpl). PersonBean contains all the XDoclet tags
necessary (@ejb.*), whereas PersonBeanImpl does not. The user hand-codes the business
methods in PersonBeanImpl. The generator overwrites 100% of PersonBean.java on the
next run but never touches PersonBeanImpl.java again so that the user can be sure that
hand-written code never gets overwritten.
Now, the implementation class name has to be written into the EJB deployment
descriptor. Since XDoclet does not know that an impl class exists, it writes the bean
class name (PersonBean) into the descriptor, instead.
ATM, we solve this with a hack: in the ant script, we add a <replace/> tag after
<ejbdoclet/> which replaces the name in the deployment descriptor which is very ugly
and causes confusion among our users.
We would like to solve this by telling the name of the implementation class to XDoclet
so that it can write the correct name into the deployment descriptor. For example:
@ejb.bean name="Person" impl-class-name="PersonBeanImpl" ...
Easy and straightforward. WOuld be nice if you could add this to the next release.
Thanks...
Matthias Bohlen
AndroMDA lead engineer
P.S.: We also tried to solve this using tag inheritance. All efforts failed
completely, and we did not get the name into the deployment descriptor.
---------------------------------------------------------------------
JIRA INFORMATION:
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
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel