Author: aadamchik
Date: Sun Dec 24 09:14:06 2006
New Revision: 490048
URL: http://svn.apache.org/viewvc?view=rev&rev=490048
Log:
CAY-642: Add support for encrypted JDBC passwords
(fixing build errors)
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/ConfigSaver.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/DriverDataSourceFactory.java
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/conf/ConfigSaverTest.java
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/ConfigSaver.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/ConfigSaver.java?view=diff&rev=490048&r1=490047&r2=490048
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/ConfigSaver.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/ConfigSaver.java
Sun Dec 24 09:14:06 2006
@@ -186,42 +186,43 @@
if (info.getUserName() != null) {
pw.print("\t<login" + attribute("userName", info.getUserName()));
+ }
- if
(info.getPasswordLocation().equals(DataSourceInfo.PASSWORD_LOCATION_MODEL)) {
+ if
(info.getPasswordLocation().equals(DataSourceInfo.PASSWORD_LOCATION_MODEL)) {
+ PasswordEncoding encoder = info.getPasswordEncoder();
+ if (encoder != null)
+ pw.print(attribute("password", encoder.encodePassword(
+ info.getPassword(),
+ info.getPasswordEncoderSalt())));
+ }
+ else if (info.getPasswordLocation().equals(
+ DataSourceInfo.PASSWORD_LOCATION_CLASSPATH)) {
+ if (info.getPasswordSource() != null) {
+ File passwordFile = new File(project.getProjectDirectory()
+ + File.separator
+ + info.getPasswordSource());
PasswordEncoding encoder = info.getPasswordEncoder();
- if (encoder != null)
- pw.print(attribute("password", encoder.encodePassword(info
- .getPassword(), info.getPasswordEncoderSalt())));
- }
- else if (info.getPasswordLocation().equals(
- DataSourceInfo.PASSWORD_LOCATION_CLASSPATH)) {
- if (info.getPasswordSource() != null) {
- File passwordFile = new File(project.getProjectDirectory()
- + File.separator
- + info.getPasswordSource());
- PasswordEncoding encoder = info.getPasswordEncoder();
- if (encoder != null && passwordFile != null) {
- try {
- PrintStream out = new PrintStream(new
FileOutputStream(
- passwordFile));
-
out.print(encoder.encodePassword(info.getPassword(), info
- .getPasswordEncoderSalt()));
- out.close();
- }
- catch (FileNotFoundException exception) {
- // TODO Auto-generated catch block
- exception.printStackTrace();
- }
+ if (encoder != null && passwordFile != null) {
+ try {
+ PrintStream out = new PrintStream(new FileOutputStream(
+ passwordFile));
+ out.print(encoder.encodePassword(info.getPassword(),
info
+ .getPasswordEncoderSalt()));
+ out.close();
+ }
+ catch (FileNotFoundException exception) {
+ // TODO Auto-generated catch block
+ exception.printStackTrace();
}
}
}
-
- pw.println(attribute("encoderClass",
info.getPasswordEncoderClass())
- + attribute("encoderSalt", info.getPasswordEncoderSalt())
- + attribute("passwordLocation", info.getPasswordLocation())
- + attribute("passwordSource", info.getPasswordSource())
- + "/>");
}
+
+ pw.println(attribute("encoderClass", info.getPasswordEncoderClass())
+ + attribute("encoderSalt", info.getPasswordEncoderSalt())
+ + attribute("passwordLocation", info.getPasswordLocation())
+ + attribute("passwordSource", info.getPasswordSource())
+ + "/>");
pw.println("</driver>");
}
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/DriverDataSourceFactory.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/DriverDataSourceFactory.java?view=diff&rev=490048&r1=490047&r2=490048
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/DriverDataSourceFactory.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/conf/DriverDataSourceFactory.java
Sun Dec 24 09:14:06 2006
@@ -307,13 +307,14 @@
// Replace {} in passwordSource with encoderSalt -- useful for
EXECUTABLE &
// URL options
- if (encoderSalt != null)
- passwordSource = passwordSource.replace("\\{\\}", encoderSalt);
+ if (encoderSalt != null) {
+ passwordSource = passwordSource.replaceAll("\\{\\}",
encoderSalt);
+ }
PasswordEncoding passwordEncoder = driverInfo.getPasswordEncoder();
if (passwordLocation != null) // New style model (v1.2), process
extra
- // locations
+ // locations
{
if
(passwordLocation.equals(DataSourceInfo.PASSWORD_LOCATION_CLASSPATH)) {
URL url =
parentConfiguration.getResourceLocator().findResource(
Modified:
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/conf/ConfigSaverTest.java
URL:
http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/conf/ConfigSaverTest.java?view=diff&rev=490048&r1=490047&r2=490048
==============================================================================
---
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/conf/ConfigSaverTest.java
(original)
+++
incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/test/java/org/apache/cayenne/conf/ConfigSaverTest.java
Sun Dec 24 09:14:06 2006
@@ -73,7 +73,7 @@
StringWriter str = new StringWriter();
PrintWriter out = new PrintWriter(str);
- saver.storeDataNode(out, info);
+ saver.storeDataNode(out, null, info);
out.close();
str.close();