Ralf,
Have a look at the followig rough idea ...
Index: src/main/java/org/exolab/castor/jdo/JDOManager.java
=================================================================== ---
src/main/java/org/exolab/castor/jdo/JDOManager.java (Revision 6868)
+++ src/main/java/org/exolab/castor/jdo/JDOManager.java (Arbeitskopie)
@@ -70,6 +70,7 @@ import org.castor.jdo.conf.JdoConf;
import org.castor.jdo.engine.AbstractConnectionFactory;
import org.castor.jdo.engine.ConnectionFactory;
+import org.castor.jdo.engine.DataSourceConnectionFactory;
import org.castor.jdo.engine.DatabaseRegistry;
import org.castor.transactionmanager.LocalTransactionManager;
import org.castor.util.Messages;
@@ -882,6 +883,22 @@ LOG.fatal ("Problem closing down
caches", e);
}
}
+
+ /**
+ * Returns the JDBC [EMAIL PROTECTED] DataSource} used internally by this
Castor [EMAIL PROTECTED] JDOManager}
+ * instance; null, if this Castor JDOManager instance does not use
a JDBC
+ * [EMAIL PROTECTED] DataSource}.
+ * @return the JDBC [EMAIL PROTECTED] DataSource} used internally; null
otherwise.
+ * @throws MappingException If there#s a problem loading the JDO
configuration.
+ */
+ public DataSource getDataSource() throws MappingException {
+ AbstractConnectionFactory factory =
+ DatabaseRegistry.getConnectionFactory(_databaseName);
+ if (factory instanceof DataSourceConnectionFactory) {
+ return ((DataSourceConnectionFactory)
factory).getDataSource();
+ }
+ return null;
+ }
//----------------------------------------------------------------------
----
}
Index:
src/main/java/org/castor/jdo/engine/DataSourceConnectionFactory.java
=================================================================== ---
src/main/java/org/castor/jdo/engine/DataSourceConnectionFactory.java
(Revision 6868) +++
src/main/java/org/castor/jdo/engine/DataSourceConnectionFactory.java
(Arbeitskopie) @@ -230,6 +230,14 @@ return
ConnectionProxyFactory.newConnectionProxy(
_dataSource.getConnection(), getClass().getName());
}
+
+ /**
+ * Returns the JDBC [EMAIL PROTECTED] DataSource} instance used by this
connection factory.
+ * @return the JDBC [EMAIL PROTECTED] DataSource} instance currently used.
+ */
+ public DataSource getDataSource() {
+ return _dataSource;
+ }
//----------------------------------------------------------------------
----
}
To introduce a new getDataSource() method on JDOManager. I have not
given any though on the return value, or whether an exception should be
thrown, though.
Werner
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email