Author: michiel
Date: 2010-04-19 22:59:58 +0200 (Mon, 19 Apr 2010)
New Revision: 41959
Added:
mmbase/trunk/applications/email/src/main/config/eventmanager.xml
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEvent.java
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventBroker.java
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventListener.java
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/EmailValidated.java
Modified:
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/SendMail.java
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/VerifyEmailProcessor.java
Log:
MMB-1950
Copied: mmbase/trunk/applications/email/src/main/config/eventmanager.xml (from
rev 41958,
mmbase/branches/MMBase-1_9/applications/email/src/main/config/eventmanager.xml)
===================================================================
--- mmbase/trunk/applications/email/src/main/config/eventmanager.xml
(rev 0)
+++ mmbase/trunk/applications/email/src/main/config/eventmanager.xml
2010-04-19 20:59:58 UTC (rev 41959)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE eventmanager PUBLIC "-//MMBase//DTD eventmanager config 1.0//EN"
"http://www.mmbase.org/dtd/eventmanager_1_0.dtd">
+<eventmanager>
+ <brokers>
+ <broker class="org.mmbase.applications.email.EmailEventBroker"/>
+ </brokers>
+</eventmanager>
Copied:
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEvent.java
(from rev 41958,
mmbase/branches/MMBase-1_9/applications/email/src/main/java/org/mmbase/applications/email/EmailEvent.java)
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEvent.java
(rev 0)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEvent.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -0,0 +1,41 @@
+/*
+ * This software is OSI Certified Open Source Software.
+ * OSI Certified is a certification mark of the Open Source Initiative. The
+ * license (Mozilla version 1.0) can be read at the MMBase site. See
+ * http://www.MMBase.org/license
+ */
+package org.mmbase.applications.email;
+
+import java.util.*;
+import org.mmbase.core.event.*;
+import javax.mail.*;
+
+
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
+/**
+ *
+ * @author Michiel Meeuwissen
+ * @since MMBase-1.9.3
+ * @version $Id: TransactionEvent.java 41369 2010-03-15 20:54:45Z michiel $
+ */
+public abstract class EmailEvent extends Event {
+ private static final Logger log =
Logging.getLoggerInstance(EmailEvent.class);
+
+
+
+ public static class Sent extends EmailEvent {
+ private static final long serialVersionUID = 1L;
+
+ private final Address[] to;
+ public Sent(Message mess) throws MessagingException {
+ to = mess.getRecipients(Message.RecipientType.TO);
+ }
+ @Override
+ public String toString() {
+ return "sent:" + Arrays.asList(to);
+ }
+ }
+
+}
Copied:
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventBroker.java
(from rev 41958,
mmbase/branches/MMBase-1_9/applications/email/src/main/java/org/mmbase/applications/email/EmailEventBroker.java)
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventBroker.java
(rev 0)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventBroker.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -0,0 +1,60 @@
+/*
+ * This software is OSI Certified Open Source Software.
+ * OSI Certified is a certification mark of the Open Source Initiative. The
+ * license (Mozilla version 1.0) can be read at the MMBase site. See
+ * http://www.MMBase.org/license
+ */
+package org.mmbase.applications.email;
+
+import org.mmbase.core.event.*;
+
+
+/**
+ *
+ * @author Michiel Meeuwissen
+ * @since MMBase-1.9.3
+ * @version $Id: TransactionEventBroker.java 41369 2010-03-15 20:54:45Z
michiel $
+ */
+public class EmailEventBroker extends AbstractEventBroker {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see event.AbstractEventBroker#canBrokerFor(java.lang.Class)
+ */
+ @Override
+ public boolean canBrokerForListener(EventListener listener) {
+ return listener instanceof EmailEventListener;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see event.AbstractEventBroker#shouldNotifyForEvent(event.Event)
+ */
+ @Override
+ public boolean canBrokerForEvent(Event event) {
+ return event instanceof EmailEvent;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see event.AbstractEventBroker#notifyEventListeners()
+ */
+ @Override
+ protected void notifyEventListener(Event event, EventListener listener) {
+ EmailEvent te = (EmailEvent) event; //!!!!!
+ EmailEventListener tel = (EmailEventListener) listener;
+ tel.notify(te);
+ }
+
+ /* (non-Javadoc)
+ * @see org.mmbase.core.event.AbstractEventBroker#toString()
+ */
+ @Override
+ public String toString() {
+ return "EmailEvent Broker";
+ }
+
+}
Copied:
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventListener.java
(from rev 41958,
mmbase/branches/MMBase-1_9/applications/email/src/main/java/org/mmbase/applications/email/EmailEventListener.java)
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventListener.java
(rev 0)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/EmailEventListener.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -0,0 +1,18 @@
+/*
+ * This software is OSI Certified Open Source Software.
+ * OSI Certified is a certification mark of the Open Source Initiative. The
+ * license (Mozilla version 1.0) can be read at the MMBase site. See
+ * http://www.MMBase.org/license
+ */
+package org.mmbase.applications.email;
+import org.mmbase.core.event.*;
+
+/**
+ *
+ * @author Michiel Meeuwissen
+ * @since MMBase-1.9.3
+ * @version $Id: TransactionEventListener.java 41419 2010-03-16 12:54:44Z
michiel $
+ */
+public interface EmailEventListener extends EventListener {
+ void notify(EmailEvent event);
+}
Modified:
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/SendMail.java
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/SendMail.java
2010-04-19 16:25:02 UTC (rev 41958)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/applications/email/SendMail.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -21,6 +21,7 @@
import org.mmbase.module.smtp.*;
import org.mmbase.bridge.*;
import org.mmbase.module.core.MMBase;
+import org.mmbase.core.event.EventManager;
import org.mmbase.util.logging.*;
import org.mmbase.util.functions.*;
@@ -261,6 +262,7 @@
msg.setContent(mmpart);
Transport.send(msg);
+ EventManager.getInstance().propagateEvent(new
EmailEvent.Sent(msg));
emailSent++;
log.debug("JMimeSendMail done.");
@@ -472,6 +474,7 @@
MimeMessage msg = constructMessage(from, onlyTo, headers);
msg.setText(data, mailEncoding);
Transport.send(msg);
+ EventManager.getInstance().propagateEvent(new
EmailEvent.Sent(msg));
log.debug("SendMail done.");
return true;
} else {
@@ -662,6 +665,7 @@
log.service("JMSendMail sending mail to " + to + " cc:" +
cc + " bcc:" + bcc + " (node " + n.getNumber() + ")" + " from " + from + "
(mime-type " + mimeType + ") using " + session);
}
Transport.send(msg, onlyto);
+ EventManager.getInstance().propagateEvent(new
EmailEvent.Sent(msg));
} else {
log.debug("nothing to do");
}
Copied:
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/EmailValidated.java
(from rev 41958,
mmbase/branches/MMBase-1_9/applications/email/src/main/java/org/mmbase/datatypes/EmailValidated.java)
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/EmailValidated.java
(rev 0)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/EmailValidated.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -0,0 +1,35 @@
+/*
+
+This software is OSI Certified Open Source Software.
+OSI Certified is a certification mark of the Open Source Initiative.
+
+The license (Mozilla version 1.0) can be read at the MMBase site.
+See http://www.MMBase.org/license
+*/
+package org.mmbase.datatypes;
+
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
+/*
+ * @author Michiel Meeuwissen
+ * @version $Id: VerifyEmailProcessor.java 41821 2010-04-09 14:02:48Z michiel $
+
+ */
+
+public class EmailValidated extends org.mmbase.applications.email.EmailEvent {
+ private static final Logger log =
Logging.getLoggerInstance(EmailValidated.class);
+ private static final long serialVersionUID = 1L;
+
+ private final int nodeNumber;
+
+ public EmailValidated(int nd) {
+ this.nodeNumber = nd;
+ }
+
+ public int getNode() {
+ return nodeNumber;
+ }
+
+
+}
Modified:
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/VerifyEmailProcessor.java
===================================================================
---
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/VerifyEmailProcessor.java
2010-04-19 16:25:02 UTC (rev 41958)
+++
mmbase/trunk/applications/email/src/main/java/org/mmbase/datatypes/VerifyEmailProcessor.java
2010-04-19 20:59:58 UTC (rev 41959)
@@ -17,6 +17,7 @@
import org.mmbase.util.*;
import org.mmbase.util.transformers.*;
import org.mmbase.datatypes.processors.*;
+import org.mmbase.core.event.EventManager;
import javax.mail.internet.*;
import java.util.*;
import java.text.*;
@@ -236,6 +237,7 @@
Node node = nl.getNode(0);
node.setStringValue(field, key);
node.commit();
+ EventManager.getInstance().propagateEvent(new
EmailValidated(node.getNumber()));
return node;
}
return null;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs