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 to...@apache.org on 2004/12/05 13:31:02 UTC

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

tomdz       2004/12/05 04:31:01

  Modified:    src/java/org/apache/ojb/broker/core
                        PersistenceBrokerImpl.java
                        QueryReferenceBroker.java
               src/java/org/apache/ojb/broker/util/collections
                        ManageableListImpl.java ManageableSetImpl.java
                        ManageableMapImpl.java ManageableVector.java
               src/java/org/apache/ojb/odmg/collections DListImpl.java
               src/test/org/apache/ojb/odmg ScrollableQueryResultsTest.java
                        BidirectionalAssociationTest.java M2NTest.java
                        ProjectionAttributeTest.java PerformanceTest.java
                        ContractVersionEffectivenessOQLTest.java
               src/java/org/apache/ojb/broker ManageableCollection.java
               src/test/org/apache/ojb/broker CollectionTest.java
                        ArticleCollection.java PBRollbackTest.java
                        M2NTest.java
               src/java/org/apache/ojb/odmg ObjectEnvelopeReordering.java
                        ObjectEnvelopeTable.java TransactionImpl.java
               src/java/org/apache/ojb/broker/util BrokerHelper.java
               src/xdoclet/test/xdoclet/modules/ojb/tests
                        TestCollectionClass.java
               src/java/org/apache/ojb/broker/accesslayer
                        CollectionPrefetcher.java
                        MtoNCollectionPrefetcher.java
               src/java/org/apache/ojb/broker/core/proxy
                        AbstractCollectionProxy.java
               src/java/org/apache/ojb/odmg/oql OQLQueryImpl.java
  Log:
  Extends ManageableCollection interface so that the ojb... Methods now also geta PersistenceBroker reference for doing database operations
  Updated Unittests accordingly, and replaced unnecessary usages of ManageableCollection in the ODMG tests with java.util.Collection
  
  Revision  Changes    Path
  1.104     +7 -7      db-ojb/src/java/org/apache/ojb/broker/core/PersistenceBrokerImpl.java
  
  Index: PersistenceBrokerImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/PersistenceBrokerImpl.java,v
  retrieving revision 1.103
  retrieving revision 1.104
  diff -u -r1.103 -r1.104
  --- PersistenceBrokerImpl.java	3 Dec 2004 21:59:17 -0000	1.103
  +++ PersistenceBrokerImpl.java	5 Dec 2004 12:31:00 -0000	1.104
  @@ -775,7 +775,7 @@
                       Object col = cds.getPersistentField().get(obj);
                       if (col != null)
                       {
  -                        Iterator colIterator = BrokerHelper.getCollectionIterator(col);
  +                        Iterator colIterator = brokerHelper.getCollectionIterator(col);
                           while (colIterator.hasNext())
                           {
                               doDelete(colIterator.next());
  @@ -991,7 +991,7 @@
   
               if(!onlyLink && cod.getCascadingStore() == ObjectReferenceDescriptor.CASCADE_OBJECT)
               {
  -                referencedObjectsIterator = BrokerHelper.getCollectionIterator(referencedObjects);
  +                referencedObjectsIterator = brokerHelper.getCollectionIterator(referencedObjects);
                   while (referencedObjectsIterator.hasNext())
                   {
                       store(referencedObjectsIterator.next());
  @@ -1003,7 +1003,7 @@
               {
                   existingMtoNKeys = mtoNBroker.getMtoNImplementor(cod, obj);
                   // we can't reuse iterator
  -                referencedObjectsIterator = BrokerHelper.getCollectionIterator(referencedObjects);
  +                referencedObjectsIterator = brokerHelper.getCollectionIterator(referencedObjects);
                   // remove all entries in indirection table which not be part of referenced objects
                   mtoNBroker.deleteMtoNImplementor(cod, obj, referencedObjectsIterator, existingMtoNKeys);
               }
  @@ -1012,7 +1012,7 @@
                   existingMtoNKeys = Collections.EMPTY_LIST;
               }
               // we can't reuse iterator
  -            referencedObjectsIterator = BrokerHelper.getCollectionIterator(referencedObjects);
  +            referencedObjectsIterator = brokerHelper.getCollectionIterator(referencedObjects);
               while (referencedObjectsIterator.hasNext())
               {
                   Object refObj = referencedObjectsIterator.next();
  @@ -1053,7 +1053,7 @@
           if(insert || !(referencedObjects instanceof CollectionProxy
                           && !((CollectionProxy) referencedObjects).isLoaded()))
           {
  -            Iterator it = BrokerHelper.getCollectionIterator(referencedObjects);
  +            Iterator it = brokerHelper.getCollectionIterator(referencedObjects);
               Object refObj;
               while(it.hasNext())
               {
  @@ -1225,7 +1225,7 @@
               Object collectionObject = col.getPersistentField().get(obj);
               if (collectionObject != null)
               {
  -                Iterator colIterator = BrokerHelper.getCollectionIterator(collectionObject);
  +                Iterator colIterator = brokerHelper.getCollectionIterator(collectionObject);
                   ClassDescriptor cld = null;
                   while (colIterator.hasNext())
                   {
  
  
  
  1.25      +2 -2      db-ojb/src/java/org/apache/ojb/broker/core/QueryReferenceBroker.java
  
  Index: QueryReferenceBroker.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/QueryReferenceBroker.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- QueryReferenceBroker.java	29 Nov 2004 22:11:59 -0000	1.24
  +++ QueryReferenceBroker.java	5 Dec 2004 12:31:00 -0000	1.25
  @@ -134,7 +134,7 @@
                       if ((handler != null)
                               || itemClass.isAssignableFrom(candidate.getClass()))
                       {
  -                        result.ojbAdd(candidate);
  +                        result.ojbAdd(pb, candidate);
   
                           // BRJ: count added objects
                           // to be removed when Query.fullSize is removed
  
  
  
  1.3       +10 -9     db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableListImpl.java
  
  Index: ManageableListImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableListImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ManageableListImpl.java	4 Dec 2004 12:04:22 -0000	1.2
  +++ ManageableListImpl.java	5 Dec 2004 12:31:00 -0000	1.3
  @@ -21,6 +21,7 @@
   
   import org.apache.commons.collections.list.AbstractSerializableListDecorator;
   import org.apache.ojb.broker.ManageableCollection;
  +import org.apache.ojb.broker.PersistenceBroker;
   
   /**
    * Manageable Wrapper for List.
  @@ -49,29 +50,29 @@
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(java.lang.Object)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(PersistenceBroker, Object)
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           add(anObject);
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(org.apache.ojb.broker.ManageableCollection)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(PersistenceBroker, ManageableCollection)
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
  -        Iterator it = otherCollection.ojbIterator();
  +        Iterator it = otherCollection.ojbIterator(broker);
           while (it.hasNext())
           {
  -            ojbAdd(it.next());
  +            ojbAdd(broker, it.next());
           }
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator()
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator(PersistenceBroker)
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return iterator();
       }
  
  
  
  1.3       +10 -9     db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableSetImpl.java
  
  Index: ManageableSetImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableSetImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ManageableSetImpl.java	4 Dec 2004 12:04:22 -0000	1.2
  +++ ManageableSetImpl.java	5 Dec 2004 12:31:00 -0000	1.3
  @@ -22,6 +22,7 @@
   
   import org.apache.commons.collections.set.AbstractSerializableSetDecorator;
   import org.apache.ojb.broker.ManageableCollection;
  +import org.apache.ojb.broker.PersistenceBroker;
   
   /**
    * Manageable Wrapper for Set.
  @@ -50,29 +51,29 @@
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(java.lang.Object)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(PersistenceBroker, Object)
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           add(anObject);
       }
       
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(org.apache.ojb.broker.ManageableCollection)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(PersistenceBroker, ManageableCollection)
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
  -		Iterator it = otherCollection.ojbIterator();
  +		Iterator it = otherCollection.ojbIterator(broker);
   		while (it.hasNext())
   		{
  -			ojbAdd(it.next());
  +			ojbAdd(broker, it.next());
   		}        
       }
       
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator()
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator(PersistenceBroker)
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return iterator();
       }
  
  
  
  1.2       +14 -13    db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableMapImpl.java
  
  Index: ManageableMapImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableMapImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ManageableMapImpl.java	13 Nov 2004 10:08:16 -0000	1.1
  +++ ManageableMapImpl.java	5 Dec 2004 12:31:00 -0000	1.2
  @@ -24,7 +24,7 @@
   import java.util.Set;
   
   import org.apache.ojb.broker.ManageableCollection;
  -import org.apache.ojb.broker.PersistenceBrokerFactory;
  +import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.metadata.ClassDescriptor;
   
   /**
  @@ -172,34 +172,35 @@
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(java.lang.Object)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(PersistenceBroker, Object)
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
   		if (anObject != null)
   		{
  -			ClassDescriptor cd = PersistenceBrokerFactory.defaultPersistenceBroker().getDescriptorRepository().getDescriptorFor(anObject.getClass());
  -			Object key = cd.getPrimaryKey().getPersistentField().get(anObject);
  -			put(key,anObject);
  +			ClassDescriptor cd  = broker.getDescriptorRepository().getDescriptorFor(anObject.getClass());
  +			Object          key = cd.getPrimaryKey().getPersistentField().get(anObject);
  +
  +            put(key,anObject);
   		}
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(org.apache.ojb.broker.ManageableCollection)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(PersistenceBroker, ManageableCollection)
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
  -		Iterator it = otherCollection.ojbIterator();
  +		Iterator it = otherCollection.ojbIterator(broker);
   		while (it.hasNext())
   		{
  -			ojbAdd(it.next());
  +			ojbAdd(broker, it.next());
   		}        
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator()
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator(PersistenceBroker)
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return values().iterator();
       }
  
  
  
  1.9       +9 -8      db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableVector.java
  
  Index: ManageableVector.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/collections/ManageableVector.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ManageableVector.java	18 Oct 2004 18:52:07 -0000	1.8
  +++ ManageableVector.java	5 Dec 2004 12:31:00 -0000	1.9
  @@ -19,6 +19,7 @@
   import java.util.Vector;
   
   import org.apache.ojb.broker.ManageableCollection;
  +import org.apache.ojb.broker.PersistenceBroker;
   
   /**
    * is a utility class. provides a Vector that addionally implements
  @@ -33,25 +34,25 @@
       private static final long serialVersionUID = -6552515676488758660L;
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(java.lang.Object)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(PersistenceBroker, Object)
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           this.add(anObject);
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(org.apache.ojb.broker.ManageableCollection)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(PersistenceBroker, ManageableCollection)
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
  -        this.addAll((ManageableVector) otherCollection);
  +        this.addAll((ManageableVector)otherCollection);
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator()
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator(PersistenceBroker)
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return this.iterator();
       }
  
  
  
  1.30      +5 -5      db-ojb/src/java/org/apache/ojb/odmg/collections/DListImpl.java
  
  Index: DListImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/collections/DListImpl.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- DListImpl.java	14 Nov 2004 09:37:40 -0000	1.29
  +++ DListImpl.java	5 Dec 2004 12:31:00 -0000	1.30
  @@ -573,7 +573,7 @@
        * from the database. Thus it is is save to cast anObject to the underlying element type of the
        * collection.
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           size++;
   
  @@ -587,13 +587,13 @@
        * adds a Collection to this collection. Used in reading Extents from the Database.
        * Thus it is save to cast otherCollection to this.getClass().
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
           // don't use this to avoid locking
           // this.addAll((DListImpl_2) otherCollection);
  -        for (Iterator it = otherCollection.ojbIterator(); it.hasNext();)
  +        for (Iterator it = otherCollection.ojbIterator(broker); it.hasNext();)
           {
  -            ojbAdd(it.next());
  +            ojbAdd(broker, it.next());
           }
       }
   
  @@ -601,7 +601,7 @@
        * returns an Iterator over all elements in the collection. Used during store and delete Operations.
        * If the implementor does not return an iterator over ALL elements, OJB cannot store and delete all elements properly.
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return iterator();
       }
  
  
  
  1.20      +16 -20    db-ojb/src/test/org/apache/ojb/odmg/ScrollableQueryResultsTest.java
  
  Index: ScrollableQueryResultsTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/ScrollableQueryResultsTest.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ScrollableQueryResultsTest.java	11 Aug 2004 00:39:48 -0000	1.19
  +++ ScrollableQueryResultsTest.java	5 Dec 2004 12:31:00 -0000	1.20
  @@ -2,9 +2,9 @@
   
   import java.sql.Connection;
   import java.sql.ResultSet;
  +import java.util.Collection;
   import java.util.Iterator;
   
  -import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.query.Query;
   import org.apache.ojb.junit.ODMGTestCase;
  @@ -67,11 +67,11 @@
                   "select allPersons from "
                   + org.apache.ojb.broker.Person.class.getName();
           query.create(oql);
  -        ManageableCollection allPersons =
  -                (ManageableCollection) query.execute();
  +
  +        Collection allPersons = (Collection) query.execute();
   
           // Iterator over the restricted articles objects
  -        java.util.Iterator it = allPersons.ojbIterator();
  +        Iterator it = allPersons.iterator();
           while (it.hasNext())
           {
               database.deletePersistent(it.next());
  @@ -88,9 +88,9 @@
                   "select allPersons from "
                   + org.apache.ojb.broker.Person.class.getName();
           query.create(sql);
  -        ManageableCollection allPersons =
  -                (ManageableCollection) query.execute();
  -        Iterator it = allPersons.ojbIterator();
  +
  +        Collection allPersons = (Collection) query.execute();
  +        Iterator   it         = allPersons.iterator();
           while (it.hasNext())
           {
               db.deletePersistent(it.next());
  @@ -121,11 +121,10 @@
                       + org.apache.ojb.broker.Person.class.getName();
               query.create(sql);
   
  -            ManageableCollection allPersons =
  -                    (ManageableCollection) query.execute();
  +            Collection allPersons = (Collection) query.execute();
   
               // Iterator over the restricted articles objects
  -            java.util.Iterator it = allPersons.ojbIterator();
  +            Iterator it = allPersons.iterator();
               int count = 0;
               while (it.hasNext())
               {
  @@ -175,11 +174,10 @@
                   + org.apache.ojb.broker.Person.class.getName();
           query.create(sql, start, end);
   
  -        ManageableCollection somePersons =
  -                (ManageableCollection) query.execute();
  +        Collection somePersons = (Collection) query.execute();
   
           // Iterator over the restricted articles objects
  -        java.util.Iterator it = somePersons.ojbIterator();
  +        Iterator it = somePersons.iterator();
           int count = 0;
           while (it.hasNext())
           {
  @@ -225,11 +223,10 @@
                       + org.apache.ojb.broker.Person.class.getName();
               query.create(sql, start, end);
   
  -            ManageableCollection somePersons =
  -                    (ManageableCollection) query.execute();
  +            Collection somePersons = (Collection) query.execute();
   
               // Iterator over the restricted articles objects
  -            java.util.Iterator it = somePersons.ojbIterator();
  +            Iterator it = somePersons.iterator();
               int count = 0;
               while (it.hasNext())
               {
  @@ -294,10 +291,9 @@
                   "select somePersons from "
                   + org.apache.ojb.broker.Person.class.getName();
           query.create(sql, start, end);
  -        ManageableCollection somePersons =
  -                (ManageableCollection) query.execute();
  +        Collection somePersons = (Collection) query.execute();
           // Iterator over the restricted articles objects
  -        java.util.Iterator it = somePersons.ojbIterator();
  +        Iterator it = somePersons.iterator();
           int count = 0;
           while (it.hasNext())
           {
  
  
  
  1.10      +17 -17    db-ojb/src/test/org/apache/ojb/odmg/BidirectionalAssociationTest.java
  
  Index: BidirectionalAssociationTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/BidirectionalAssociationTest.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- BidirectionalAssociationTest.java	14 Sep 2004 16:50:02 -0000	1.9
  +++ BidirectionalAssociationTest.java	5 Dec 2004 12:31:00 -0000	1.10
  @@ -4,11 +4,11 @@
    */
   package org.apache.ojb.odmg;
   
  +import java.util.Collection;
   import java.util.Iterator;
   
   import org.apache.ojb.broker.BidirectionalAssociationObjectA;
   import org.apache.ojb.broker.BidirectionalAssociationObjectB;
  -import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.junit.ODMGTestCase;
   import org.odmg.ODMGException;
   import org.odmg.OQLQuery;
  @@ -85,8 +85,8 @@
           int i = 0;
           query.create("select bidirectionalAssociationObjectA from " + BidirectionalAssociationObjectA.class.getName() + " where pk=$1");
           query.bind("A"+currentTime);
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           while (it.hasNext())
           {
               i++;
  @@ -101,8 +101,8 @@
           i = 0;
           query.create("select bidirectionalAssociationObjectB from " + BidirectionalAssociationObjectB.class.getName() + " where pk=$1");
           query.bind("B"+currentTime);
  -        all = (ManageableCollection) query.execute();
  -        it = all.ojbIterator();
  +        all = (Collection) query.execute();
  +        it = all.iterator();
           while (it.hasNext())
           {
               i++;
  @@ -146,8 +146,8 @@
           int i = 0;
           query.create("select bidirectionalAssociationObjectA from " + BidirectionalAssociationObjectA.class.getName() + " where pk=$1");
           query.bind("A"+currentTime);
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           while (it.hasNext())
           {
               i++;
  @@ -160,8 +160,8 @@
           i = 0;
           query.create("select bidirectionalAssociationObjectB from " + BidirectionalAssociationObjectB.class.getName() + " where pk=$1");
           query.bind("B"+currentTime);
  -        all = (ManageableCollection) query.execute();
  -        it = all.ojbIterator();
  +        all = (Collection) query.execute();
  +        it = all.iterator();
           while (it.hasNext())
           {
               i++;
  @@ -191,8 +191,8 @@
           query.create("select bidirectionalAssociationObjectA from " + BidirectionalAssociationObjectA.class.getName());
           Transaction tx = odmg.newTransaction();
           tx.begin();
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           BidirectionalAssociationObjectA temp = null;
           while (it.hasNext())
           {
  @@ -219,8 +219,8 @@
           query.create("select bidirectionalAssociationObjectB from " + BidirectionalAssociationObjectB.class.getName());
           Transaction tx = odmg.newTransaction();
           tx.begin();
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           BidirectionalAssociationObjectB temp = null;
           while (it.hasNext())
           {
  @@ -259,8 +259,8 @@
           query.create("select bidirectionalAssociationObjectA from " + BidirectionalAssociationObjectA.class.getName());
           Transaction tx = odmg.newTransaction();
           tx.begin();
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
   
           while (it.hasNext())
           {
  @@ -294,8 +294,8 @@
           query.create("select bidirectionalAssociationObjectB from " + BidirectionalAssociationObjectB.class.getName());
           Transaction tx = odmg.newTransaction();
           tx.begin();
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
   
           while (it.hasNext())
           {
  
  
  
  1.5       +5 -6      db-ojb/src/test/org/apache/ojb/odmg/M2NTest.java
  
  Index: M2NTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/M2NTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- M2NTest.java	22 Oct 2004 21:54:45 -0000	1.4
  +++ M2NTest.java	5 Dec 2004 12:31:00 -0000	1.5
  @@ -7,7 +7,6 @@
   import org.apache.commons.lang.builder.ToStringBuilder;
   import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.broker.PersistenceBroker;
  -import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.PersistenceBrokerFactory;
   import org.apache.ojb.broker.metadata.ClassDescriptor;
   import org.apache.ojb.broker.metadata.CollectionDescriptor;
  @@ -605,21 +604,21 @@
       {
           private ArrayList list = new ArrayList();
   
  -        public void ojbAdd(Object anObject)
  +        public void ojbAdd(PersistenceBroker broker, Object anObject)
           {
               list.add(anObject);
           }
   
  -        public void ojbAddAll(ManageableCollection otherCollection)
  +        public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
           {
  -            Iterator it = otherCollection.ojbIterator();
  +            Iterator it = otherCollection.ojbIterator(broker);
               while(it.hasNext())
               {
                   list.add(it.next());
               }
           }
   
  -        public Iterator ojbIterator()
  +        public Iterator ojbIterator(PersistenceBroker broker)
           {
               return list.iterator();
           }
  
  
  
  1.11      +4 -3      db-ojb/src/test/org/apache/ojb/odmg/ProjectionAttributeTest.java
  
  Index: ProjectionAttributeTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/ProjectionAttributeTest.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ProjectionAttributeTest.java	14 Sep 2004 16:50:02 -0000	1.10
  +++ ProjectionAttributeTest.java	5 Dec 2004 12:31:00 -0000	1.11
  @@ -8,9 +8,10 @@
    */
   package org.apache.ojb.odmg;
   
  +import java.util.Collection;
  +import java.util.Iterator;
   import java.util.List;
   
  -import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.odmg.shared.Article;
   import org.apache.ojb.junit.ODMGTestCase;
   import org.odmg.Database;
  @@ -66,10 +67,10 @@
               String sql = "select aPerson.firstname, aPerson.lastname from " + org.apache.ojb.broker.Person.class.getName();
               query.create(sql);
   
  -            ManageableCollection result = (ManageableCollection) query.execute();
  +            Collection result = (Collection) query.execute();
   
               // Iterator over the restricted articles objects
  -            java.util.Iterator it = result.ojbIterator();
  +            Iterator it = result.iterator();
               int i = 0;
               while (it.hasNext())
               {
  
  
  
  1.14      +3 -3      db-ojb/src/test/org/apache/ojb/odmg/PerformanceTest.java
  
  Index: PerformanceTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/PerformanceTest.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PerformanceTest.java	27 Nov 2004 20:55:54 -0000	1.13
  +++ PerformanceTest.java	5 Dec 2004 12:31:00 -0000	1.14
  @@ -1,8 +1,8 @@
   package org.apache.ojb.odmg;
   
  +import java.util.Collection;
   import java.util.Iterator;
   
  -import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.broker.PerformanceArticle;
   import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.PersistenceBrokerFactory;
  @@ -208,8 +208,8 @@
           String sql = "select allArticles from " + PerformanceArticle.class.getName() + " where articleId between " + new Integer(offsetId) + " and " + new Integer(offsetId + articleCount);
           query.create(sql);
           long start = System.currentTimeMillis();
  -        ManageableCollection collection = (ManageableCollection) query.execute();
  -        Iterator iter = collection.ojbIterator();
  +        Collection collection = (Collection) query.execute();
  +        Iterator iter = collection.iterator();
           int fetchCount = 0;
           while (iter.hasNext())
           {
  
  
  
  1.18      +34 -35    db-ojb/src/test/org/apache/ojb/odmg/ContractVersionEffectivenessOQLTest.java
  
  Index: ContractVersionEffectivenessOQLTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/odmg/ContractVersionEffectivenessOQLTest.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ContractVersionEffectivenessOQLTest.java	14 Sep 2004 16:50:02 -0000	1.17
  +++ ContractVersionEffectivenessOQLTest.java	5 Dec 2004 12:31:00 -0000	1.18
  @@ -9,10 +9,11 @@
   package org.apache.ojb.odmg;
   
   import java.sql.Timestamp;
  +import java.util.Collection;
  +import java.util.Iterator;
   
   import org.apache.ojb.broker.Contract;
   import org.apache.ojb.broker.Effectiveness;
  -import org.apache.ojb.broker.ManageableCollection;
   import org.apache.ojb.broker.RelatedToContract;
   import org.apache.ojb.broker.Version;
   import org.apache.ojb.junit.ODMGTestCase;
  @@ -147,8 +148,8 @@
           query.bind(new Timestamp(System.currentTimeMillis() + 5000)); // a while from now (effValue3<$5)
           query.bind(new Integer(5)); // version.contract.relatedToContract.relatedValue2=$6
   
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           /**
            * make sure we got
            */
  @@ -215,8 +216,8 @@
           query.bind(new Integer(20)); // effValue2 <= $4
           query.bind(new Timestamp(System.currentTimeMillis() + 5000)); // a while from now (effValue3<$5)
   
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator it = all.iterator();
           /**
            * make sure we got
            */
  @@ -239,8 +240,8 @@
           int i = 0;
           query.create("select effectiveness from " + Effectiveness.class.getName() + " where version.versionValue1=$1");
           query.bind("versionvalue1");
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator   it  = all.iterator();
           Effectiveness temp = null;
           while (it.hasNext())
           {
  @@ -260,16 +261,16 @@
           createData(database, odmg);
           OQLQuery query = odmg.newOQLQuery();
           query.create("select effectiveness.version from " + Effectiveness.class.getName() + " where is_defined(effectiveness.version.versionValue1)");
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator   it  = all.iterator();
           while (it.hasNext())
           {
               assertTrue("Selected item is Version", (it.next() instanceof Version));
           }
   
           query.create("select effectiveness.version.contract from " + Effectiveness.class.getName() + " where is_defined(effectiveness.version.versionValue1)");
  -        all = (ManageableCollection) query.execute();
  -        it = all.ojbIterator();
  +        all = (Collection) query.execute();
  +        it  = all.iterator();
           while (it.hasNext())
           {
               assertTrue("Selected item is Contract", (it.next() instanceof Contract));
  @@ -284,8 +285,8 @@
           int i = 0;
           query.create("select effectiveness from " + Effectiveness.class.getName() + " where version.contract.contractValue1=$1");
           query.bind("contractvalue1");
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator   it  = all.iterator();
           Effectiveness temp = null;
           while (it.hasNext())
           {
  @@ -306,8 +307,8 @@
           OQLQuery query = odmg.newOQLQuery();
           int i = 0;
           query.create("select effectiveness from " + Effectiveness.class.getName());
  -        ManageableCollection all = (ManageableCollection) query.execute();
  -        java.util.Iterator it = all.ojbIterator();
  +        Collection all = (Collection) query.execute();
  +        Iterator   it  = all.iterator();
           while (it.hasNext())
           {
               it.next();
  @@ -328,8 +329,8 @@
           Transaction tx = odmg.newTransaction();
   
           OQLQuery query = odmg.newOQLQuery();
  -        ManageableCollection all = null;
  -        java.util.Iterator it = null;
  +        Collection all = null;
  +        Iterator   it = null;
           int i = 0;
           query.create("select effectiveness from " + org.apache.ojb.broker.Effectiveness.class.getName());
   
  @@ -337,9 +338,9 @@
            * try doing this as part of one transaction, ODMG should figure out
            * which order to delete in.
            */
  -        all = (ManageableCollection) query.execute();
  +        all = (Collection) query.execute();
           // Iterator over the restricted articles objects
  -        it = all.ojbIterator();
  +        it = all.iterator();
           Effectiveness eff = null;
           Version ver = null;
           Contract contract = null;
  @@ -369,9 +370,8 @@
            * run query again, should get 0 results.
            */
           query.create("select contracts from " + org.apache.ojb.broker.Contract.class.getName());
  -        ManageableCollection allContracts = (ManageableCollection) query.execute();
  -        allContracts = (ManageableCollection) query.execute();
  -        it = allContracts.ojbIterator();
  +        Collection allContracts = (Collection) query.execute();
  +        it = allContracts.iterator();
           if (it.hasNext())
           {
               fail("all contracts should have been removed, we found one.");
  @@ -393,8 +393,8 @@
           Transaction tx = odmg.newTransaction();
   
           OQLQuery query = odmg.newOQLQuery();
  -        ManageableCollection all = null;
  -        java.util.Iterator it = null;
  +        Collection all = null;
  +        Iterator   it = null;
           int i = 0;
           query.create("select effectiveness from " + org.apache.ojb.broker.Effectiveness.class.getName());
   
  @@ -402,9 +402,9 @@
            * try doing this as part of one transaction, ODMG should figure out
            * which order to delete in.
            */
  -        all = (ManageableCollection) query.execute();
  +        all = (Collection) query.execute();
           // Iterator over the restricted articles objects
  -        it = all.ojbIterator();
  +        it = all.iterator();
           Effectiveness eff = null;
           Version ver = null;
           Contract contract = null;
  @@ -434,9 +434,8 @@
            * run query again, should get 0 results.
            */
           query.create("select contracts from " + org.apache.ojb.broker.Contract.class.getName());
  -        ManageableCollection allContracts = (ManageableCollection) query.execute();
  -        allContracts = (ManageableCollection) query.execute();
  -        it = allContracts.ojbIterator();
  +        Collection allContracts = (Collection) query.execute();
  +        it = allContracts.iterator();
           if (it.hasNext())
           {
               fail("all contracts should have been removed, we found one.");
  @@ -457,10 +456,10 @@
           String sql = "select effectiveness from " + Effectiveness.class.getName();
           query.create(sql);
   
  -        ManageableCollection allEffectiveness = (ManageableCollection) query.execute();
  +        Collection allEffectiveness = (Collection) query.execute();
   
           // Iterator over the restricted articles objects
  -        java.util.Iterator it = allEffectiveness.ojbIterator();
  +        Iterator it = allEffectiveness.iterator();
           int i = 0;
           while (it.hasNext())
           {
  @@ -552,9 +551,9 @@
           query.create(sql);
           query.bind("version1");
           tx.begin();
  -        ManageableCollection results = (ManageableCollection) query.execute();
  +        Collection results = (Collection) query.execute();
           // Iterator over the restricted articles objects
  -        java.util.Iterator it = results.ojbIterator();
  +        Iterator it = results.iterator();
           Version ver1 = null;
           while (it.hasNext())
           {
  @@ -571,9 +570,9 @@
           query2.create(sql2);
           query2.bind("version2");
           tx.begin();
  -        results = (ManageableCollection) query2.execute();
  +        results = (Collection) query2.execute();
           // Iterator over the restricted articles objects
  -        java.util.Iterator it2 = results.ojbIterator();
  +        Iterator it2 = results.iterator();
           Version ver2 = null;
           while (it2.hasNext())
           {
  
  
  
  1.9       +8 -4      db-ojb/src/java/org/apache/ojb/broker/ManageableCollection.java
  
  Index: ManageableCollection.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/ManageableCollection.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ManageableCollection.java	18 Oct 2004 18:52:08 -0000	1.8
  +++ ManageableCollection.java	5 Dec 2004 12:31:01 -0000	1.9
  @@ -33,22 +33,26 @@
        * Add a single Object to the Collection. This method is used during reading Collection elements
        * from the database. Thus it is is save to cast anObject to the underlying element type of the
        * collection.
  +     * 
  +     * @param broker   The broker for db access
        * @param anObject the object to be added
        */
  -    void ojbAdd(Object anObject);
  +    void ojbAdd(PersistenceBroker broker, Object anObject);
   
       /**
        * Adds a Collection to this collection. Used in reading Extents from the Database.
        * Thus it is save to cast otherCollection to this.getClass().
  +     * 
  +     * @param broker   The broker for db access
        * @param otherCollection the collection to be added
        */   
  -    void ojbAddAll(ManageableCollection otherCollection);
  +    void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection);
   
       /**
        * Returns an Iterator over all elements in the collection. Used during store and delete Operations.
        * If the implementor does not return an iterator over ALL elements, OJB cannot store and delete all elements properly.
        * @return the iterator
        */
  -    Iterator ojbIterator();
  +    Iterator ojbIterator(PersistenceBroker broker);
   
   }
  
  
  
  1.14      +7 -7      db-ojb/src/test/org/apache/ojb/broker/CollectionTest.java
  
  Index: CollectionTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/CollectionTest.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- CollectionTest.java	22 Oct 2004 21:54:45 -0000	1.13
  +++ CollectionTest.java	5 Dec 2004 12:31:01 -0000	1.14
  @@ -141,7 +141,7 @@
           for (int i = 0; i < collBase.length; i++)
           {
               CollectibleBase collectibleBase = collBase[i];
  -            dummyList.ojbAdd(collectibleBase);
  +            dummyList.ojbAdd(broker, collectibleBase);
           }
           gat.setCollectionDummy(dummyList);
   
  @@ -168,7 +168,7 @@
           for (int i = 0; i < collBase.length; i++)
           {
               CollectibleBase collectibleBase = collBase[i];
  -            dummyList.ojbAdd(collectibleBase);
  +            dummyList.ojbAdd(broker, collectibleBase);
           }
           gat.setCollectionDummy(dummyList);
   
  @@ -890,21 +890,21 @@
       {
           ArrayList list = new ArrayList();
   
  -        public void ojbAdd(Object anObject)
  +        public void ojbAdd(PersistenceBroker broker, Object anObject)
           {
               list.add(anObject);
           }
   
  -        public void ojbAddAll(ManageableCollection otherCollection)
  +        public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
           {
  -            Iterator it = otherCollection.ojbIterator();
  +            Iterator it = otherCollection.ojbIterator(broker);
               while (it.hasNext())
               {
                   list.add(it.next());
               }
           }
   
  -        public Iterator ojbIterator()
  +        public Iterator ojbIterator(PersistenceBroker broker)
           {
               return list.iterator();
           }
  
  
  
  1.5       +4 -3      db-ojb/src/test/org/apache/ojb/broker/ArticleCollection.java
  
  Index: ArticleCollection.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/ArticleCollection.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ArticleCollection.java	22 Oct 2004 21:54:45 -0000	1.4
  +++ ArticleCollection.java	5 Dec 2004 12:31:01 -0000	1.5
  @@ -2,6 +2,7 @@
   
   import org.apache.ojb.broker.ManageableCollection;
   
  +import java.util.Iterator;
   import java.util.Vector;
   
   /**
  @@ -37,7 +38,7 @@
       /**
        * add method comment.
        */
  -    public void ojbAdd(java.lang.Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           elements.add(anObject);
       }
  @@ -45,7 +46,7 @@
       /**
        * addAll method comment.
        */
  -    public void ojbAddAll(org.apache.ojb.broker.ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
           elements.addAll(((ArticleCollection) otherCollection).elements);
       }
  @@ -53,7 +54,7 @@
       /**
        * ojbIterator method comment.
        */
  -    public java.util.Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return elements.iterator();
       }
  
  
  
  1.11      +4 -4      db-ojb/src/test/org/apache/ojb/broker/PBRollbackTest.java
  
  Index: PBRollbackTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/PBRollbackTest.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PBRollbackTest.java	28 Nov 2004 00:37:19 -0000	1.10
  +++ PBRollbackTest.java	5 Dec 2004 12:31:01 -0000	1.11
  @@ -70,7 +70,7 @@
           int whileTransaction = broker.getCount(q);
           ManageableCollection result = broker.getCollectionByQuery(ManageableVector.class, q);
           int whileTransactionMC = 0;
  -        Iterator it = result.ojbIterator();
  +        Iterator it = result.ojbIterator(broker);
           while (it.hasNext())
           {
               it.next();
  @@ -104,7 +104,7 @@
           int whileTransaction = broker.getCount(q);
           ManageableCollection result = broker.getCollectionByQuery(ManageableVector.class, q);
           int whileTransactionMC = 0;
  -        Iterator it = result.ojbIterator();
  +        Iterator it = result.ojbIterator(broker);
           while (it.hasNext())
           {
               it.next();
  @@ -144,7 +144,7 @@
           int whileTransaction = broker.getCount(q);
           ManageableCollection result = broker.getCollectionByQuery(ManageableVector.class, q);
           int whileTransactionMC = 0;
  -        Iterator it = result.ojbIterator();
  +        Iterator it = result.ojbIterator(broker);
           while (it.hasNext())
           {
               it.next();
  @@ -186,7 +186,7 @@
           int whileTransaction = broker.getCount(q);
           ManageableCollection result = broker.getCollectionByQuery(ManageableVector.class, q);
           int whileTransactionMC = 0;
  -        Iterator it = result.ojbIterator();
  +        Iterator it = result.ojbIterator(broker);
           while (it.hasNext())
           {
               it.next();
  
  
  
  1.16      +5 -5      db-ojb/src/test/org/apache/ojb/broker/M2NTest.java
  
  Index: M2NTest.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/test/org/apache/ojb/broker/M2NTest.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- M2NTest.java	28 Nov 2004 00:37:19 -0000	1.15
  +++ M2NTest.java	5 Dec 2004 12:31:01 -0000	1.16
  @@ -1331,21 +1331,21 @@
       {
           private ArrayList list = new ArrayList();
   
  -        public void ojbAdd(Object anObject)
  +        public void ojbAdd(PersistenceBroker broker, Object anObject)
           {
               list.add(anObject);
           }
   
  -        public void ojbAddAll(ManageableCollection otherCollection)
  +        public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
           {
  -            Iterator it = otherCollection.ojbIterator();
  +            Iterator it = otherCollection.ojbIterator(broker);
               while(it.hasNext())
               {
                   list.add(it.next());
               }
           }
   
  -        public Iterator ojbIterator()
  +        public Iterator ojbIterator(PersistenceBroker broker)
           {
               return list.iterator();
           }
  
  
  
  1.3       +2 -2      db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelopeReordering.java
  
  Index: ObjectEnvelopeReordering.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/ObjectEnvelopeReordering.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ObjectEnvelopeReordering.java	21 Nov 2004 09:25:35 -0000	1.2
  +++ ObjectEnvelopeReordering.java	5 Dec 2004 12:31:01 -0000	1.3
  @@ -318,7 +318,7 @@
               if (col instanceof ManageableCollection)
               {
                   Collection newCol = new ArrayList();
  -                CollectionUtils.addAll(newCol, ((ManageableCollection) col).ojbIterator());
  +                CollectionUtils.addAll(newCol, ((ManageableCollection) col).ojbIterator(transaction.getBroker()));
                    
                   refObjects = newCol.toArray();
               }
  
  
  
  1.41      +1 -2      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.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ObjectEnvelopeTable.java	28 Nov 2004 03:17:33 -0000	1.40
  +++ ObjectEnvelopeTable.java	5 Dec 2004 12:31:01 -0000	1.41
  @@ -16,7 +16,6 @@
    */
   
   import java.util.ArrayList;
  -import java.util.Collections;
   import java.util.Enumeration;
   import java.util.HashMap;
   import java.util.Iterator;
  @@ -308,7 +307,7 @@
                   FieldDescriptor[] itemFkFields = cds.getForeignKeyFieldDescriptors(itemCld);
   
                   // get Iterator for Collection or Array
  -                Iterator colIterator = BrokerHelper.getCollectionIterator(col);
  +                Iterator colIterator = BrokerHelper.getCollectionIterator(broker, col);
                   Object item = null;
                   while (colIterator.hasNext())
                   {
  
  
  
  1.68      +2 -2      db-ojb/src/java/org/apache/ojb/odmg/TransactionImpl.java
  
  Index: TransactionImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/TransactionImpl.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- TransactionImpl.java	28 Nov 2004 03:17:33 -0000	1.67
  +++ TransactionImpl.java	5 Dec 2004 12:31:01 -0000	1.68
  @@ -903,7 +903,7 @@
                               continue;
                           }
                       }
  -                    Iterator colIterator = BrokerHelper.getCollectionIterator(col);
  +                    Iterator colIterator = BrokerHelper.getCollectionIterator(broker, col);
                       Object item = null;
                       try
                       {
  
  
  
  1.73      +21 -5     db-ojb/src/java/org/apache/ojb/broker/util/BrokerHelper.java
  
  Index: BrokerHelper.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/BrokerHelper.java,v
  retrieving revision 1.72
  retrieving revision 1.73
  diff -u -r1.72 -r1.73
  --- BrokerHelper.java	2 Dec 2004 21:37:46 -0000	1.72
  +++ BrokerHelper.java	5 Dec 2004 12:31:01 -0000	1.73
  @@ -28,6 +28,7 @@
   import org.apache.ojb.broker.OJB;
   import org.apache.ojb.broker.OJBRuntimeException;
   import org.apache.ojb.broker.PBKey;
  +import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.PersistenceBrokerException;
   import org.apache.ojb.broker.PersistenceBrokerInternal;
   import org.apache.ojb.broker.core.PersistenceBrokerImpl;
  @@ -880,16 +881,31 @@
       
       /**
        * Answer the Iterator for Collection or Array.
  -     * @param collectionOrArray a none null object of type {@link java.util.Collection},
  -     * Array or {@link org.apache.ojb.broker.ManageableCollection}.
  +     *
  +     * @param collectionOrArray A not-null object of type {@link java.util.Collection},
  +     *                          an array or {@link org.apache.ojb.broker.ManageableCollection}.
  +     * @return Iterator able to handle given collection object
  +     */
  +    public Iterator getCollectionIterator(Object collectionOrArray)
  +    {
  +        return getCollectionIterator(m_broker, collectionOrArray);
  +    }
  +
  +    /**
  +     * Answer the Iterator for Collection or Array.
  +     *
  +     * @param broker            The broker for db acecss
  +     * @param collectionOrArray A not-null object of type {@link java.util.Collection}, 
  +     *                          an array or {@link org.apache.ojb.broker.ManageableCollection}.
        * @return Iterator able to handle given collection object
        */
  -    public static Iterator getCollectionIterator(Object collectionOrArray)
  +    public static Iterator getCollectionIterator(PersistenceBroker broker, Object collectionOrArray)
       {
           Iterator colIterator;
  +
           if (collectionOrArray instanceof ManageableCollection)
           {
  -            colIterator = ((ManageableCollection) collectionOrArray).ojbIterator();
  +            colIterator = ((ManageableCollection) collectionOrArray).ojbIterator(broker);
           }
           else if (collectionOrArray instanceof Collection)
           {
  
  
  
  1.5       +4 -3      db-ojb/src/xdoclet/test/xdoclet/modules/ojb/tests/TestCollectionClass.java
  
  Index: TestCollectionClass.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/xdoclet/test/xdoclet/modules/ojb/tests/TestCollectionClass.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestCollectionClass.java	22 Oct 2004 21:54:46 -0000	1.4
  +++ TestCollectionClass.java	5 Dec 2004 12:31:01 -0000	1.5
  @@ -18,21 +18,22 @@
   import java.util.Iterator;
   
   import org.apache.ojb.broker.ManageableCollection;
  +import org.apache.ojb.broker.PersistenceBroker;
   
   /**
    * Collection class used in some of the unit tests.
    */
   public class TestCollectionClass extends java.util.ArrayList implements ManageableCollection
   {
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
       }
   
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
       }
   
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return null;
       }
  
  
  
  1.33      +2 -2      db-ojb/src/java/org/apache/ojb/broker/accesslayer/CollectionPrefetcher.java
  
  Index: CollectionPrefetcher.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/CollectionPrefetcher.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- CollectionPrefetcher.java	20 Oct 2004 18:50:46 -0000	1.32
  +++ CollectionPrefetcher.java	5 Dec 2004 12:31:01 -0000	1.33
  @@ -199,7 +199,7 @@
                   ManageableCollection col = createCollection(collectionClass);
                   for (Iterator it2 = list.iterator(); it2.hasNext();)
                   {
  -                    col.ojbAdd(it2.next());
  +                    col.ojbAdd(pb, it2.next());
                   }
                   result = col;
               }
  
  
  
  1.17      +2 -2      db-ojb/src/java/org/apache/ojb/broker/accesslayer/MtoNCollectionPrefetcher.java
  
  Index: MtoNCollectionPrefetcher.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/MtoNCollectionPrefetcher.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- MtoNCollectionPrefetcher.java	4 Dec 2004 10:00:15 -0000	1.16
  +++ MtoNCollectionPrefetcher.java	5 Dec 2004 12:31:01 -0000	1.17
  @@ -486,7 +486,7 @@
   
                   for (Iterator it2 = list.iterator(); it2.hasNext();)
                   {
  -                    col.ojbAdd(it2.next());
  +                    col.ojbAdd(pb, it2.next());
                   }
                   result = col;
               }
  
  
  
  1.2       +9 -9      db-ojb/src/java/org/apache/ojb/broker/core/proxy/AbstractCollectionProxy.java
  
  Index: AbstractCollectionProxy.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/proxy/AbstractCollectionProxy.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractCollectionProxy.java	3 Dec 2004 21:59:17 -0000	1.1
  +++ AbstractCollectionProxy.java	5 Dec 2004 12:31:01 -0000	1.2
  @@ -475,29 +475,29 @@
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(Object)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAdd(PersistenceBroker, Object)
        */
  -    public void ojbAdd(Object anObject)
  +    public void ojbAdd(PersistenceBroker broker, Object anObject)
       {
           add(anObject);
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(ManageableCollection)
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbAddAll(PersistenceBroker, ManageableCollection)
        */
  -    public void ojbAddAll(ManageableCollection otherCollection)
  +    public void ojbAddAll(PersistenceBroker broker, ManageableCollection otherCollection)
       {
  -		Iterator it = otherCollection.ojbIterator();
  +		Iterator it = otherCollection.ojbIterator(broker);
   		while (it.hasNext())
   		{
  -			ojbAdd(it.next());
  +			ojbAdd(broker, it.next());
   		}        
       }
   
       /**
  -     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator()
  +     * @see org.apache.ojb.broker.ManageableCollection#ojbIterator(PersistenceBroker)
        */
  -    public Iterator ojbIterator()
  +    public Iterator ojbIterator(PersistenceBroker broker)
       {
           return iterator();
       }
  
  
  
  1.20      +3 -3      db-ojb/src/java/org/apache/ojb/odmg/oql/OQLQueryImpl.java
  
  Index: OQLQueryImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/odmg/oql/OQLQueryImpl.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- OQLQueryImpl.java	14 Nov 2004 09:39:57 -0000	1.19
  +++ OQLQueryImpl.java	5 Dec 2004 12:31:01 -0000	1.20
  @@ -263,7 +263,7 @@
                           {
                               if (res[0] != null) // skip null values
                               {
  -                                result.ojbAdd(res[0]);
  +                                result.ojbAdd(broker, res[0]);
                               }
                           }
                           else
  @@ -273,7 +273,7 @@
                               {
                                   if (res[i] != null)
                                   {
  -                                    result.ojbAdd(res);
  +                                    result.ojbAdd(broker, res);
                                       break;
                                   }
                               }
  @@ -313,7 +313,7 @@
           if ((tx != null) && ((TransactionExt)tx).getImplicitLocking())
           {
               // read-lock all resulting objects to the current transaction
  -            Iterator iter = result.ojbIterator();
  +            Iterator iter = result.ojbIterator(broker);
               Object toBeLocked = null;
               Class lastUsed = null;
               boolean didLockedLastUsed = false;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org