Author: norman
Date: Wed Feb  9 11:04:39 2011
New Revision: 1068843

URL: http://svn.apache.org/viewvc?rev=1068843&view=rev
Log:
Fire Event when Mailbox was added. See MAILBOX-37

Modified:
    
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
    
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
    
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java

Modified: 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java?rev=1068843&r1=1068842&r2=1068843&view=diff
==============================================================================
--- 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
 (original)
+++ 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
 Wed Feb  9 11:04:39 2011
@@ -90,6 +90,16 @@ public interface MailboxListener {
         }
     }
     
+    /**
+     * Indicates that a mailbox has been Added.
+     */
+    public class MailboxAdded extends Event {
+        public MailboxAdded(final MailboxSession session, MailboxPath path) {
+            super(session, path);
+        }
+    }
+
+    
     
     /**
      * Indicates that a mailbox has been renamed.

Modified: 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java?rev=1068843&r1=1068842&r2=1068843&view=diff
==============================================================================
--- 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
 (original)
+++ 
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
 Wed Feb  9 11:04:39 2011
@@ -308,18 +308,23 @@ public class MailboxEventDispatcher impl
      * @param path
      */
     public void mailboxDeleted(MailboxSession session, MailboxPath path) {
-        final MailboxDeletionEventImpl event = new MailboxDeletionEventImpl(
+        final MailboxDeletion event = new MailboxDeletion(
                 session, path);
         event(event);
     }
 
-    private static final class MailboxDeletionEventImpl extends
-            MailboxListener.MailboxDeletion {
-        public MailboxDeletionEventImpl(MailboxSession session, MailboxPath 
path) {
-            super(session, path);
-        }
+    /**
+     * Should get called when a Mailbox was added. All registered 
MailboxListener will get triggered then
+     *
+     * @param session
+     * @param path
+     */
+    public void mailboxAdded(MailboxSession session, MailboxPath path) {
+        final MailboxAdded event = new MailboxAdded(
+                session, path);
+        event(event);
     }
-
+    
     private static final class MailboxRenamedEventImpl extends 
MailboxListener.MailboxRenamed {
         private final MailboxPath newPath;
 

Modified: 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java?rev=1068843&r1=1068842&r2=1068843&view=diff
==============================================================================
--- 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 (original)
+++ 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 Wed Feb  9 11:04:39 2011
@@ -272,6 +272,9 @@ public abstract class StoreMailboxManage
                                 }
 
                             });
+                            
+                            // notify listeners
+                            dispatcher.mailboxAdded(session, mailbox);
                         }
                     }
                 });



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to