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