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/06/12 18:49:16 UTC

cvs commit: db-ojb/src/java/org/apache/ojb/otm/lock IsolationFactory.java

arminw      2003/06/12 09:49:16

  Modified:    src/java/org/apache/ojb/broker/accesslayer
                        StatementManager.java
               src/java/org/apache/ojb/broker/cache
                        CacheFilterClassImpl.java
                        CacheFilterPackageImpl.java
                        MetaObjectCacheJCSImpl.java
                        MetaObjectCachePerClassImpl.java
               src/java/org/apache/ojb/broker/core
                        PersistenceBrokerImpl.java
               src/java/org/apache/ojb/broker/query QueryByIdentity.java
               src/java/org/apache/ojb/broker/util ProxyHelper.java
               src/java/org/apache/ojb/broker Identity.java
               src/java/org/apache/ojb/otm/lock IsolationFactory.java
  Log:
  rename method 'getObjectsClass' to
  'getObjectsTopLevelClass' to make
  things clearer. Old method is now
  deprecated.
  
  Revision  Changes    Path
  1.36      +8 -8      db-ojb/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java
  
  Index: StatementManager.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/StatementManager.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- StatementManager.java	6 Jun 2003 16:19:25 -0000	1.35
  +++ StatementManager.java	12 Jun 2003 16:49:15 -0000	1.36
  @@ -177,14 +177,14 @@
   	/**
   	 * binds the Identities Primary key values to the statement
   	 */
  -	public void bindDelete(PreparedStatement stmt, Identity oid, ClassDescriptor cld) throws java.sql.SQLException
  +	public void bindDelete(PreparedStatement stmt, Identity oid, ClassDescriptor cld) throws SQLException
   	{
   		Object[] values = null;
   		int i = 0;
   
   		if (cld == null)
   		{
  -			cld = m_broker.getClassDescriptor(oid.getObjectsClass());
  +			cld = m_broker.getClassDescriptor(oid.getObjectsTopLevelClass());
   		}
   
   		values = getKeyValues(m_broker, cld, oid);
  @@ -206,7 +206,7 @@
   	/**
   	 * binds the objects primary key and locking values to the statement, BRJ
   	 */
  -	public void bindDelete(PreparedStatement stmt, ClassDescriptor cld, Object obj) throws java.sql.SQLException
  +	public void bindDelete(PreparedStatement stmt, ClassDescriptor cld, Object obj) throws SQLException
   	{
   		int index = 1;
   		Object[] values, currentLockingValues;
  @@ -246,7 +246,7 @@
   		if (value instanceof Query)
   		{
   			Query subQuery = (Query) value;
  -            
  +
               // BRJ: simply bind the whole subQuery
               return bindStatement(stmt,subQuery,cld.getRepository().getDescriptorFor(subQuery.getSearchClass()), index);
   		}
  @@ -509,7 +509,7 @@
   
   		if (cld == null)
   		{
  -			cld = m_broker.getClassDescriptor(oid.getObjectsClass());
  +			cld = m_broker.getClassDescriptor(oid.getObjectsTopLevelClass());
   		}
   		try
   		{
  @@ -551,14 +551,14 @@
   		{
   			Object val = values[i];
   			if (val != null)
  -            {         
  +            {
   				m_platform.setObjectForStatement(stmt, index, val, SqlHelper.getSqlTypeRwNonPk(cld, i));
               }
               else
               {
   				m_platform.setNullForStatement(stmt, index, SqlHelper.getSqlTypeRwNonPk(cld, i));
               }
  -            
  +
   			index++;
   		}
   		// parameters for WHERE-clause pk
  
  
  
  1.2       +2 -2      db-ojb/src/java/org/apache/ojb/broker/cache/CacheFilterClassImpl.java
  
  Index: CacheFilterClassImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/CacheFilterClassImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CacheFilterClassImpl.java	5 Mar 2003 23:52:09 -0000	1.1
  +++ CacheFilterClassImpl.java	12 Jun 2003 16:49:15 -0000	1.2
  @@ -36,7 +36,7 @@
   
       public boolean beforeCache(Identity oid, Object obj)
       {
  -        String cacheable = broker.getClassDescriptor(oid.getObjectsClass()).getAttribute(CACHEABLE);
  +        String cacheable = broker.getClassDescriptor(oid.getObjectsTopLevelClass()).getAttribute(CACHEABLE);
           if (cacheable == null || (new Boolean(cacheable)).booleanValue())
           {
               return true;
  
  
  
  1.4       +2 -2      db-ojb/src/java/org/apache/ojb/broker/cache/CacheFilterPackageImpl.java
  
  Index: CacheFilterPackageImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/CacheFilterPackageImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- CacheFilterPackageImpl.java	2 May 2003 18:14:22 -0000	1.3
  +++ CacheFilterPackageImpl.java	12 Jun 2003 16:49:15 -0000	1.4
  @@ -52,7 +52,7 @@
                   getConnectionDescriptor().getAttribute(EXCLUDE_PACKAGES);
           filterPackages = broker.getDescriptorRepository().getAttribute(EXCLUDE_PACKAGES) +
                   (filterPackages != null ? COMMA + filterPackages : "");
  -        return matchFilterPackages(filterPackages, oid.getObjectsClass());
  +        return matchFilterPackages(filterPackages, oid.getObjectsTopLevelClass());
       }
   
       public boolean beforeLookup(Identity oid)
  
  
  
  1.2       +2 -2      db-ojb/src/java/org/apache/ojb/broker/cache/MetaObjectCacheJCSImpl.java
  
  Index: MetaObjectCacheJCSImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/MetaObjectCacheJCSImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MetaObjectCacheJCSImpl.java	5 Mar 2003 23:52:08 -0000	1.1
  +++ MetaObjectCacheJCSImpl.java	12 Jun 2003 16:49:15 -0000	1.2
  @@ -83,7 +83,7 @@
   
       public ObjectCache getCache(Identity oid, Object obj, int methodCall)
       {
  -        return getCachePerClass(oid.getObjectsClass());
  +        return getCachePerClass(oid.getObjectsTopLevelClass());
       }
   
       /**
  
  
  
  1.2       +2 -2      db-ojb/src/java/org/apache/ojb/broker/cache/MetaObjectCachePerClassImpl.java
  
  Index: MetaObjectCachePerClassImpl.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/cache/MetaObjectCachePerClassImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MetaObjectCachePerClassImpl.java	5 Mar 2003 23:52:08 -0000	1.1
  +++ MetaObjectCachePerClassImpl.java	12 Jun 2003 16:49:15 -0000	1.2
  @@ -88,7 +88,7 @@
   
       public ObjectCache getCache(Identity oid, Object obj, int methodCall)
       {
  -        return getCachePerClass(oid.getObjectsClass());
  +        return getCachePerClass(oid.getObjectsTopLevelClass());
       }
   
       /**
  
  
  
  1.10      +3 -3      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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- PersistenceBrokerImpl.java	24 May 2003 23:58:20 -0000	1.9
  +++ PersistenceBrokerImpl.java	12 Jun 2003 16:49:15 -0000	1.10
  @@ -1154,7 +1154,7 @@
   	private Query getPKQuery(Identity oid)
   	{
           Object[] values = oid.getPrimaryKeyValues();
  -        ClassDescriptor cld = getClassDescriptor(oid.getObjectsClass());
  +        ClassDescriptor cld = getClassDescriptor(oid.getObjectsTopLevelClass());
           FieldDescriptor[] fields = cld.getPkFields();
           Criteria criteria = new Criteria();
   
  @@ -1516,7 +1516,7 @@
   
           if (c == null)
           {
  -            c = oid.getObjectsClass();
  +            c = oid.getObjectsTopLevelClass();
           }
   
           ClassDescriptor cld = descriptorRepository.getDescriptorFor(c);
  
  
  
  1.7       +7 -7      db-ojb/src/java/org/apache/ojb/broker/query/QueryByIdentity.java
  
  Index: QueryByIdentity.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryByIdentity.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- QueryByIdentity.java	15 Mar 2003 15:42:26 -0000	1.6
  +++ QueryByIdentity.java	12 Jun 2003 16:49:16 -0000	1.7
  @@ -78,7 +78,7 @@
    * @author <a href="mailto:thma@apache.org">Thomas Mahler<a>
    * @version $Id$
    */
  -public class QueryByIdentity extends AbstractQueryImpl 
  +public class QueryByIdentity extends AbstractQueryImpl
   {
   	private Object m_exampleObjectOrIdentity;
   
  @@ -94,24 +94,24 @@
   	 * Answer the example Object
   	 * @return the example Object or an Identity
   	 */
  -	public java.lang.Object getExampleObject()
  +	public Object getExampleObject()
   	{
   		return m_exampleObjectOrIdentity;
   	}
   
   	/**
  -	 * Answer the search class. 
  -	 * This is the class of the example object or 
  +	 * Answer the search class.
  +	 * This is the class of the example object or
   	 * the class represented by Identity.
   	 * @return Class
   	 */
  -	public java.lang.Class getSearchClass()
  +	public Class getSearchClass()
   	{
   		Object obj = getExampleObject();
   
   		if (obj instanceof Identity)
   		{
  -			return ((Identity) obj).getObjectsClass();
  +			return ((Identity) obj).getObjectsTopLevelClass();
   		}
   		else
   		{
  
  
  
  1.13      +3 -3      db-ojb/src/java/org/apache/ojb/broker/util/ProxyHelper.java
  
  Index: ProxyHelper.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/util/ProxyHelper.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ProxyHelper.java	28 May 2003 08:58:39 -0000	1.12
  +++ ProxyHelper.java	12 Jun 2003 16:49:16 -0000	1.13
  @@ -264,7 +264,7 @@
               try
               {
                   handler = (IndirectionHandler) Proxy.getInvocationHandler(objectOrProxy);
  -                return handler.getIdentity().getObjectsClass();
  +                return handler.getIdentity().getObjectsTopLevelClass();
               }
               catch (IllegalArgumentException e)
               {
  @@ -275,7 +275,7 @@
           else if (objectOrProxy instanceof VirtualProxy)
           {
               handler = (IndirectionHandler) VirtualProxy.getIndirectionHandler((VirtualProxy) objectOrProxy);
  -            return handler.getIdentity().getObjectsClass();
  +            return handler.getIdentity().getObjectsTopLevelClass();
           }
           else
           {
  
  
  
  1.20      +25 -12    db-ojb/src/java/org/apache/ojb/broker/Identity.java
  
  Index: Identity.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/Identity.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- Identity.java	2 Jun 2003 12:52:29 -0000	1.19
  +++ Identity.java	12 Jun 2003 16:49:16 -0000	1.20
  @@ -87,7 +87,7 @@
        * the Class of the identified object<br>
        * ie: an Interface
        */
  -    private Class objectsClass;
  +    private Class objectsTopLevelClass;
   
       /**
        * the real Class of the identified object<br>
  @@ -125,7 +125,7 @@
        */
       public Identity(Class aClass, Object[] pkValues)
       {
  -        this.objectsClass = aClass;
  +        this.objectsTopLevelClass = aClass;
           this.pkValues = pkValues;
           checkForPrimaryKeys();
       }
  @@ -137,7 +137,7 @@
        */
       public Identity(Class realClass, Class topLevel, Object[] pkValues)
       {
  -        this.objectsClass = topLevel;
  +        this.objectsTopLevelClass = topLevel;
           this.objectsRealClass = realClass;
           this.pkValues = pkValues;
           checkForPrimaryKeys();
  @@ -162,7 +162,7 @@
               {
                   VirtualProxy p = (VirtualProxy) objectToIdentitify;
                   Identity sourceOID = p.getIdentity();
  -                this.objectsClass = sourceOID.objectsClass;
  +                this.objectsTopLevelClass = sourceOID.objectsTopLevelClass;
                   this.objectsRealClass = sourceOID.objectsRealClass;
                   this.pkValues = sourceOID.pkValues;
               }
  @@ -173,7 +173,7 @@
                   // IndirectionHandler ih = (IndirectionHandler) h;
                   IndirectionHandler ih = (IndirectionHandler) Proxy.getInvocationHandler((Proxy) objectToIdentitify);
                   Identity sourceOID = ih.getIdentity();
  -                this.objectsClass = sourceOID.objectsClass;
  +                this.objectsTopLevelClass = sourceOID.objectsTopLevelClass;
                   this.objectsRealClass = sourceOID.objectsRealClass;
                   this.pkValues = sourceOID.pkValues;
               }
  @@ -181,7 +181,7 @@
               {
                   if (cld == null) cld = targetBroker.getClassDescriptor(objectToIdentitify.getClass());
                   // identities must be unique accross extents !
  -                this.objectsClass = targetBroker.getTopLevelClass(objectToIdentitify.getClass());
  +                this.objectsTopLevelClass = targetBroker.getTopLevelClass(objectToIdentitify.getClass());
                   this.objectsRealClass = objectToIdentitify.getClass();
   
                   // BRJ: definitely do NOT convertToSql
  @@ -226,10 +226,23 @@
       /**
        * return the Class of the real subject
        * @return java.lang.Class
  +     * @deprecated use {@link #getObjectTopLevelClass} instead
        */
       public Class getObjectsClass()
       {
  -        return objectsClass;
  +        return objectsTopLevelClass;
  +    }
  +
  +    /**
  +     * return the top-level class of the real
  +     * subject (means class name of a base class,
  +     * base interface denoted in the repository or
  +     * objects real class name if none top-level was found)
  +     *
  +     */
  +    public Class getObjectsTopLevelClass()
  +    {
  +        return objectsTopLevelClass;
       }
   
       /**
  @@ -286,7 +299,7 @@
           if (stringRepresentation == null)
           {
               StringBuffer buf = new StringBuffer();
  -            buf.append(objectsClass.getName());
  +            buf.append(objectsTopLevelClass.getName());
               for (int i = 0; i < pkValues.length; i++)
               {
                   buf.append((i == 0) ? "{" : ",");
  @@ -312,7 +325,7 @@
           {
               throw new ClassNotPersistenceCapableException(
                       "OJB needs at least one primary key attribute for class " +
  -                    "objectClass=" + this.objectsClass + ", objectRealClass=" + this.objectsRealClass);
  +                    "objectClass=" + this.objectsTopLevelClass + ", objectsRealClass=" + this.objectsRealClass);
           }
       }
   
  @@ -339,7 +352,7 @@
           {
               Identity id = (Identity) o;
               Object otherPkValues[] = id.getPrimaryKeyValues();
  -            result = this.getObjectsClass().equals(id.getObjectsClass());
  +            result = this.getObjectsTopLevelClass().equals(id.getObjectsTopLevelClass());
               result = result && (pkValues.length == otherPkValues.length);
               for (int i = 0; result && i < pkValues.length; i++)
               {
  @@ -369,7 +382,7 @@
           // we could note hashCode
           if(hashCode == null)
           {
  -            int result = this.getObjectsClass().hashCode();
  +            int result = this.getObjectsTopLevelClass().hashCode();
   
               for (int i = 0; i < pkValues.length; i++)
               {
  
  
  
  1.7       +6 -6      db-ojb/src/java/org/apache/ojb/otm/lock/IsolationFactory.java
  
  Index: IsolationFactory.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/otm/lock/IsolationFactory.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- IsolationFactory.java	9 Jun 2003 18:55:26 -0000	1.6
  +++ IsolationFactory.java	12 Jun 2003 16:49:16 -0000	1.7
  @@ -91,7 +91,7 @@
       public static TransactionIsolation getIsolationLevel (PersistenceBroker pb,
                                                             ObjectLock lock)
       {
  -        Class clazz = lock.getTargetIdentity().getObjectsClass();
  +        Class clazz = lock.getTargetIdentity().getObjectsTopLevelClass();
           ClassDescriptor classDescriptor = pb.getClassDescriptor(clazz);
           int isolationLevel = classDescriptor.getIsolationLevel();
   
  @@ -101,24 +101,24 @@
               case IsolationLevels.IL_READ_UNCOMMITTED:
                   isolation = READ_UNCOMMITTED_ISOLATION;
                   break;
  -                
  +
               case IsolationLevels.IL_READ_COMMITTED:
                   isolation = READ_UNCOMMITTED_ISOLATION;
                   break;
  -            
  +
               case IsolationLevels.IL_REPEATABLE_READ:
                   isolation = REPEATABLE_READ_ISOLATION;
                   break;
  -                
  +
               case IsolationLevels.IL_SERIALIZABLE:
                   isolation = SERIALIZABLE_ISOLATION;
                   break;
  -                
  +
               default:
                   throw new UnknownIsolationException(
                       "Isolation level " + isolationLevel + " is not supported");
           }
  -        
  +
           return isolation;
       }