[jbpm-commits] JBoss JBPM SVN: r4526 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/impl.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Apr 9 15:44:10 EDT 2009


Author: bradsdavis
Date: 2009-04-09 15:44:10 -0400 (Thu, 09 Apr 2009)
New Revision: 4526

Modified:
   jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/impl/HtmlScriptMailProducer.java
Log:
Added simple URL attachment support.

Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/impl/HtmlScriptMailProducer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/impl/HtmlScriptMailProducer.java	2009-04-09 19:43:02 UTC (rev 4525)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/impl/HtmlScriptMailProducer.java	2009-04-09 19:44:10 UTC (rev 4526)
@@ -1,5 +1,6 @@
 package org.jbpm.pvm.internal.email.producer.impl;
 
+import java.net.URL;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashSet;
@@ -11,7 +12,9 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.mail.Email;
+import org.apache.commons.mail.EmailException;
 import org.apache.commons.mail.HtmlEmail;
+import org.apache.commons.mail.MultiPartEmail;
 import org.jbpm.Execution;
 import org.jbpm.env.Environment;
 import org.jbpm.pvm.internal.email.producer.MailContext;
@@ -45,6 +48,17 @@
 		this.subject = (String)scriptManager.evaluateScript(this.subject, exe, language);
 		this.html = (String)scriptManager.evaluate(this.html, exe, language);
 
+		//Resolve attachements from script to URL.
+		if(urlAttachments!=null)
+		{
+			for(String urlKey : urlAttachments.keySet())
+			{
+				String url = urlAttachments.get(urlKey);
+				url = (String)scriptManager.evaluateScript(url, exe, language);
+				urlAttachments.put(urlKey, url);
+			}
+		}
+		
 		//Create an HTML message.
 		HtmlEmail email = new HtmlEmail();
 		//Populate recipients.
@@ -53,6 +67,21 @@
 		email.setTextMsg(this.text);
 		email.setSubject(this.subject);
 		
+		if(urlAttachments!=null)
+		{
+			for(String urlKey : urlAttachments.keySet())
+			{
+				try {
+					URL url = new URL(urlAttachments.get(urlKey));
+					((MultiPartEmail)email).attach(url,urlKey,urlKey);
+				}
+				catch(EmailException urlException)
+				{
+					log.error("Exception getting the URL.",urlException);
+				}
+			}
+		}
+		
 		//Keep track of the CIDs that have replaced SRCs to reduce
 		//calls to replace.  Should improve efficiency.
 		Set<String> cidSet = new HashSet<String>();




More information about the jbpm-commits mailing list