Changeset 2599


Ignore:
Timestamp:
01/27/10 22:34:17 (2 years ago)
Author:
mswertz
Message:

bugfix molgenis:#63

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molgenis/3.3/src/org/molgenis/generators/db/MapperMrefs.java.ftl

    r2584 r2599  
    2121                                //retrieve currently known mrefs 
    2222                                QueryRule rule = new QueryRule( "${name(mref_local_field)}", QueryRule.Operator.EQUALS, entity.get${JavaName(pkey(entity))}() ); 
    23                                 List<${mref_entity}> existing_mrefs = getDatabase().find( ${mref_entity}.class, rule );          
     23                                List<${JavaName(mref_entity)}> existing_mrefs = getDatabase().find( ${JavaName(mref_entity)}.class, rule );              
    2424                                //assign ids 
    2525                                List<Integer> ids = new ArrayList<Integer>(); 
    2626                                List<String> labels = new ArrayList<String>(); 
    27                                 for(${mref_entity} ref: existing_mrefs) 
     27                                for(${JavaName(mref_entity)} ref: existing_mrefs) 
    2828                                { 
    2929                                        ids.add(ref.get${JavaName(mref_remote_field)}()); 
     
    4848                { 
    4949                        // what mrefs to add/delete 
    50                         List<${mref_entity}> toDelete = new ArrayList<${mref_entity}>(); 
    51                         List<${mref_entity}> toAdd = new ArrayList<${mref_entity}>(); 
     50                        List<${JavaName(mref_entity)}> toDelete = new ArrayList<${JavaName(mref_entity)}>(); 
     51                        List<${JavaName(mref_entity)}> toAdd = new ArrayList<${JavaName(mref_entity)}>(); 
    5252 
    5353                        for (${JavaName(entity)} entity : entities) 
    5454                        { 
    5555                                //retrieve currently known mrefs 
    56                                 QueryRule rule = new QueryRule( "${name(mref_local_field)}", QueryRule.Operator.EQUALS, entity.get${JavaName(pkey(entity))}() ); 
    57                                 List<${mref_entity}> existing_mrefs = getDatabase().find( ${mref_entity}.class, rule ); 
     56                                QueryRule rule = new QueryRule( "${mref_local_field}", QueryRule.Operator.EQUALS, entity.get${JavaName(pkey(entity))}() ); 
     57                                List<${JavaName(mref_entity)}> existing_mrefs = getDatabase().find( ${JavaName(mref_entity)}.class, rule ); 
    5858 
    5959                                // check for removals 
    60                                 for (${mref_entity} ref : existing_mrefs) 
     60                                List existing_ids = new ArrayList(); 
     61                                for (${JavaName(mref_entity)} ref : existing_mrefs) 
    6162                                { 
     63                                        existing_ids.add(ref.get${JavaName(mref_remote_field)}()); 
    6264                                        if (!entity.get${JavaName(f)}().contains( ref.get${JavaName(mref_remote_field)}() )) 
    6365                                        { 
     
    6971                                for (Integer ref : entity.get${JavaName(f)}()) 
    7072                                { 
    71                                         ${mref_entity} new_mref = new ${mref_entity}(); 
    72                                         new_mref.set${JavaName(mref_local_field)}( entity.get${JavaName(pkey(entity))}() ); 
    73                                         new_mref.set${JavaName(mref_remote_field)}( ref ); 
    74                                         if (!existing_mrefs.contains( new_mref )) 
     73                                        if(!existing_ids.contains(ref)) 
    7574                                        { 
     75                                                ${JavaName(mref_entity)} new_mref = new ${JavaName(mref_entity)}(); 
     76                                                new_mref.set${JavaName(mref_local_field)}( entity.get${JavaName(pkey(entity))}() ); 
     77                                                new_mref.set${JavaName(mref_remote_field)}( ref ); 
    7678                                                toAdd.add( new_mref ); 
    7779                                        } 
     
    9496                { 
    9597                        // what mrefs to add/delete 
    96                         List<${mref_entity}> toDelete = new ArrayList<${mref_entity}>(); 
     98                        List<${JavaName(mref_entity)}> toDelete = new ArrayList<${JavaName(mref_entity)}>(); 
    9799                                         
    98100                        for (${JavaName(entity)} entity : entities) 
     
    100102                                //retrieve currently known mrefs 
    101103                                QueryRule rule = new QueryRule( "${name(mref_local_field)}", QueryRule.Operator.EQUALS, entity.get${JavaName(pkey(entity))}() ); 
    102                                 List<${mref_entity}> existing_mrefs = getDatabase().find( ${mref_entity}.class, rule ); 
     104                                List<${JavaName(mref_entity)}> existing_mrefs = getDatabase().find( ${JavaName(mref_entity)}.class, rule ); 
    103105 
    104106                                // check for removals 
    105                                 for (${mref_entity} ref : existing_mrefs) 
     107                                for (${JavaName(mref_entity)} ref : existing_mrefs) 
    106108                                { 
    107109                                        toDelete.add( ref ); 
Note: See TracChangeset for help on using the changeset viewer.