Author: wstrzalka
Date: Thu Sep 22 19:59:28 2011
New Revision: 1174351
URL: http://svn.apache.org/viewvc?rev=1174351&view=rev
Log:
Fix for adding/removing listeners. See MAILBOX-134
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/AbstractDelegatingMailboxListener.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=1174351&r1=1174350&r2=1174351&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
Thu Sep 22 19:59:28 2011
@@ -113,13 +113,13 @@ public abstract class AbstractDelegating
Map<MailboxPath, List<MailboxListener>> listeners = getListeners();
synchronized (listeners) {
List<MailboxListener> mListeners = listeners.get(path);
- if (mListeners != null) {
- mListeners.remove(listener);
- if (mListeners.isEmpty()) {
- listeners.remove(path);
- }
+ if (mListeners == null) {
+ mListeners = new ArrayList<MailboxListener>();
+ listeners.put(path, mListeners);
}
-
+ if (mListeners.contains(listener) == false) {
+ mListeners.add(listener);
+ }
}
}
@@ -145,12 +145,11 @@ public abstract class AbstractDelegating
Map<MailboxPath, List<MailboxListener>> listeners = getListeners();
synchronized (listeners) {
List<MailboxListener> mListeners = listeners.get(mailboxPath);
- if (mListeners == null) {
- mListeners = new ArrayList<MailboxListener>();
- listeners.put(mailboxPath, mListeners);
- }
- if (mListeners.contains(listener) == false) {
- mListeners.add(listener);
+ if (mListeners != null) {
+ mListeners.remove(listener);
+ if (mListeners.isEmpty()) {
+ listeners.remove(mailboxPath);
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]