You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/07/01 20:16:28 UTC
svn commit: r673159 -
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
Author: aadamchik
Date: Tue Jul 1 11:16:28 2008
New Revision: 673159
URL: http://svn.apache.org/viewvc?rev=673159&view=rev
Log:
a more paranoid implementation of class loading..
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java?rev=673159&r1=673158&r2=673159&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/conn/DataSourceInfo.java Tue Jul 1 11:16:28 2008
@@ -21,6 +21,7 @@
import java.io.Serializable;
+import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.conf.PasswordEncoding;
import org.apache.cayenne.conf.PlainTextPasswordEncoder;
import org.apache.cayenne.util.Util;
@@ -37,8 +38,9 @@
* @author Andrus Adamchik
*/
public class DataSourceInfo implements Cloneable, Serializable {
+
private static Log logger = LogFactory.getLog(DataSourceInfo.class);
-
+
protected String userName;
protected String password;
protected String jdbcDriver;
@@ -204,22 +206,19 @@
}
public PasswordEncoding getPasswordEncoder() {
- PasswordEncoding encoder = null;
+ String encoderClassName = getPasswordEncoderClass();
+ if (encoderClassName == null) {
+ encoderClassName = PasswordEncoding.standardEncoders[0];
+ }
try {
- encoder = (PasswordEncoding) Thread
- .currentThread()
- .getContextClassLoader()
- .loadClass(getPasswordEncoderClass())
+ return (PasswordEncoding) Util
+ .getJavaClass(getPasswordEncoderClass())
.newInstance();
- // encoder = (PasswordEncoding)
- // Class.forName(getPasswordEncoderClass()).newInstance();
}
- catch (Exception exception) {
- logger.warn(exception);
+ catch (Exception e) {
+ throw new CayenneRuntimeException("Error loading encoder", e);
}
-
- return encoder;
}
/**