You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2003/03/06 09:12:51 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/odmg ObjectEnvelopeTable.java

arminw      2003/03/06 00:12:51

  Modified:    src/java/org/apache/ojb/odmg ObjectEnvelopeTable.java
  Log:
  fix to avoid ConcurrentModificationException?
  
  Revision  Changes    Path
  1.19      +6 -5      db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelopeTable.java
  
  Index: ObjectEnvelopeTable.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelopeTable.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ObjectEnvelopeTable.java	12 Feb 2003 15:58:12 -0000	1.18
  +++ ObjectEnvelopeTable.java	6 Mar 2003 08:12:51 -0000	1.19
  @@ -177,7 +177,7 @@
               // 0. turn on the batch mode
               connMan.setBatchMode(true);
   
  -            // 1. upgrade implicit locks. 
  +            // 1. upgrade implicit locks.
               upgradeImplicitLocksAndCheckIfCommitIsNeeded();
   
               // 2. Reorder objects
  @@ -212,7 +212,8 @@
           if (needsCommit)
           {
               Iterator iter;
  -            iter = mvOrderOfIds.iterator();
  +            // using clone to avoid ConcurentModificationException
  +            iter = ((List) mvOrderOfIds.clone()).iterator();
               while (iter.hasNext())
               {
                   ObjectEnvelope mod = (ObjectEnvelope) mhtObjectEnvelopes.get(iter.next());
  @@ -234,7 +235,7 @@
       {
           boolean useImplicitLocking = getConfiguration().useImplicitLocking();
           // using clone to avoid ConcurentModificationException
  -        Iterator iter = ((ArrayList) mvOrderOfIds.clone()).iterator();
  +        Iterator iter = ((List) mvOrderOfIds.clone()).iterator();
           while (iter.hasNext())
           {
   			boolean markDirty = false;
  @@ -242,7 +243,7 @@
               if (log.isDebugEnabled())
                   log.debug("commit: " + mod);
               // if the Object has been modified by transaction, mark object as dirty
  -            // but only if it has not been marked during tx already !! 
  +            // but only if it has not been marked during tx already !!
               if ((!mod.needsDelete()) && (!mod.needsInsert()) && (!mod.needsUpdate()))
               {
   				/**
  @@ -590,7 +591,7 @@
   
       /**
        * get Configuration
  -     * @return OdmgConfiguration 
  +     * @return OdmgConfiguration
        */
       private OdmgConfiguration getConfiguration()
       {