[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