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