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/01/09 18:11:48 UTC

cvs commit: jakarta-ojb/src/java/org/apache/ojb/broker Identity.java PersistenceBroker.java PersistenceBrokerFactory.java

arminw      2003/01/09 09:11:48

  Modified:    src/java/org/apache/ojb/broker Identity.java
                        PersistenceBroker.java
                        PersistenceBrokerFactory.java
  Log:
  - rename DescriptorRepository#getExtentClass
  to #getTopLevelClass, deprecate PB#getExtentClass
  and add PB#getTopLevelClass
  
  Revision  Changes    Path
  1.12      +20 -21    jakarta-ojb/src/java/org/apache/ojb/broker/Identity.java
  
  Index: Identity.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/Identity.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- Identity.java	1 Jan 2003 19:21:44 -0000	1.11
  +++ Identity.java	9 Jan 2003 17:11:48 -0000	1.12
  @@ -54,17 +54,18 @@
    * <http://www.apache.org/>.
    */
   
  +import org.apache.ojb.broker.accesslayer.IndirectionHandler;
  +import org.apache.ojb.broker.metadata.ClassDescriptor;
  +import org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException;
  +
   import java.io.ByteArrayInputStream;
   import java.io.ByteArrayOutputStream;
   import java.io.ObjectInputStream;
   import java.io.ObjectOutputStream;
  +import java.io.Serializable;
   import java.util.zip.GZIPInputStream;
   import java.util.zip.GZIPOutputStream;
   
  -import org.apache.ojb.broker.accesslayer.IndirectionHandler;
  -import org.apache.ojb.broker.metadata.ClassDescriptor;
  -import org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException;
  -
   //#ifdef JDK13
   import java.lang.reflect.InvocationHandler;
   import java.lang.reflect.Proxy;
  @@ -82,7 +83,7 @@
    * @author <a href="mailto:thma@apache.org">Thomas Mahler<a>
    * @version $Id$
    */
  -public class Identity implements java.io.Serializable
  +public class Identity implements Serializable
   {
       /**
        * the Class of the identified object<br>
  @@ -150,10 +151,10 @@
           }
           finally
           {
  -        	if (broker != null)
  -        	{
  -            	broker.close();
  -        	}
  +            if (broker != null)
  +            {
  +                broker.close();
  +            }
           }
       }
   
  @@ -187,9 +188,9 @@
               }
               else
               {
  -                if(cld == null) cld = targetBroker.getClassDescriptor(objectToIdentitify.getClass());
  +                if (cld == null) cld = targetBroker.getClassDescriptor(objectToIdentitify.getClass());
                   // identities must be unique accross extents !
  -                this.objectsClass = targetBroker.getExtentClass(objectToIdentitify.getClass());
  +                this.objectsClass = targetBroker.getTopLevelClass(objectToIdentitify.getClass());
                   this.objectsRealClass = objectToIdentitify.getClass();
                   this.pkValues = targetBroker.serviceBrokerHelper().getKeyValues(cld, objectToIdentitify);
               }
  @@ -291,7 +292,7 @@
           if (stringRepresentation == null)
           {
               StringBuffer buf = new StringBuffer();
  -	    buf.append(objectsClass.getName());
  +            buf.append(objectsClass.getName());
               for (int i = 0; i < pkValues.length; i++)
               {
                   buf.append((i == 0) ? "{" : ",");
  @@ -304,8 +305,6 @@
       }
   
   
  -
  -
       /**
        * OJB can handle only classes that declare at least one primary key attribute,
        * this method checks this condition.
  @@ -315,12 +314,12 @@
       protected void checkForPrimaryKeys() throws ClassNotPersistenceCapableException
       {
           // if no PKs are specified OJB can't handle this class !
  -     	if (this.pkValues.length == 0)
  -     	{
  -     	 	throw new ClassNotPersistenceCapableException(
  -            	"OJB needs at least one primary key attribute for class " +
  -            	this.objectsClass + " / " + this.objectsRealClass);
  -     	}
  +        if (this.pkValues.length == 0)
  +        {
  +            throw new ClassNotPersistenceCapableException(
  +                    "OJB needs at least one primary key attribute for class " +
  +                    "objectClass=" + this.objectsClass + ", objectRealClass=" + this.objectsRealClass);
  +        }
       }
   
       /**
  
  
  
  1.16      +16 -5     jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBroker.java
  
  Index: PersistenceBroker.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBroker.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- PersistenceBroker.java	28 Dec 2002 10:47:10 -0000	1.15
  +++ PersistenceBroker.java	9 Jan 2003 17:11:48 -0000	1.16
  @@ -158,6 +158,7 @@
       // *************************************************************************
       // Transaction and instance handling stuff
       // *************************************************************************
  +
       /**
        * Abort and close the transaction.
        * Calling abort abandons all persistent object modifications and releases the
  @@ -239,14 +240,24 @@
       public boolean hasClassDescriptor(Class clazz);
   
       /**
  -     * returnsthe Extent to which the class clazz belongs.
  -     * This may be a baseclass,an interface or clazz itself, if no Extent
  -     * is defined.
  -     * throws a PersistenceBrokerException if clazz is not persistence capable,
  +     * Returns the top level (extent) class to which the given class belongs.
  +     * This may be a (abstract) base-class, an interface or the given class itself, if
  +     * no extent is defined.
  +     * @throws PersistenceBrokerException if clazz is not persistence capable,
        * i.e. if clazz is not defined in the DescriptorRepository.
  +     *
  +     * @deprecated use {@link #getTopLevelClass} instead
        */
       public Class getExtentClass(Class clazz) throws PersistenceBrokerException;
   
  +    /**
  +     * Returns the top level (extent) class to which the given class belongs.
  +     * This may be a (abstract) base-class, an interface or the given class itself, if
  +     * no extent is defined.
  +     * @throws PersistenceBrokerException if clazz is not persistence capable,
  +     * i.e. if clazz is not defined in the DescriptorRepository.
  +     */
  +    public Class getTopLevelClass(Class clazz) throws PersistenceBrokerException;
   
   
   
  
  
  
  1.16      +3 -3      jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBrokerFactory.java
  
  Index: PersistenceBrokerFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/src/java/org/apache/ojb/broker/PersistenceBrokerFactory.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- PersistenceBrokerFactory.java	24 Dec 2002 13:31:58 -0000	1.15
  +++ PersistenceBrokerFactory.java	9 Jan 2003 17:11:48 -0000	1.16
  @@ -80,7 +80,7 @@
        * Set the default PersistenceBroker (e.g. used within OJB
        * to find OJB internal tables)
        */
  -    public void setDefaultKey(PBKey key)
  +    public static void setDefaultKey(PBKey key)
       {
           PersistenceBrokerFactoryFactory.instance().setDefaultKey(key);
       }
  @@ -89,7 +89,7 @@
        * Get the default PersistenceBroker (e.g. used within OJB
        * to find OJB internal tables)
        */
  -    public PBKey getDefaultKey()
  +    public static PBKey getDefaultKey()
       {
           return PersistenceBrokerFactoryFactory.instance().getDefaultKey();
       }