You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by dl...@apache.org on 2005/09/11 17:55:17 UTC
svn commit: r280147 - in
/portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb:
ConnectionManagerImpl.java ConnectionRepositoryEntry.java
Author: dlestrat
Date: Sun Sep 11 08:55:15 2005
New Revision: 280147
URL: http://svn.apache.org/viewcvs?rev=280147&view=rev
Log:
Apply latest patch from Michael:
http://issues.apache.org/jira/browse/JS2-326#action_12323144
Keep them coming ;)
Modified:
portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionManagerImpl.java
portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionRepositoryEntry.java
Modified: portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionManagerImpl.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionManagerImpl.java?rev=280147&r1=280146&r2=280147&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionManagerImpl.java (original)
+++ portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionManagerImpl.java Sun Sep 11 08:55:15 2005
@@ -86,17 +86,25 @@
{
try
{
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- connectionFactory = (ConnectionFactory)
- ClassHelper.newInstance (cpd.getConnectionFactory(), true);
- connectionFactories.put(cpd.getConnectionFactory(), connectionFactory);
+ if (Boolean.getBoolean(this.jcd.getAttribute("org.apache.jetspeed.engineScoped", "false"))) {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
+ connectionFactory = (ConnectionFactory)
+ ClassHelper.newInstance (cpd.getConnectionFactory(), true);
+ connectionFactories.put(cpd.getConnectionFactory(), connectionFactory);
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(cl);
+ connectionFactories.put(cpd.getConnectionFactory(), connectionFactory);
+ }
}
- finally
+ else
{
- Thread.currentThread().setContextClassLoader(cl);
+ connectionFactory = (ConnectionFactory)
+ ClassHelper.newInstance (cpd.getConnectionFactory(), true);
}
}
catch (InstantiationException e)
@@ -172,15 +180,21 @@
}
if (con == null)
{
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- try
- {
- Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
- con = this.connectionFactory.lookupConnection(jcd);
+ if (Boolean.getBoolean(this.jcd.getAttribute("org.apache.jetspeed.engineScoped", "false"))) {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
+ con = this.connectionFactory.lookupConnection(jcd);
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(cl);
+ }
}
- finally
+ else
{
- Thread.currentThread().setContextClassLoader(cl);
+ con = this.connectionFactory.lookupConnection(jcd);
}
if (con == null) throw new PersistenceBrokerException("Cannot get connection for " + jcd);
Modified: portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionRepositoryEntry.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionRepositoryEntry.java?rev=280147&r1=280146&r2=280147&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionRepositoryEntry.java (original)
+++ portals/jetspeed-2/trunk/components/rdbms/src/java/org/apache/jetspeed/components/rdbms/ojb/ConnectionRepositoryEntry.java Sun Sep 11 08:55:15 2005
@@ -94,6 +94,7 @@
private String url = null;
private String username = null;
private String password = null;
+ private boolean jetspeedEngineScoped = true;
/**
* @see org.springframework.beans.factory.BeanNameAware#setBeanName(java.lang.String)
@@ -206,6 +207,26 @@
this.platform = platform;
}
+ /**
+ * @see setJetspeedEngineScoped
+ * @return Returns if Jetspeed engine's ENC is used for JNDI lookups.
+ */
+ public boolean isJetspeedEngineScoped() {
+ return jetspeedEngineScoped;
+ }
+
+ /**
+ * Sets the attribute "<code>org.apache.jetspeed.engineScoped</code>"
+ * of the JDBC connection descriptor to "<code>true</code>" or
+ * "<code>false</code>". If set, JNDI lookups of the connection will
+ * be done using the environment naming context (ENC) of the Jetspeed
+ * engine.
+ * @param jetspeedEngineScoped whether to use Jetspeed engine's ENC.
+ */
+ public void setJetspeedEngineScoped(boolean jetspeedEngineScoped) {
+ this.jetspeedEngineScoped = jetspeedEngineScoped;
+ }
+
public void afterPropertiesSet () throws Exception
{
// Try to find JCD
@@ -275,6 +296,10 @@
} else {
platform = jcd.getDbms();
}
+
+ // special attributes
+ jcd.addAttribute("org.apache.jetspeed.engineScoped",
+ Boolean.toString(jetspeedEngineScoped));
}
/**
@@ -414,4 +439,5 @@
public void setLogWriter(PrintWriter out) throws SQLException {
}
}
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org