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 ol...@apache.org on 2003/09/25 22:23:06 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer RelationshipPrefetcherImpl.java

olegnitz    2003/09/25 13:23:06

  Modified:    src/java/org/apache/ojb/broker/accesslayer
                        RelationshipPrefetcherImpl.java
  Log:
  The patch by Michael Schulze has been applied
  
  Revision  Changes    Path
  1.7       +19 -2     db-ojb/src/java/org/apache/ojb/broker/accesslayer/RelationshipPrefetcherImpl.java
  
  Index: RelationshipPrefetcherImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/RelationshipPrefetcherImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- RelationshipPrefetcherImpl.java	29 Aug 2003 15:11:02 -0000	1.6
  +++ RelationshipPrefetcherImpl.java	25 Sep 2003 20:23:06 -0000	1.7
  @@ -60,6 +60,7 @@
   import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.PersistenceBrokerFactory;
   import org.apache.ojb.broker.metadata.ClassDescriptor;
  +import org.apache.ojb.broker.metadata.CollectionDescriptor;
   import org.apache.ojb.broker.metadata.DescriptorRepository;
   import org.apache.ojb.broker.metadata.ObjectReferenceDescriptor;
   import org.apache.ojb.broker.query.Query;
  @@ -137,9 +138,25 @@
   
           queries = buildPrefetchQueries(owners);
   
  +        Class collectionClass = null;
  +        if (getObjectReferenceDescriptor() instanceof CollectionDescriptor)
  +        {
  +            collectionClass = ((CollectionDescriptor) getObjectReferenceDescriptor()).getCollectionClass();
  +        }
  +
           for (int i = 0; i < queries.length; i++)
           {
  -            children.addAll(getBroker().getCollectionByQuery(queries[i]));
  +            Collection newChildren;
  +
  +            if (collectionClass != null)
  +            {
  +                newChildren = (Collection) getBroker().getCollectionByQuery(collectionClass, queries[i]);
  +            }
  +            else
  +            {
  +                newChildren = getBroker().getCollectionByQuery(queries[i]);
  +            }
  +            children.addAll(newChildren);
           }
           associateBatched(owners, children);
       }
  
  
  

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