Bug : foreign keys corrected

Lionel Protin <[email protected]>
Newsgroups gmane.comp.java.ejb.middlegen.user
Message-ID <OFD29DD269.5FC17012-ONC1256EC1.0052C877-C1256EC1.00539F47@crpgl.lu>
Hello, 

I have the same problem described in the email below, but I get an error 
with xdoclet. The changes in the Xdoclet tags i file cmp-entity20.vm 
(middlegen-entitybean-plugin-2.0-vo.jar) are false. Could you please tell 
me why are these changes uncorrect : 

Before changes : 

 * @ejb.value-object
    * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
    *   aggregate-name="${target.baseClassName}"
    *   members="$target.localClassName"
    *   members-name="${target.baseClassName}"
    *   match="all"
    *   relation="external"
    *   type="java.util.Collection"
#else
    * @ejb.value-object
    * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
    *   aggregate-name="${target.baseClassName}"
    *   match="all"
    *   relation="external"


After changes: 

@ejb.value-object 
     * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue" 
     *   aggregate-name="${table.getVariableName(${relationshipRole})}"    
 
     *   members="$target.localClassName" 
     *   members-name="${table.getVariableName(${relationshipRole})}"     
     *   match="all" 
     *   relation="external" 
     *   type="java.util.Collection" 
 #else 
     * @ejb.value-object 
     * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue" 
     *   aggregate-name="${table.getVariableName(${relationshipRole})}"    
 
     *   match="all" 
     *   relation="external" 


Cordially, 


*************************************************************
Lionel Protin
Centre de Recherche Public-Gabriel Lippmann
CREDI
162a, avenue de la Faiencerie
L-1511 Luxembourg
Tel. (+352) 47 02 61 626
Fax  (+352) 47 02 64
************************************************************* 



Hello,

I am trying to use Middlegen with the following DB schema:


Table Persons       table Reservations
person_id   PK        reservations_id   PK
           person_id_fk      FK
                                                            person_id2_fk  
 FK


This kind of relationship generates an error when Xdoclet is trying to 
build the VO because
middlegen repeats the xdoclet tag
@ejb.value-object
    * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
    *   aggregate-name="${target.baseClassName}"       <----
    *   members="$target.localClassName"
    *   members-name="${target.baseClassName}"      <----
    *   match="all"
    *   relation="external"
    *   type="java.util.Collection"
#else
    * @ejb.value-object
    * 
aggregate="${plugin.interfacePackage}.${target.baseClassName}LightValue"
    *   aggregate-name="${target.baseClassName}"    <-----
    *   match="all"
    *   relation="external"


the tags marked with <---- will cause the Xdoclet to generate classes with 
repeated
variable and methods names

I changed the <---- to "$table.getVariableName($relationshipRole)", this 
solved the problem
but I didn"t like the outcome.

do you have a better solution?

P.S -> I don"t want to refactor the DB schema


Regards,
Nuno Duarte Santos
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.