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 br...@apache.org on 2004/05/06 21:45:57 UTC

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

brj         2004/05/06 12:45:57

  Modified:    src/java/org/apache/ojb/broker/core
                        QueryReferenceBroker.java
               src/java/org/apache/ojb/broker/accesslayer
                        BasePrefetcher.java
  Log:
  recurse references before associating owners and children
  
  Revision  Changes    Path
  1.15      +10 -4     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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- QueryReferenceBroker.java	22 Apr 2004 16:16:08 -0000	1.14
  +++ QueryReferenceBroker.java	6 May 2004 19:45:57 -0000	1.15
  @@ -44,8 +44,8 @@
   import org.apache.ojb.broker.metadata.FieldDescriptor;
   import org.apache.ojb.broker.metadata.FieldHelper;
   import org.apache.ojb.broker.metadata.ObjectReferenceDescriptor;
  -import org.apache.ojb.broker.metadata.fieldaccess.PersistentField;
   import org.apache.ojb.broker.metadata.fieldaccess.AnonymousPersistentField;
  +import org.apache.ojb.broker.metadata.fieldaccess.PersistentField;
   import org.apache.ojb.broker.query.Criteria;
   import org.apache.ojb.broker.query.Query;
   import org.apache.ojb.broker.query.QueryByCriteria;
  @@ -270,7 +270,12 @@
           return isFirst;
       }
   
  -    private void performRetrievalTasks()
  +    /**
  +     * Perform the stored retrieval tasks
  +     * BRJ: made it public to access it from BasePrefetcher
  +     * TODO: this is a quick fix !
  +     */
  +    public void performRetrievalTasks()
       {
           if (m_retrievalTasks == null)
           {
  @@ -337,7 +342,8 @@
               {
                   refObj = pb.doGetObjectByIdentity(id);
               }
  -            else if ((m_retrievalTasks != null) && !rds.isLazy()
  +            else if ((m_retrievalTasks != null) 
  +                    && !rds.isLazy()
                       && (rds.getItemProxyClass() == null))
               {
                   addRetrievalTask(obj, rds);
  
  
  
  1.8       +6 -1      db-ojb/src/java/org/apache/ojb/broker/accesslayer/BasePrefetcher.java
  
  Index: BasePrefetcher.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/BasePrefetcher.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BasePrefetcher.java	4 Apr 2004 23:53:30 -0000	1.7
  +++ BasePrefetcher.java	6 May 2004 19:45:57 -0000	1.8
  @@ -23,6 +23,7 @@
   import org.apache.ojb.broker.PersistenceBroker;
   import org.apache.ojb.broker.PersistenceBrokerFactory;
   import org.apache.ojb.broker.core.PersistenceBrokerConfiguration;
  +import org.apache.ojb.broker.core.PersistenceBrokerImpl;
   import org.apache.ojb.broker.metadata.ClassDescriptor;
   import org.apache.ojb.broker.metadata.DescriptorRepository;
   import org.apache.ojb.broker.metadata.FieldDescriptor;
  @@ -108,6 +109,10 @@
               }
           }
   
  +        // BRJ: performRetrieval of childrens references BEFORE associating with owners
  +        // TODO: this is a quick fix ! 
  +        ((PersistenceBrokerImpl)getBroker()).getReferenceBroker().performRetrievalTasks();
  +        
           associateBatched(owners, children);
       }
   
  
  
  

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