[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jboss-cvs-commits
Subject:    [jboss-cvs] jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc JDBCCreateEntityCommand.java
From:       Alexey Loubyansky <loubyansky () users ! sourceforge ! net>
Date:       2003-01-31 14:16:12
[Download RAW message or body]

  User: loubyansky
  Date: 03/01/31 06:16:12

  Modified:    src/main/org/jboss/ejb/plugins/cmp/jdbc Tag: Branch_3_2
                        JDBCCreateEntityCommand.java
  Log:
  fix for [675932]: instead of CMR fields, its foreign key fields that are not mapped \
to primary key columns are added to insert fields list.  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.4  +19 -6     \
jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCCreateEntityCommand.java  
  Index: JDBCCreateEntityCommand.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/cmp/jdbc/JDBCCreateEntityCommand.java,v
  retrieving revision 1.14.2.3
  retrieving revision 1.14.2.4
  diff -u -r1.14.2.3 -r1.14.2.4
  --- JDBCCreateEntityCommand.java	26 Dec 2002 08:03:00 -0000	1.14.2.3
  +++ JDBCCreateEntityCommand.java	31 Jan 2003 14:16:11 -0000	1.14.2.4
  @@ -24,6 +24,7 @@
   import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMPFieldBridge;
   import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge;
   import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMRFieldBridge;
  +import org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCCMP2xFieldBridge;
   import org.jboss.ejb.plugins.lock.JDBCOptimisticLock;
   import org.jboss.logging.Logger;
   
  @@ -39,7 +40,7 @@
    * @author <a href="mailto:justin@j-m-f.demon.co.uk">Justin Forder</a>
    * @author <a href="mailto:loubyansky@hotmail.com">Alex Loubyansky</a>
    *
  - * @version $Revision: 1.14.2.3 $
  + * @version $Revision: 1.14.2.4 $
    */
   public class JDBCCreateEntityCommand
   {
  @@ -98,11 +99,23 @@
         for(Iterator iter = fields.iterator(); iter.hasNext(); ) {
            JDBCFieldBridge field = (JDBCFieldBridge)iter.next();
            if(!field.isReadOnly()) {
  -
  -
  -            // if this field is not a foreign key that is a part of the primary \
                key
  -            if( !(field instanceof JDBCCMRFieldBridge
  -               && ((JDBCCMRFieldBridge)field).isFkPartOfPk()) ) {
  +            // instead of CMR fields include its foreign keys that aren't mapped \
to PK  +            if(field instanceof JDBCCMRFieldBridge) {
  +               List foreignKeyFields = \
((JDBCCMRFieldBridge)field).getForeignKeyFields();  +               \
if(foreignKeyFields == null) {  +                  // no foreign key
  +                  continue;
  +               }
  +               Iterator fkFieldIter = \
((JDBCCMRFieldBridge)field).getForeignKeyFields().iterator();  +               \
while(fkFieldIter.hasNext()) {  +                  JDBCCMP2xFieldBridge fkField = \
(JDBCCMP2xFieldBridge)fkFieldIter.next();  +                  \
if(fkField.isFkFieldMappedToPkField()) {  +                     // this field is \
mapped to a PK column  +                     continue;
  +                  }
  +                  insertFields.add(fkField);
  +               }
  +            } else {
                  insertFields.add(field);
               }
            }
  
  
  


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
jboss-cvs-commits mailing list
jboss-cvs-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-cvs-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic