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

Reply via email to