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

Reply via email to