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/12/10 23:40:43 UTC

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

brj         2004/12/10 14:40:43

  Modified:    src/java/org/apache/ojb/broker/metadata
                        AttributeDescriptorBase.java ClassDescriptor.java
                        ObjectReferenceDescriptor.java
                        CollectionDescriptor.java
               src/java/org/apache/ojb/broker/accesslayer
                        RelationshipPrefetcherImpl.java BasePrefetcher.java
               src/java/org/apache/ojb/broker/core MtoNBroker.java
                        QueryReferenceBroker.java
               src/java/org/apache/ojb/otm/core ConcreteEditingContext.java
               src/java/org/apache/ojb/broker/accesslayer/sql
                        SqlQueryStatement.java
  Log:
  new method getItemClassDescriptor in ObjectReferenceDescriptor
  
  Revision  Changes    Path
  1.19      +6 -1      db-ojb/src/java/org/apache/ojb/broker/metadata/AttributeDescriptorBase.java
  
  Index: AttributeDescriptorBase.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/AttributeDescriptorBase.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- AttributeDescriptorBase.java	14 Nov 2004 09:36:10 -0000	1.18
  +++ AttributeDescriptorBase.java	10 Dec 2004 22:40:41 -0000	1.19
  @@ -71,6 +71,11 @@
           return m_ClassDescriptor;
       }
   
  +    protected ClassDescriptor getDescriptorFor(Class aClass)
  +    {
  +        return getClassDescriptor().getRepository().getDescriptorFor(aClass);
  +    }
  +    
       /**
        * Sets the classDescriptor.
        * @param classDescriptor The classDescriptor to set
  
  
  
  1.97      +2 -2      db-ojb/src/java/org/apache/ojb/broker/metadata/ClassDescriptor.java
  
  Index: ClassDescriptor.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/ClassDescriptor.java,v
  retrieving revision 1.96
  retrieving revision 1.97
  diff -u -r1.96 -r1.97
  --- ClassDescriptor.java	28 Nov 2004 03:14:43 -0000	1.96
  +++ ClassDescriptor.java	10 Dec 2004 22:40:41 -0000	1.97
  @@ -472,7 +472,7 @@
               
               if (superOrd != null)
               {
  -                ClassDescriptor superCld = getRepository().getDescriptorFor(superOrd.getItemClass());
  +                ClassDescriptor superCld = superOrd.getItemClassDescriptor();
                   ord = superCld.getObjectReferenceDescriptorByName(name);
               }
           }
  
  
  
  1.41      +15 -2     db-ojb/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java
  
  Index: ObjectReferenceDescriptor.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/ObjectReferenceDescriptor.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- ObjectReferenceDescriptor.java	14 Nov 2004 09:36:10 -0000	1.40
  +++ ObjectReferenceDescriptor.java	10 Dec 2004 22:40:41 -0000	1.41
  @@ -43,6 +43,7 @@
       public static final int CASCADE_OBJECT = 23;
   
       private Class m_ClassOfItems = null;
  +    private ClassDescriptor m_ClassDescriptorOfItems;
       private Vector m_ForeignKeyFields = new Vector();
       private boolean m_CascadeRetrieve = true;
       private int m_CascadeStore = CASCADE_NONE;
  @@ -170,19 +171,31 @@
       }
   
       /**
  -     *
  +     * Answer the ItemClass.
        */
       public Class getItemClass()
       {
           return m_ClassOfItems;
       }
   
  +   /**
  +    * Answer the ClassDescriptor of the ItemClass.
  +    */
  +   public ClassDescriptor getItemClassDescriptor()
  +   {
  +       if (m_ClassDescriptorOfItems == null)
  +       {
  +           m_ClassDescriptorOfItems = getDescriptorFor(getItemClass());
  +       }
  +       return m_ClassDescriptorOfItems;
  +   }
  +
       /**
        * @return the fully qualified name of the item class for this descriptor.
        */
       public String getItemClassName()
       {
  -        return this.m_ClassOfItems != null ? this.m_ClassOfItems.getName() : null;
  +        return m_ClassOfItems != null ? m_ClassOfItems.getName() : null;
       }
   
       /**
  
  
  
  1.32      +2 -2      db-ojb/src/java/org/apache/ojb/broker/metadata/CollectionDescriptor.java
  
  Index: CollectionDescriptor.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/CollectionDescriptor.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- CollectionDescriptor.java	11 Aug 2004 00:41:46 -0000	1.31
  +++ CollectionDescriptor.java	10 Dec 2004 22:40:42 -0000	1.32
  @@ -325,7 +325,7 @@
           if (m_hasProxyItems == null)
           {
               DescriptorRepository repo = getClassDescriptor().getRepository();
  -            ClassDescriptor cld = repo.getDescriptorFor(getItemClass());
  +            ClassDescriptor cld = getItemClassDescriptor();
               if (cld.getProxyClass() != null)
               {
                   m_hasProxyItems = Boolean.TRUE;
  
  
  
  1.14      +2 -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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- RelationshipPrefetcherImpl.java	12 May 2004 19:25:54 -0000	1.13
  +++ RelationshipPrefetcherImpl.java	10 Dec 2004 22:40:42 -0000	1.14
  @@ -36,7 +36,7 @@
        */
       public RelationshipPrefetcherImpl(PersistenceBrokerImpl aBroker, ObjectReferenceDescriptor anOrd)
       {
  -        super(aBroker, anOrd.getItemClass());
  +        super(aBroker, anOrd.getItemClassDescriptor());
           objectReferenceDescriptor = anOrd;
       }
   
  
  
  
  1.12      +10 -2     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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- BasePrefetcher.java	14 Nov 2004 09:33:38 -0000	1.11
  +++ BasePrefetcher.java	10 Dec 2004 22:40:42 -0000	1.12
  @@ -48,9 +48,17 @@
        */
       public BasePrefetcher(PersistenceBrokerImpl aBroker, Class anItemClass)
       {
  +        this(aBroker, aBroker.getDescriptorRepository().getDescriptorFor(anItemClass));
  +    }
  +
  +    /**
  +     * Constructor for BasePrefetcher.
  +     */
  +    public BasePrefetcher(PersistenceBrokerImpl aBroker, ClassDescriptor anItemCld)
  +    {
           super();
           broker = aBroker;
  -        itemClassDesc = aBroker.getDescriptorRepository().getDescriptorFor(anItemClass);
  +        itemClassDesc = anItemCld;
           logger = LoggerFactory.getLogger(this.getClass());
           pkLimit = broker.getSqlInLimit() / getItemClassDescriptor().getPkFields().length;
       }
  
  
  
  1.15      +3 -3      db-ojb/src/java/org/apache/ojb/broker/core/MtoNBroker.java
  
  Index: MtoNBroker.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/core/MtoNBroker.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- MtoNBroker.java	26 Oct 2004 13:22:19 -0000	1.14
  +++ MtoNBroker.java	10 Dec 2004 22:40:42 -0000	1.15
  @@ -131,7 +131,7 @@
           String selectStmt = pb.serviceSqlGenerator()
                   .getGenericPreparedStatement(SqlGenerator.TYPE_GENERIC_SELECT, table, fkColumns, pkColumns);
   
  -        ClassDescriptor itemCLD = pb.getDescriptorRepository().getDescriptorFor(cod.getItemClass());
  +        ClassDescriptor itemCLD = cod.getItemClassDescriptor();
           Collection extents = pb.getDescriptorRepository().getAllConcreteSubclassDescriptors(itemCLD);
           if(extents.size() > 0)
           {
  @@ -203,7 +203,7 @@
           }
           List workList = new ArrayList(mnKeys);
           MtoNBroker.Key relatedObjKeys;
  -        ClassDescriptor relatedCld = pb.getDescriptorRepository().getDescriptorFor(cod.getItemClass());
  +        ClassDescriptor relatedCld = cod.getItemClassDescriptor();
           Object relatedObj;
   
           // remove keys of relatedObject from the existing m:n rows in workList
  
  
  
  1.27      +4 -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.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- QueryReferenceBroker.java	5 Dec 2004 14:54:40 -0000	1.26
  +++ QueryReferenceBroker.java	10 Dec 2004 22:40:42 -0000	1.27
  @@ -526,7 +526,7 @@
               not only the top-level class - right?
               */
               // referencedProxy = getClassDescriptor(referencedClass).getDynamicProxyClass();
  -            referencedProxy = pb.getClassDescriptor(rds.getItemClass()).getDynamicProxyClass();
  +            referencedProxy = rds.getItemClassDescriptor().getDynamicProxyClass();
           }
           else
           {
  @@ -698,7 +698,7 @@
           ValueContainer[] values = pb.serviceBrokerHelper().getKeyValues(cld, obj);
           Object[] thisClassFks = cod.getFksToThisClass();
           Object[] itemClassFks = cod.getFksToItemClass();
  -        ClassDescriptor refCld = pb.getClassDescriptor(cod.getItemClass());
  +        ClassDescriptor refCld = cod.getItemClassDescriptor();
           Criteria criteria = new Criteria();
   
           for (int i = 0; i < thisClassFks.length; i++)
  @@ -725,7 +725,7 @@
       private QueryByCriteria getFKQuery1toN(Object obj, ClassDescriptor cld, CollectionDescriptor cod)
       {
           ValueContainer[] container = pb.serviceBrokerHelper().getKeyValues(cld, obj);
  -        ClassDescriptor refCld = pb.getClassDescriptor(cod.getItemClass());
  +        ClassDescriptor refCld = cod.getItemClassDescriptor();
           FieldDescriptor[] fields = cod.getForeignKeyFieldDescriptors(refCld);
           Criteria criteria = new Criteria();
   
  
  
  
  1.54      +1 -1      db-ojb/src/java/org/apache/ojb/otm/core/ConcreteEditingContext.java
  
  Index: ConcreteEditingContext.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/otm/core/ConcreteEditingContext.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- ConcreteEditingContext.java	29 Nov 2004 22:11:59 -0000	1.53
  +++ ConcreteEditingContext.java	10 Dec 2004 22:40:42 -0000	1.54
  @@ -1227,7 +1227,7 @@
               Collection relRefs;
   
               ord = (ObjectReferenceDescriptor) it.next();
  -            relCDesc = _pb.getClassDescriptor(ord.getItemClass());
  +            relCDesc = ord.getItemClassDescriptor();
               relRefs = relCDesc.getObjectReferenceDescriptors();
               for (Iterator relIt = relRefs.iterator(); relIt.hasNext(); )
               {
  
  
  
  1.93      +2 -2      db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java
  
  Index: SqlQueryStatement.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java,v
  retrieving revision 1.92
  retrieving revision 1.93
  diff -u -r1.92 -r1.93
  --- SqlQueryStatement.java	2 Dec 2004 21:37:46 -0000	1.92
  +++ SqlQueryStatement.java	10 Dec 2004 22:40:43 -0000	1.93
  @@ -384,7 +384,7 @@
                * and then we need to take the primary key attribute of the referenced object 
                * to help them out.
                */
  -            ClassDescriptor cld = aTableAlias.cld.getRepository().getDescriptorFor(anOrd.getItemClass());
  +            ClassDescriptor cld = anOrd.getItemClassDescriptor();
               if (cld != null)
               {
                   fld = aTableAlias.cld.getFieldDescriptorByName(cld.getPkFields()[0].getPersistentField().getName());
  
  
  

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