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

Reply via email to