[jbpm-commits] JBoss JBPM SVN: r4421 - in jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email: service and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Apr 3 12:22:51 EDT 2009


Author: bradsdavis
Date: 2009-04-03 12:22:50 -0400 (Fri, 03 Apr 2009)
New Revision: 4421

Added:
   jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/
   jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/MailService.java
   jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/SynchronousMailService.java
Log:
Created to add sending of emails.

Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/MailService.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/MailService.java	                        (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/MailService.java	2009-04-03 16:22:50 UTC (rev 4421)
@@ -0,0 +1,9 @@
+package org.jbpm.pvm.internal.email.service;
+
+import java.util.Collection;
+
+import org.apache.commons.mail.Email;
+
+public interface MailService {
+	public void send(Collection<Email> emails);
+}

Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/SynchronousMailService.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/SynchronousMailService.java	                        (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/service/SynchronousMailService.java	2009-04-03 16:22:50 UTC (rev 4421)
@@ -0,0 +1,50 @@
+package org.jbpm.pvm.internal.email.service;
+
+import java.util.Collection;
+
+import javax.mail.Session;
+
+import org.apache.commons.mail.Email;
+import org.apache.commons.mail.EmailException;
+import org.jbpm.pvm.internal.email.filter.AddressFilter;
+import org.jbpm.pvm.internal.email.server.MailServerConfiguration;
+import org.jbpm.pvm.internal.email.server.SmtpServer;
+
+public class SynchronousMailService implements MailService {
+
+	Collection<MailServerConfiguration> serverConfigs;
+	
+	@Override
+	public void send(Collection<Email> emails) {
+		
+		//Emails need to have the sessions populated.
+		for(Email email : emails)
+		{
+			for(MailServerConfiguration config : serverConfigs)
+			{
+				AddressFilter filter = config.getFilter();
+				SmtpServer server = config.getServer();
+				
+				if(server!=null)
+				{
+					Session smtpSession = config.getServer().createSmtpSession();
+					email.setMailSession(smtpSession);
+					
+					//Need to apply filter.
+					try {
+						email.send();
+					}
+					catch(EmailException e)
+					{
+						//TODO: What to do here?
+					}
+				}
+			}
+			
+			
+		}
+		
+		
+	}
+	
+}




More information about the jbpm-commits mailing list