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 to...@apache.org on 2004/12/05 18:45:00 UTC

cvs commit: db-ojb/src/jdori/org/apache/ojb/jdori/sql OjbStorePMF.java OjbStoreManager.java OjbStoreConnector.java

tomdz       2004/12/05 09:45:00

  Modified:    src/jdori/org/apache/ojb/jdori/sql OjbStorePMF.java
                        OjbStoreManager.java OjbStoreConnector.java
  Log:
  Made JDO impl independent from the PersistenceBrokerFactory
  
  Revision  Changes    Path
  1.6       +17 -1     db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStorePMF.java
  
  Index: OjbStorePMF.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStorePMF.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- OjbStorePMF.java	5 Apr 2004 00:18:36 -0000	1.5
  +++ OjbStorePMF.java	5 Dec 2004 17:45:00 -0000	1.6
  @@ -22,6 +22,8 @@
   import javax.jdo.spi.PersistenceCapable;
   
   import org.apache.ojb.broker.Identity;
  +import org.apache.ojb.broker.OJB;
  +import org.apache.ojb.broker.PersistenceConfiguration;
   
   import com.sun.jdori.StoreManager;
   import com.sun.jdori.TranscriberFactory;
  @@ -41,6 +43,9 @@
       
       private static final OjbStorePMF INSTANCE = new OjbStorePMF();
   
  +    private OJB ojb;
  +    private PersistenceConfiguration persistenceConf;
  +    
   	public static OjbStorePMF getInstance()
   	{
   		return INSTANCE;
  @@ -52,6 +57,8 @@
       public OjbStorePMF()
       {
           super();
  +        ojb = new OJB();
  +        persistenceConf = ojb.getConfiguration(null);
       }
   
       /**
  @@ -64,6 +71,8 @@
       public OjbStorePMF(String URL, String userName, String password, String driverName)
       {
           super(URL, userName, password, driverName);
  +        ojb = new OJB();
  +        persistenceConf = ojb.getConfiguration(null);
       }
   
       private static HashMap getTrackedClasses()
  @@ -259,7 +268,7 @@
               result = (OjbStoreManager) storeManagers.get(pm);
               if (null == result)
               {
  -                result = new OjbStoreManager(this);
  +                result = new OjbStoreManager(persistenceConf);
                   storeManagers.put(pm, result);
               }
           }
  @@ -301,4 +310,11 @@
           return (Class) trackedClassesMap.get(type);
       }
   
  +    /**
  +     * Helper method to clear the chache.
  +     */
  +    public void clearCache()
  +    {
  +        persistenceConf.createPersistenceBroker().clearCache();
  +    }
   }
  
  
  
  1.9       +3 -4      db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStoreManager.java
  
  Index: OjbStoreManager.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStoreManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- OjbStoreManager.java	5 Apr 2004 00:18:36 -0000	1.8
  +++ OjbStoreManager.java	5 Dec 2004 17:45:00 -0000	1.9
  @@ -24,6 +24,7 @@
   
   import org.apache.ojb.broker.Identity;
   import org.apache.ojb.broker.PersistenceBroker;
  +import org.apache.ojb.broker.PersistenceConfiguration;
   import org.apache.ojb.broker.util.ObjectModificationDefaultImpl;
   import org.apache.ojb.broker.util.logging.Logger;
   import org.apache.ojb.broker.util.logging.LoggerFactory;
  @@ -48,7 +49,6 @@
    */
   class OjbStoreManager implements StoreManager
   {
  -    private final OjbStorePMF pmf;
       private final OjbStoreConnector connector;
   
       private boolean optimistic;
  @@ -56,10 +56,9 @@
       /** the logger used for debugging*/
       private Logger logger = LoggerFactory.getLogger("JDO");
       
  -    OjbStoreManager(OjbStorePMF pmf)
  +    OjbStoreManager(PersistenceConfiguration persistenceConf)
       {
  -        this.pmf = pmf;
  -        this.connector = new OjbStoreConnector(pmf);
  +        this.connector = new OjbStoreConnector(persistenceConf);
       }
   
   
  
  
  
  1.5       +10 -19    db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStoreConnector.java
  
  Index: OjbStoreConnector.java
  ===================================================================
  RCS file: /home/cvs/db-ojb/src/jdori/org/apache/ojb/jdori/sql/OjbStoreConnector.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- OjbStoreConnector.java	5 Apr 2004 00:18:36 -0000	1.4
  +++ OjbStoreConnector.java	5 Dec 2004 17:45:00 -0000	1.5
  @@ -18,7 +18,7 @@
   import javax.jdo.JDOUserException;
   
   import org.apache.ojb.broker.PersistenceBroker;
  -import org.apache.ojb.broker.PersistenceBrokerFactory;
  +import org.apache.ojb.broker.PersistenceConfiguration;
   import org.apache.ojb.broker.util.logging.Logger;
   import org.apache.ojb.broker.util.logging.LoggerFactory;
   
  @@ -31,24 +31,15 @@
    */
   class OjbStoreConnector implements Connector
   {
  -    /** 
  -     * rollback only flag
  -	 */
  +    /** rollback only flag */
       private boolean rollbackOnlyFlag = false;
   
  -    /**
  -     * Datasource to which this Connector writes its Message.
  -     */
  -    private final OjbStorePMF pmf;
  +    /** The persistence configuration */
  +    private PersistenceConfiguration persistenceConf;
  +    /** The broker represents the backend store */
  +    private PersistenceBroker broker = null;
   
  -    /**
  -     * broker represents the backend store.
  -     */
  -    PersistenceBroker broker = null;
  -
  -    /**
  -     * if true underlying connection can be released
  -     */
  +    /** if true underlying connection can be released */
       private boolean connectionReadyForRelease = true;
   
       /**
  @@ -56,9 +47,9 @@
        */
       private Logger logger = LoggerFactory.getLogger("JDO");
   
  -    OjbStoreConnector(OjbStorePMF pmf)
  +    OjbStoreConnector(PersistenceConfiguration persistenceConf)
       {
  -        this.pmf = pmf;
  +        this.persistenceConf = persistenceConf;
       }
   
   
  @@ -73,7 +64,7 @@
           logger.debug("OjbStoreConnector.begin: connectionReadyForRelease=" + connectionReadyForRelease);
   
           // obtain a fresh broker and open a tx on it 
  -        broker = PersistenceBrokerFactory.defaultPersistenceBroker();
  +        broker = persistenceConf.createPersistenceBroker();
           broker.beginTransaction();
       }
   
  
  
  

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