Author: wstrzalka
Date: Sun Feb 20 16:17:31 2011
New Revision: 1072621

URL: http://svn.apache.org/viewvc?rev=1072621&view=rev
Log:
Registering custom DelegatingMailboxListener in StoreMailboxManager property 
setter. See IMAP-260

Modified:
    
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.java
    
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java

Modified: 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.java
URL: 
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.java?rev=1072621&r1=1072620&r2=1072621&view=diff
==============================================================================
--- 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.java
 (original)
+++ 
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.java
 Sun Feb 20 16:17:31 2011
@@ -30,6 +30,12 @@ import org.apache.james.mailbox.MailboxS
 
 public abstract class AbstractDelegatingMailboxListener implements 
MailboxListener, MailboxListenerSupport{
 
+    private boolean isClosed;
+    
+    protected AbstractDelegatingMailboxListener() {
+       isClosed = false;
+    }
+    
     /**
      * Receive the event and dispatch it to the right {@link MailboxListener} 
depending on {@link Event#getMailboxPath()}
      */
@@ -72,10 +78,17 @@ public abstract class AbstractDelegating
     }
 
     /**
-     * Is never closed
+     * Close the listener
+     */
+    public void close() {
+       isClosed = true;
+    }
+    
+    /**
+     * Check if closed
      */
     public boolean isClosed() {
-        return false;
+        return isClosed;
     }
 
     /*

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=1072621&r1=1072620&r2=1072621&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
 Sun Feb 20 16:17:31 2011
@@ -111,7 +111,10 @@ public abstract class StoreMailboxManage
      * @param delegatingListener
      */
     public void setDelegatingMailboxListener(AbstractDelegatingMailboxListener 
delegatingListener) {
+       if(this.delegatingListener != null)
+               this.delegatingListener.close();
         this.delegatingListener = delegatingListener;
+        dispatcher.addMailboxListener(this.delegatingListener);
     }
     
     



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to