You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by va...@apache.org on 2008/03/27 13:38:46 UTC
svn commit: r641794 -
/geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java
Author: vamsic007
Date: Thu Mar 27 05:38:44 2008
New Revision: 641794
URL: http://svn.apache.org/viewvc?rev=641794&view=rev
Log:
GERONIMO-3875 Enabling authentication for Derby renders DB Viewer portlet unusable for all db's except SystemDatabase
o Enables using DB portlet for databases with connection pools defined.
Modified:
geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java
Modified: geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java?rev=641794&r1=641793&r2=641794&view=diff
==============================================================================
--- geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java (original)
+++ geronimo/server/branches/2.1/plugins/system-database/sysdb-portlets/src/main/java/org/apache/geronimo/console/internaldb/DerbyConnectionUtil.java Thu Mar 27 05:38:44 2008
@@ -26,11 +26,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.console.util.KernelManagementHelper;
+import org.apache.geronimo.console.util.ManagementHelper;
import org.apache.geronimo.derby.DerbySystemGBean;
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.kernel.KernelRegistry;
import org.apache.geronimo.management.JCAManagedConnectionFactory;
+import org.apache.geronimo.management.geronimo.ResourceAdapterModule;
/**
* A static class to handle retreiving connections. This class is built to
@@ -183,6 +188,25 @@
} catch (Exception e) {
log.error("Problem getting datasource " + dbName, e);
}
+
+ Kernel kernel = KernelRegistry.getSingleKernel();
+ ManagementHelper helper = new KernelManagementHelper(kernel);
+ ResourceAdapterModule[] modules = helper.getOutboundRAModules(helper.getDomains()[0].getServerInstances()[0], "javax.sql.DataSource");
+ for (ResourceAdapterModule module : modules) {
+ org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory[] databases = helper.getOutboundFactories(module, "javax.sql.DataSource");
+ for (org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory db : databases) {
+ try {
+ Object databaseName = db.getConfigProperty("DatabaseName");
+ if(dbName.equalsIgnoreCase((String) databaseName)) {
+ AbstractName tempDbName = helper.getNameFor(db);
+ return (DataSource) KernelRegistry.getSingleKernel().invoke(
+ tempDbName, "$getResource");
+ }
+ } catch (Exception ignored) {
+ }
+ }
+ }
+
return null;
}