JBoss JBPM SVN: r4424 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 12:28:22 -0400 (Fri, 03 Apr 2009)
New Revision: 4424
Modified:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java
Log:
Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java 2009-04-03 16:24:26 UTC (rev 4423)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java 2009-04-03 16:28:22 UTC (rev 4424)
@@ -7,6 +7,7 @@
public Session createSmtpSession()
{
+ //TODO: create settings for server and apply to new session.
return null;
}
}
15 years, 2 months
JBoss JBPM SVN: r4423 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 12:24:26 -0400 (Fri, 03 Apr 2009)
New Revision: 4423
Modified:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
Log:
Changed private to protected to allow people to extend the methods.
Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 16:23:05 UTC (rev 4422)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 16:24:26 UTC (rev 4423)
@@ -14,8 +14,8 @@
*/
public abstract class WildCardAddressFilter implements AddressFilter {
- private Collection<String> includePatterns;
- private Collection<String> excludePatterns;
+ protected Collection<String> includePatterns;
+ protected Collection<String> excludePatterns;
public Collection<InternetAddress> filter(final Collection<InternetAddress> addresses)
{
@@ -39,7 +39,7 @@
* @param address Email Address to validate against regex.
* @return If the includes is provided, and the address matches an include pattern, returns true, false otherwise.
*/
- private boolean keepAddress(InternetAddress address)
+ protected boolean keepAddress(InternetAddress address)
{
if(includePatterns!=null)
{
15 years, 2 months
JBoss JBPM SVN: r4422 - in jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email: server and 1 other directory.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 12:23:05 -0400 (Fri, 03 Apr 2009)
New Revision: 4422
Added:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/MailServerConfiguration.java
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java
Log:
Added configuration objects.
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/MailServerConfiguration.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/MailServerConfiguration.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/MailServerConfiguration.java 2009-04-03 16:23:05 UTC (rev 4422)
@@ -0,0 +1,23 @@
+package org.jbpm.pvm.internal.email.server;
+
+import org.jbpm.pvm.internal.email.filter.AddressFilter;
+
+public class MailServerConfiguration {
+ protected SmtpServer server;
+ protected AddressFilter filter;
+
+ public SmtpServer getServer() {
+ return server;
+ }
+ public void setServer(SmtpServer server) {
+ this.server = server;
+ }
+ public AddressFilter getFilter() {
+ return filter;
+ }
+ public void setFilter(AddressFilter filter) {
+ this.filter = filter;
+ }
+
+
+}
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/server/SmtpServer.java 2009-04-03 16:23:05 UTC (rev 4422)
@@ -0,0 +1,12 @@
+package org.jbpm.pvm.internal.email.server;
+
+import javax.mail.Session;
+
+public class SmtpServer {
+ //All of the SMTP settings.
+
+ public Session createSmtpSession()
+ {
+ return null;
+ }
+}
15 years, 2 months
JBoss JBPM SVN: r4421 - in jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email: service and 1 other directory.
by do-not-reply@jboss.org
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?
+ }
+ }
+ }
+
+
+ }
+
+
+ }
+
+}
15 years, 2 months
JBoss JBPM SVN: r4420 - in jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email: resolver and 1 other directory.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 12:06:57 -0400 (Fri, 03 Apr 2009)
New Revision: 4420
Added:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/resolver/
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/resolver/AddressResolver.java
Log:
Interface for resolving identity addreses.
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/resolver/AddressResolver.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/resolver/AddressResolver.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/resolver/AddressResolver.java 2009-04-03 16:06:57 UTC (rev 4420)
@@ -0,0 +1,15 @@
+package org.jbpm.pvm.internal.email.resolver;
+
+import java.util.Collection;
+
+import javax.mail.internet.InternetAddress;
+
+import org.jbpm.identity.Group;
+import org.jbpm.identity.User;
+
+public interface AddressResolver {
+
+ public InternetAddress resolveUserAddress(User user);
+ public Collection<InternetAddress> resolveGroupAddresses(Group group);
+
+}
15 years, 2 months
JBoss JBPM SVN: r4419 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 12:06:10 -0400 (Fri, 03 Apr 2009)
New Revision: 4419
Added:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/SimpleMailProducer.java
Modified:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java
Log:
Committed idea for simple email producer.
Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java 2009-04-03 15:55:26 UTC (rev 4418)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java 2009-04-03 16:06:10 UTC (rev 4419)
@@ -2,10 +2,9 @@
import java.util.Collection;
-import javax.mail.Message;
-
+import org.apache.commons.mail.Email;
import org.jbpm.env.Environment;
public interface MailProducer {
- public Collection<Message> produce(final Environment env, final MailContext mailContext) throws Exception;
+ public Collection<Email> produce(final Environment env, final MailContext mailContext) throws Exception;
}
\ No newline at end of file
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/SimpleMailProducer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/SimpleMailProducer.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/SimpleMailProducer.java 2009-04-03 16:06:10 UTC (rev 4419)
@@ -0,0 +1,72 @@
+package org.jbpm.pvm.internal.email.producer;
+
+import java.util.Collection;
+import java.util.HashSet;
+
+import javax.mail.internet.InternetAddress;
+
+import org.apache.commons.mail.Email;
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
+import org.jbpm.env.Environment;
+import org.jbpm.identity.Group;
+import org.jbpm.identity.User;
+import org.jbpm.pvm.internal.email.resolver.AddressResolver;
+
+public class SimpleMailProducer implements MailProducer {
+
+ @Override
+ public Collection<Email> produce(final Environment env, final MailContext mailContext) throws Exception {
+ //Create a simple email with the body set.
+ Email email = new SimpleEmail();
+
+ //Resolve and populate to, cc, bcc addresses.
+ populateAddresses(mailContext, email);
+
+ //Set subject and message.
+ email.setSubject(mailContext.getSubject());
+ email.setMsg(mailContext.getBody());
+
+ Collection<Email> emails = new HashSet<Email>();
+ emails.add(email);
+
+ return emails;
+ }
+
+ protected void populateAddresses(MailContext mailContext, Email email) throws EmailException
+ {
+ //Add the addresses.
+ for(String a : mailContext.getToAddresses())
+ {
+ email.addTo(a);
+ }
+ for(String a : mailContext.getCcAddresses())
+ {
+ email.addCc(a);
+ }
+ for(String a : mailContext.getBccAddresses())
+ {
+ email.addBcc(a);
+ }
+
+ //Get address resolver.
+ //TODO: Look this up from the jbpm configuration.
+ AddressResolver resolver = null;
+
+ //Resolve actors and groups.
+ for(User user : mailContext.getActors())
+ {
+ InternetAddress address = resolver.resolveUserAddress(user);
+ email.addTo(address.getAddress(), user.getFamilyName()+", "+user.getGivenName());
+ }
+ for(Group group : mailContext.getGroups())
+ {
+ Collection<InternetAddress> addresses = resolver.resolveGroupAddresses(group);
+ for(InternetAddress address : addresses)
+ {
+ email.addTo(address.getAddress());
+ }
+ }
+ }
+
+}
15 years, 2 months
JBoss JBPM SVN: r4418 - jbpm4/branches/email/modules/pvm.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 11:55:26 -0400 (Fri, 03 Apr 2009)
New Revision: 4418
Modified:
jbpm4/branches/email/modules/pvm/pom.xml
Log:
Added dependencies.
Modified: jbpm4/branches/email/modules/pvm/pom.xml
===================================================================
--- jbpm4/branches/email/modules/pvm/pom.xml 2009-04-03 15:41:16 UTC (rev 4417)
+++ jbpm4/branches/email/modules/pvm/pom.xml 2009-04-03 15:55:26 UTC (rev 4418)
@@ -102,6 +102,19 @@
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ <version>1.4.1</version>
+ <type>jar</type>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-email</groupId>
+ <artifactId>commons-email</artifactId>
+ <version>1.1</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
<!-- Plugins -->
15 years, 2 months
JBoss JBPM SVN: r4417 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 11:41:16 -0400 (Fri, 03 Apr 2009)
New Revision: 4417
Modified:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
Log:
Fixed comment.
Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 15:39:25 UTC (rev 4416)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 15:41:16 UTC (rev 4417)
@@ -22,7 +22,7 @@
Collection<InternetAddress> filteredAddresses = new HashSet<InternetAddress>();
if(addresses!=null)
{
- //Loop over for addresses to remove.
+ //Loop over for addresses to decide what to keep.
for(InternetAddress address : addresses)
{
if(keepAddress(address))
15 years, 2 months
JBoss JBPM SVN: r4416 - in jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email: producer and 1 other directory.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 11:39:25 -0400 (Fri, 03 Apr 2009)
New Revision: 4416
Added:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailContext.java
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java
Log:
Initial thoughts on MailProducer interface.
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailContext.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailContext.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailContext.java 2009-04-03 15:39:25 UTC (rev 4416)
@@ -0,0 +1,68 @@
+package org.jbpm.pvm.internal.email.producer;
+
+import java.util.Collection;
+
+import org.jbpm.identity.Group;
+import org.jbpm.identity.User;
+
+public class MailContext {
+
+ private Collection<User> actors;
+ private Collection<Group> groups;
+ private Collection<String> toAddresses;
+ private Collection<String> ccAddresses;
+ private Collection<String> bccAddresses;
+ private String subject;
+ private String body;
+ private String template;
+
+ public Collection<User> getActors() {
+ return actors;
+ }
+ public void setActors(Collection<User> actors) {
+ this.actors = actors;
+ }
+ public Collection<Group> getGroups() {
+ return groups;
+ }
+ public void setGroups(Collection<Group> groups) {
+ this.groups = groups;
+ }
+ public Collection<String> getToAddresses() {
+ return toAddresses;
+ }
+ public void setToAddresses(Collection<String> toAddresses) {
+ this.toAddresses = toAddresses;
+ }
+ public Collection<String> getCcAddresses() {
+ return ccAddresses;
+ }
+ public void setCcAddresses(Collection<String> ccAddresses) {
+ this.ccAddresses = ccAddresses;
+ }
+ public Collection<String> getBccAddresses() {
+ return bccAddresses;
+ }
+ public void setBccAddresses(Collection<String> bccAddresses) {
+ this.bccAddresses = bccAddresses;
+ }
+ public String getSubject() {
+ return subject;
+ }
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+ public String getBody() {
+ return body;
+ }
+ public void setBody(String body) {
+ this.body = body;
+ }
+ public String getTemplate() {
+ return template;
+ }
+ public void setTemplate(String template) {
+ this.template = template;
+ }
+
+}
Added: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java (rev 0)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/producer/MailProducer.java 2009-04-03 15:39:25 UTC (rev 4416)
@@ -0,0 +1,11 @@
+package org.jbpm.pvm.internal.email.producer;
+
+import java.util.Collection;
+
+import javax.mail.Message;
+
+import org.jbpm.env.Environment;
+
+public interface MailProducer {
+ public Collection<Message> produce(final Environment env, final MailContext mailContext) throws Exception;
+}
\ No newline at end of file
15 years, 2 months
JBoss JBPM SVN: r4415 - jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter.
by do-not-reply@jboss.org
Author: bradsdavis
Date: 2009-04-03 11:37:09 -0400 (Fri, 03 Apr 2009)
New Revision: 4415
Modified:
jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
Log:
Removed whitespace.
Modified: jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java
===================================================================
--- jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 15:36:31 UTC (rev 4414)
+++ jbpm4/branches/email/modules/pvm/src/main/java/org/jbpm/pvm/internal/email/filter/WildCardAddressFilter.java 2009-04-03 15:37:09 UTC (rev 4415)
@@ -31,7 +31,6 @@
}
}
}
-
return filteredAddresses;
}
15 years, 2 months