[jbpm-commits] JBoss JBPM SVN: r6666 - in jbpm3/branches/jbpm-3.2-soa: core/src/main/resources/org/jbpm and 3 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Sep 22 20:33:35 EDT 2010
Author: alex.guizar at jboss.com
Date: 2010-09-22 20:33:34 -0400 (Wed, 22 Sep 2010)
New Revision: 6666
Modified:
jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/mail/Mail.java
jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/mail/MailTest.java
jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/mail/test.mail.properties
jbpm3/branches/jbpm-3.2-soa/examples/src/test/java/org/jbpm/examples/mail/MailTest.java
Log:
JBPM-2905 ensure "from" attribute is set in outgoing email
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/mail/Mail.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/mail/Mail.java 2010-09-22 09:18:35 UTC (rev 6665)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/mail/Mail.java 2010-09-23 00:33:34 UTC (rev 6666)
@@ -22,7 +22,7 @@
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Element;
-import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmConfiguration.Configs;
import org.jbpm.JbpmException;
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
@@ -93,8 +93,8 @@
List recipients = new ArrayList();
if (bccActors != null) recipients.addAll(evaluateActors(bccActors));
if (bcc != null) recipients.addAll(evaluateAddresses(bcc));
- if (JbpmConfiguration.Configs.hasObject("jbpm.mail.bcc.address")) {
- recipients.addAll(tokenize(JbpmConfiguration.Configs.getString("jbpm.mail.bcc.address")));
+ if (Configs.hasObject("jbpm.mail.bcc.address")) {
+ recipients.addAll(tokenize(Configs.getString("jbpm.mail.bcc.address")));
}
return recipients;
}
@@ -121,7 +121,7 @@
}
protected Collection resolveAddresses(List actorIds) {
- AddressResolver addressResolver = (AddressResolver) JbpmConfiguration.Configs.getObject("jbpm.mail.address.resolver");
+ AddressResolver addressResolver = (AddressResolver) Configs.getObject("jbpm.mail.address.resolver");
List addresses = new ArrayList();
for (Iterator iter = actorIds.iterator(); iter.hasNext();) {
@@ -176,10 +176,7 @@
}
public String getFromAddress() {
- if (JbpmConfiguration.Configs.hasObject("jbpm.mail.from.address")) {
- return JbpmConfiguration.Configs.getString("jbpm.mail.from.address");
- }
- return "no-reply at jbpm.org";
+ return Configs.getString("jbpm.mail.from.address");
}
public void send() {
@@ -259,6 +256,8 @@
private static void sendMailInternal(Session session, List recipients, List ccRecipients,
List bccRecipients, String subject, String text) throws MessagingException {
MimeMessage message = new MimeMessage(session);
+ // from - specified in the "mail.from" property
+ message.setFrom();
// to
for (Iterator iter = recipients.iterator(); iter.hasNext();) {
InternetAddress recipient = new InternetAddress((String) iter.next());
@@ -291,8 +290,8 @@
private Properties getServerProperties() {
Properties serverProperties;
- if (JbpmConfiguration.Configs.hasObject("resource.mail.properties")) {
- String resource = JbpmConfiguration.Configs.getString("resource.mail.properties");
+ if (Configs.hasObject("resource.mail.properties")) {
+ String resource = Configs.getString("resource.mail.properties");
synchronized (serverPropertiesByResource) {
serverProperties = (Properties) serverPropertiesByResource.get(resource);
if (serverProperties == null) {
@@ -305,13 +304,13 @@
else {
serverProperties = new Properties();
// host
- if (JbpmConfiguration.Configs.hasObject("jbpm.mail.smtp.host")) {
- String smtpHost = JbpmConfiguration.Configs.getString("jbpm.mail.smtp.host");
+ if (Configs.hasObject("jbpm.mail.smtp.host")) {
+ String smtpHost = Configs.getString("jbpm.mail.smtp.host");
serverProperties.setProperty("mail.smtp.host", smtpHost);
}
// port
- if (JbpmConfiguration.Configs.hasObject("jbpm.mail.smtp.port")) {
- int port = JbpmConfiguration.Configs.getInt("jbpm.mail.smtp.port");
+ if (Configs.hasObject("jbpm.mail.smtp.port")) {
+ int port = Configs.getInt("jbpm.mail.smtp.port");
serverProperties.setProperty("mail.smtp.port", Integer.toString(port));
}
// from
@@ -325,7 +324,7 @@
private static final Map templateVariablesByResource = new HashMap();
private static Properties getTemplateProperties(String templateName) {
- String resource = JbpmConfiguration.Configs.getString("resource.mail.templates");
+ String resource = Configs.getString("resource.mail.templates");
synchronized (templatePropertiesByResource) {
Map templateProperties = (Map) templatePropertiesByResource.get(resource);
if (templateProperties == null) {
@@ -337,7 +336,7 @@
}
private static Map getTemplateVariables() {
- String resource = JbpmConfiguration.Configs.getString("resource.mail.templates");
+ String resource = Configs.getString("resource.mail.templates");
synchronized (templateVariablesByResource) {
Map templateVariables = (Map) templateVariablesByResource.get(resource);
if (templateVariables == null) {
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml 2010-09-22 09:18:35 UTC (rev 6665)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml 2010-09-23 00:33:34 UTC (rev 6666)
@@ -76,8 +76,8 @@
<!-- outgoing mail properties
<string name="jbpm.mail.smtp.host" value="localhost" />
<int name="jbpm.mail.smtp.port" value="25" />
+ -->
<string name="jbpm.mail.from.address" value="no-reply at jbpm.org" />
- -->
<bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver"
singleton="true" />
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/mail/MailTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/mail/MailTest.java 2010-09-22 09:18:35 UTC (rev 6665)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/mail/MailTest.java 2010-09-23 00:33:34 UTC (rev 6666)
@@ -4,6 +4,7 @@
import java.util.Arrays;
import java.util.List;
+import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
@@ -357,6 +358,32 @@
assertEquals("your cookies order", email.getContent());
}
+ public void testFrom() throws MessagingException {
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(XML_DECL
+ + "<process-definition>"
+ + " <start-state>"
+ + " <transition to='end'>"
+ + " <mail name='send email' to='long.cat at meme.org'"
+ + " subject='important info' text='longcat iz looooooong' />"
+ + " </transition>"
+ + " </start-state>"
+ + " <end-state name='end' />"
+ + "</process-definition>");
+ ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ processInstance.signal();
+
+ List messages = wiser.getMessages();
+ assertEquals(1, messages.size());
+
+ WiserMessage message = (WiserMessage) messages.get(0);
+ MimeMessage email = message.getMimeMessage();
+
+ Address[] from = email.getFrom();
+ assertEquals(1, from.length);
+ InternetAddress fromAddress = (InternetAddress) from[0];
+ assertEquals("workflow at redhat.com", fromAddress.getAddress());
+ }
+
public static class User {
String email;
Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/mail/test.mail.properties
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/mail/test.mail.properties 2010-09-22 09:18:35 UTC (rev 6665)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/mail/test.mail.properties 2010-09-23 00:33:34 UTC (rev 6666)
@@ -1,2 +1,3 @@
mail.smtp.host = localhost
-mail.smtp.port = 2525
\ No newline at end of file
+mail.smtp.port = 2525
+mail.from = workflow at redhat.com
\ No newline at end of file
Modified: jbpm3/branches/jbpm-3.2-soa/examples/src/test/java/org/jbpm/examples/mail/MailTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/examples/src/test/java/org/jbpm/examples/mail/MailTest.java 2010-09-22 09:18:35 UTC (rev 6665)
+++ jbpm3/branches/jbpm-3.2-soa/examples/src/test/java/org/jbpm/examples/mail/MailTest.java 2010-09-23 00:33:34 UTC (rev 6666)
@@ -24,6 +24,7 @@
import java.util.Arrays;
import java.util.List;
+import javax.mail.Address;
import javax.mail.MessagingException;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
@@ -70,6 +71,11 @@
WiserMessage message = (WiserMessage) messages.get(0);
MimeMessage email = message.getMimeMessage();
assert Arrays.equals(InternetAddress.parse("grandma at dalton.com"), email.getRecipients(RecipientType.TO));
+
+ Address[] from = email.getFrom();
+ assertEquals(1, from.length);
+ InternetAddress fromAddress = (InternetAddress) from[0];
+ assertEquals("no-reply at jbpm.org", fromAddress.getAddress());
}
public static class MyAddressResolver implements AddressResolver {
More information about the jbpm-commits
mailing list