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]