Author: rmannibucau
Date: Mon Sep 10 06:46:55 2012
New Revision: 1382657
URL: http://svn.apache.org/viewvc?rev=1382657&view=rev
Log:
TOMEE-407 better handling of user prop (with correct protocol) + ability to use
default session
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java?rev=1382657&r1=1382656&r2=1382657&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/core/MailSessionFactory.java
Mon Sep 10 06:46:55 2012
@@ -24,13 +24,16 @@ import java.util.Properties;
public class MailSessionFactory {
private final Properties properties = new Properties();
+ private boolean useDefault = false;
public Session create() {
final String password = properties.getProperty("password");
Authenticator auth = null;
if (password != null) {
- String user = properties.getProperty("mail.smtp.user");
+ final String protocol =
properties.getProperty("mail.transport.protocol", "smtp");
+
+ String user = properties.getProperty("mail." + protocol + ".user");
if(user == null) {
user = properties.getProperty("mail.user");
}
@@ -45,7 +48,17 @@ public class MailSessionFactory {
}
}
- return Session.getInstance(properties, auth);
+ if (useDefault) {
+ if (auth != null) {
+ return Session.getDefaultInstance(properties, auth);
+ }
+ return Session.getDefaultInstance(properties);
+ }
+
+ if (auth != null) {
+ return Session.getInstance(properties, auth);
+ }
+ return Session.getInstance(properties);
}
public Properties getProperties() {
@@ -60,4 +73,8 @@ public class MailSessionFactory {
}
}
}
+
+ public void setUseDefault(boolean useDefault) {
+ this.useDefault = useDefault;
+ }
}