You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/01/02 10:34:16 UTC
[06/11] james-project git commit: MAILBOX-370 Move the responsibility
of Noop filtering from the dispatcher to the Delegating listener
MAILBOX-370 Move the responsibility of Noop filtering from the dispatcher to the Delegating listener
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4a9295cb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4a9295cb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4a9295cb
Branch: refs/heads/master
Commit: 4a9295cb1c010b65b03bec9d809173b58e634dd6
Parents: dc841af
Author: Benoit Tellier <bt...@linagora.com>
Authored: Fri Dec 28 14:35:10 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Jan 2 17:28:16 2019 +0700
----------------------------------------------------------------------
.../event/DefaultDelegatingMailboxListener.java | 26 +++++++-------
.../store/event/MailboxEventDispatcher.java | 4 +--
.../store/MailboxEventDispatcherTest.java | 37 +++++++-------------
.../DefaultDelegatingMailboxListenerTest.java | 13 +++++++
4 files changed, 40 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4a9295cb/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListener.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListener.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListener.java
index b050369..79167f3 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListener.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListener.java
@@ -91,18 +91,20 @@ public class DefaultDelegatingMailboxListener implements DelegatingMailboxListen
@Override
public void event(Event event) {
- ImmutableList<MailboxListener> listeners = ImmutableList.<MailboxListener>builder()
- .addAll(registry.getGlobalListeners())
- .addAll(registeredMailboxListeners(event))
- .build();
-
- eventDelivery.deliver(listeners, event)
- .synchronousListenerFuture()
- .block();
-
- if (event instanceof MailboxDeletion) {
- MailboxDeletion deletion = (MailboxDeletion) event;
- registry.deleteRegistryFor(deletion.getMailboxId());
+ if (!event.isNoop()) {
+ ImmutableList<MailboxListener> listeners = ImmutableList.<MailboxListener>builder()
+ .addAll(registry.getGlobalListeners())
+ .addAll(registeredMailboxListeners(event))
+ .build();
+
+ eventDelivery.deliver(listeners, event)
+ .synchronousListenerFuture()
+ .block();
+
+ if (event instanceof MailboxDeletion) {
+ MailboxDeletion deletion = (MailboxDeletion) event;
+ registry.deleteRegistryFor(deletion.getMailboxId());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4a9295cb/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
index 87bfe86..3a4b113 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
@@ -169,8 +169,6 @@ public class MailboxEventDispatcher {
}
public void event(Event event) {
- if (!event.isNoop()) {
- listener.event(event);
- }
+ listener.event(event);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4a9295cb/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java
index 8b1e92b..955231b 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java
@@ -44,7 +44,6 @@ import org.junit.Before;
import org.junit.Test;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
public class MailboxEventDispatcherTest {
private static final MailboxSession.SessionId SESSION_ID = MailboxSession.SessionId.of(10);
@@ -91,7 +90,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator()).isEmpty();
}
@@ -110,7 +109,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.ANSWERED);
}
@@ -130,7 +129,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.ANSWERED);
}
@@ -149,7 +148,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.DELETED);
}
@@ -168,7 +167,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.DELETED);
}
@@ -187,7 +186,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.DRAFT);
}
@@ -206,7 +205,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.DRAFT);
}
@@ -225,7 +224,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.FLAGGED);
}
@@ -244,7 +243,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.FLAGGED);
}
@@ -263,7 +262,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.RECENT);
}
@@ -282,7 +281,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.RECENT);
}
@@ -301,7 +300,7 @@ public class MailboxEventDispatcherTest {
assertThat(collector.getEvents()).hasSize(1)
.are(INSTANCE_OF_EVENT_FLAGS_UPDATED);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated) collector.getEvents()
- .get(0);
+ .get(0);
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.SEEN);
}
@@ -347,16 +346,4 @@ public class MailboxEventDispatcherTest {
assertThat(event.getUpdatedFlags().get(0).systemFlagIterator())
.containsOnly(Flags.Flag.SEEN, Flags.Flag.RECENT, Flags.Flag.ANSWERED);
}
-
- @Test
- public void expungedShouldNotFireEventWhenEmptyMap() {
- dispatcher.expunged(session, ImmutableMap.of(), mailbox);
- assertThat(collector.getEvents()).isEmpty();
- }
-
- @Test
- public void flagsUpdatedShouldNotFireEventWhenEmptyIdList() {
- dispatcher.flagsUpdated(session, mailbox, ImmutableList.of());
- assertThat(collector.getEvents()).isEmpty();
- }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4a9295cb/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
index 6360ce0..1bebdd5 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import org.apache.james.core.User;
import org.apache.james.core.quota.QuotaCount;
import org.apache.james.core.quota.QuotaSize;
import org.apache.james.mailbox.MailboxListener;
@@ -38,6 +39,8 @@ import org.apache.james.mailbox.util.EventCollector;
import org.junit.Before;
import org.junit.Test;
+import com.google.common.collect.ImmutableSortedMap;
+
public class DefaultDelegatingMailboxListenerTest {
private static final MailboxPath MAILBOX_PATH = new MailboxPath("namespace", "user", "name");
@@ -179,4 +182,14 @@ public class DefaultDelegatingMailboxListenerTest {
defaultDelegatingMailboxListener.event(event);
}
+
+ @Test
+ public void listenersShouldReceiveEvents() {
+ MailboxListener.Added noopEvent = new MailboxListener.Added(MailboxSession.SessionId.of(18), User.fromUsername("bob"), MailboxPath.forUser("bob", "mailbox"), TestId.of(58), ImmutableSortedMap.of());
+
+ defaultDelegatingMailboxListener.event(noopEvent);
+
+ assertThat(onceEventCollector.getEvents()).isEmpty();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org