JAMES-2342 Introduce Event interface

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/da4b71ac
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/da4b71ac
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/da4b71ac

Branch: refs/heads/master
Commit: da4b71acb53fcbcf3c296616b5ff8a7fec26235b
Parents: 66a58be
Author: Antoine Duprat <[email protected]>
Authored: Tue Mar 6 11:55:02 2018 +0100
Committer: Antoine Duprat <[email protected]>
Committed: Thu Mar 8 11:01:21 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/james/mailbox/Event.java    | 24 ++++++++++
 .../apache/james/mailbox/MailboxListener.java   |  4 +-
 .../james/mailbox/MailboxManagerStressTest.java |  2 +-
 .../james/mailbox/util/EventCollector.java      |  7 +--
 .../CacheInvalidatingMailboxListener.java       | 10 ++++-
 .../MailboxOperationLoggingListener.java        |  9 ++--
 .../spamassassin/SpamAssassinListener.java      |  5 ++-
 .../store/event/AsynchronousEventDelivery.java  |  3 +-
 .../event/DefaultDelegatingMailboxListener.java | 23 ++++++----
 .../mailbox/store/event/EventDelivery.java      |  3 +-
 .../store/event/MailboxAnnotationListener.java  |  3 +-
 .../store/event/MailboxEventDispatcher.java     |  2 +-
 .../mailbox/store/event/MixedEventDelivery.java |  3 +-
 .../store/event/SynchronousEventDelivery.java   |  3 +-
 .../BroadcastDelegatingMailboxListener.java     | 12 ++++-
 .../RegisteredDelegatingMailboxListener.java    | 33 +++++++++-----
 .../quota/ListeningCurrentQuotaUpdater.java     | 12 +++--
 .../search/ListeningMessageSearchIndex.java     |  5 ++-
 .../store/MailboxEventDispatcherTest.java       |  5 ++-
 .../registrations/GlobalRegistration.java       |  9 ++--
 .../registrations/MailboxRegistration.java      |  3 +-
 .../james/imap/processor/IdleProcessor.java     |  3 +-
 .../processor/base/SelectedMailboxImpl.java     | 47 ++++++++++++--------
 .../integration/SetMessagesMethodTest.java      |  7 +--
 .../event/PropagateLookupRightListener.java     |  5 ++-
 25 files changed, 165 insertions(+), 77 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/api/src/main/java/org/apache/james/mailbox/Event.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/Event.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/Event.java
new file mode 100644
index 0000000..a2190cf
--- /dev/null
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/Event.java
@@ -0,0 +1,24 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+package org.apache.james.mailbox;
+
+public interface Event {
+
+    MailboxSession getSession();
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
index 5f9cbce..16f6bb8 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
@@ -55,12 +55,12 @@ public interface MailboxListener {
      * @param event
      *            not null
      */
-    void event(MailboxEvent event);
+    void event(Event event);
 
     /**
      * A mailbox event.
      */
-    abstract class MailboxEvent implements Serializable {
+    abstract class MailboxEvent implements Event, Serializable {
         private final MailboxSession session;
         private final MailboxPath path;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index 9c6cbaf..941d7a6 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -78,7 +78,7 @@ public abstract class MailboxManagerStressTest {
             }
 
             @Override
-            public void event(MailboxEvent event) {
+            public void event(Event event) {
                 MessageUid u = ((Added) event).getUids().get(0);
                 uList.add(u);
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
index 97b07fb..fb17648 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/util/EventCollector.java
@@ -22,11 +22,12 @@ package org.apache.james.mailbox.util;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 
 public class EventCollector implements MailboxListener {
 
-    private final List<MailboxEvent> events = new ArrayList<>();
+    private final List<Event> events = new ArrayList<>();
 
     private final ListenerType listenerType;
 
@@ -48,11 +49,11 @@ public class EventCollector implements MailboxListener {
         return ExecutionMode.SYNCHRONOUS;
     }
 
-    public List<MailboxEvent> getEvents() {
+    public List<Event> getEvents() {
         return events;
     }
 
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         events.add(event);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CacheInvalidatingMailboxListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CacheInvalidatingMailboxListener.java
 
b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CacheInvalidatingMailboxListener.java
index 90fc351..80a5ab8 100644
--- 
a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CacheInvalidatingMailboxListener.java
+++ 
b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CacheInvalidatingMailboxListener.java
@@ -1,5 +1,6 @@
 package org.apache.james.mailbox.caching;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxListenerSupport;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -44,7 +45,13 @@ public class CacheInvalidatingMailboxListener implements 
MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
+        if (event instanceof MailboxEvent) {
+            mailboxEvent((MailboxEvent) event);
+        }
+    }
+
+    private void mailboxEvent(MailboxEvent event) {
         // TODO this needs for sure to be smarter
         try {
             if (event instanceof MessageEvent) {
@@ -55,7 +62,6 @@ public class CacheInvalidatingMailboxListener implements 
MailboxListener {
         } catch (MailboxException e) {
             LOGGER.error("Error while invalidation cache", e);
         }
-
     }
 
     private void invalidateMetadata(MailboxEvent event) throws 
MailboxException {

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/MailboxOperationLoggingListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/MailboxOperationLoggingListener.java
 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/MailboxOperationLoggingListener.java
index 9059288..ca7f94d 100644
--- 
a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/MailboxOperationLoggingListener.java
+++ 
b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/MailboxOperationLoggingListener.java
@@ -22,6 +22,7 @@ package org.apache.james.mailbox.cassandra;
 import static org.apache.james.mailbox.cassandra.GhostMailbox.MAILBOX_NAME;
 import static org.apache.james.mailbox.cassandra.GhostMailbox.TYPE;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 
 /**
@@ -44,7 +45,7 @@ public class MailboxOperationLoggingListener implements 
MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         if (event instanceof MailboxRenamed) {
             MailboxRenamed mailboxRenamed = (MailboxRenamed) event;
             GhostMailbox.logger()
@@ -57,14 +58,16 @@ public class MailboxOperationLoggingListener implements 
MailboxListener {
                 .log(logger -> logger.info("Mailbox renamed event"));
         }
         if (event instanceof MailboxDeletion) {
+            MailboxDeletion mailboxDeletion = (MailboxDeletion) event;
             GhostMailbox.logger()
-                .addField(MAILBOX_NAME, event.getMailboxPath())
+                .addField(MAILBOX_NAME, mailboxDeletion.getMailboxPath())
                 .addField(TYPE, REMOVED)
                 .log(logger -> logger.info("Mailbox deleted event"));
         }
         if (event instanceof MailboxAdded) {
+            MailboxAdded mailboxAdded = (MailboxAdded) event;
             GhostMailbox.logger()
-                .addField(MAILBOX_NAME, event.getMailboxPath())
+                .addField(MAILBOX_NAME, mailboxAdded.getMailboxPath())
                 .addField(TYPE, ADDED)
                 .log(logger -> logger.info("Mailbox added event"));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
 
b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
index 4462ed0..b2501f3 100644
--- 
a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
+++ 
b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
 
 import javax.inject.Inject;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.Role;
 import org.apache.james.mailbox.store.event.EventFactory;
 import org.apache.james.mailbox.store.event.SpamEventListener;
@@ -56,7 +57,7 @@ public class SpamAssassinListener implements 
SpamEventListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         LOGGER.debug("Event {} received in listener.", event);
         if (event instanceof EventFactory.AddedImpl) {
             EventFactory.AddedImpl addedToMailboxEvent = 
(EventFactory.AddedImpl) event;
@@ -67,7 +68,7 @@ public class SpamAssassinListener implements 
SpamEventListener {
                     .stream()
                     .map(Throwing.function(Message::getFullContent))
                     .collect(Guavate.toImmutableList());
-                spamAssassin.learnSpam(messages, 
event.getMailboxPath().getUser());
+                spamAssassin.learnSpam(messages, 
addedToMailboxEvent.getMailboxPath().getUser());
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
index 3dfd113..98a43ab 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
@@ -24,6 +24,7 @@ import java.util.concurrent.Executors;
 
 import javax.annotation.PreDestroy;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 
 public class AsynchronousEventDelivery implements EventDelivery {
@@ -37,7 +38,7 @@ public class AsynchronousEventDelivery implements 
EventDelivery {
     }
 
     @Override
-    public void deliver(final MailboxListener mailboxListener, final 
MailboxListener.MailboxEvent event) {
+    public void deliver(MailboxListener mailboxListener, Event event) {
         threadPoolExecutor.submit(() -> 
synchronousEventDelivery.deliver(mailboxListener, event));
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/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 7a20207..687ff22 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
@@ -23,6 +23,7 @@ import java.util.Collection;
 
 import javax.inject.Inject;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -86,16 +87,22 @@ public class DefaultDelegatingMailboxListener implements 
DelegatingMailboxListen
     }
 
     @Override
-    public void event(MailboxEvent event) {
-        Collection<MailboxListener> listenerSnapshot = 
registry.getLocalMailboxListeners(event.getMailboxPath());
-        if (event instanceof MailboxDeletion && listenerSnapshot.size() > 0) {
-            registry.deleteRegistryFor(event.getMailboxPath());
-        } else if (event instanceof MailboxRenamed && listenerSnapshot.size() 
> 0) {
-            MailboxRenamed renamed = (MailboxRenamed) event;
+    public void event(Event event) {
+        if (event instanceof MailboxEvent) {
+            mailboxEvent((MailboxEvent) event);
+        }
+    }
+
+    private void mailboxEvent(MailboxEvent mailboxEvent) {
+        Collection<MailboxListener> listenerSnapshot = 
registry.getLocalMailboxListeners(mailboxEvent.getMailboxPath());
+        if (mailboxEvent instanceof MailboxDeletion && listenerSnapshot.size() 
> 0) {
+            registry.deleteRegistryFor(mailboxEvent.getMailboxPath());
+        } else if (mailboxEvent instanceof MailboxRenamed && 
listenerSnapshot.size() > 0) {
+            MailboxRenamed renamed = (MailboxRenamed) mailboxEvent;
             registry.handleRename(renamed.getMailboxPath(), 
renamed.getNewPath());
         }
-        deliverEventToMailboxListeners(event, listenerSnapshot);
-        deliverEventToGlobalListeners(event);
+        deliverEventToMailboxListeners(mailboxEvent, listenerSnapshot);
+        deliverEventToGlobalListeners(mailboxEvent);
     }
 
     protected void deliverEventToMailboxListeners(MailboxEvent event, 
Collection<MailboxListener> listenerSnapshot) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventDelivery.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventDelivery.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventDelivery.java
index e9a8d13..517d296 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventDelivery.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventDelivery.java
@@ -19,10 +19,11 @@
 
 package org.apache.james.mailbox.store.event;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 
 public interface EventDelivery {
 
-    void deliver(MailboxListener mailboxListener, MailboxListener.MailboxEvent 
event);
+    void deliver(MailboxListener mailboxListener, Event event);
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
index c504f7c..4ac362e 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxAnnotationListener.java
@@ -20,6 +20,7 @@ package org.apache.james.mailbox.store.event;
 
 import java.util.List;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxAnnotation;
@@ -48,7 +49,7 @@ public class MailboxAnnotationListener implements 
MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         if (event instanceof EventFactory.MailboxDeletionImpl) {
             try {
                 AnnotationMapper annotationMapper = 
mailboxSessionMapperFactory.getAnnotationMapper(event.getSession());

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/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 43d811b..0f628a1 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
@@ -42,7 +42,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSortedMap;
 
 /**
- * Helper class to dispatch {@link 
org.apache.james.mailbox.MailboxListener.MailboxEvent}'s to registerend 
MailboxListener
+ * Helper class to dispatch {@link org.apache.james.mailbox.Event}'s to 
registerend MailboxListener
  */
 public class MailboxEventDispatcher {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MixedEventDelivery.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MixedEventDelivery.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MixedEventDelivery.java
index 2086c5b..bcbc044 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MixedEventDelivery.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MixedEventDelivery.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.event;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 
 public class MixedEventDelivery implements EventDelivery {
@@ -33,7 +34,7 @@ public class MixedEventDelivery implements EventDelivery {
     }
 
     @Override
-    public void deliver(MailboxListener mailboxListener, 
MailboxListener.MailboxEvent event) {
+    public void deliver(MailboxListener mailboxListener, Event event) {
         if 
(mailboxListener.getExecutionMode().equals(MailboxListener.ExecutionMode.SYNCHRONOUS))
 {
             synchronousEventDelivery.deliver(mailboxListener, event);
         } else {

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/SynchronousEventDelivery.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/SynchronousEventDelivery.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/SynchronousEventDelivery.java
index 0d8960c..97112de 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/SynchronousEventDelivery.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/SynchronousEventDelivery.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.store.event;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -28,7 +29,7 @@ public class SynchronousEventDelivery implements 
EventDelivery {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(SynchronousEventDelivery.class);
 
     @Override
-    public void deliver(MailboxListener mailboxListener, 
MailboxListener.MailboxEvent event) {
+    public void deliver(MailboxListener mailboxListener, Event event) {
         try {
             mailboxListener.event(event);
         } catch (Throwable throwable) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListener.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListener.java
index 63fae03..cb2ecb3 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListener.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/BroadcastDelegatingMailboxListener.java
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.store.event.distributed;
 
 import java.util.Collection;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -97,8 +98,15 @@ public class BroadcastDelegatingMailboxListener implements 
DistributedDelegating
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         deliverEventToGlobalListeners(event, ListenerType.ONCE);
+        if (event instanceof MailboxEvent) {
+            MailboxEvent mailboxEvent = (MailboxEvent) event;
+            publishMailboxEvent(mailboxEvent);
+        }
+    }
+
+    private void publishMailboxEvent(MailboxEvent event) {
         try {
             publisher.publish(globalTopic, 
eventSerializer.serializeEvent(event));
         } catch (Throwable t) {
@@ -129,7 +137,7 @@ public class BroadcastDelegatingMailboxListener implements 
DistributedDelegating
         }
     }
 
-    private void deliverEventToGlobalListeners(MailboxEvent event, 
ListenerType type) {
+    private void deliverEventToGlobalListeners(Event event, ListenerType type) 
{
         for (MailboxListener mailboxListener : 
mailboxListenerRegistry.getGlobalListeners()) {
             if (mailboxListener.getType() == type) {
                 eventDelivery.deliver(mailboxListener, event);

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListener.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListener.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListener.java
index 3c2255c..ef3fca6 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListener.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/distributed/RegisteredDelegatingMailboxListener.java
@@ -22,6 +22,7 @@ package org.apache.james.mailbox.store.event.distributed;
 import java.util.Collection;
 import java.util.Set;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -103,11 +104,14 @@ public class RegisteredDelegatingMailboxListener 
implements DistributedDelegatin
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         try {
             deliverEventToOnceGlobalListeners(event);
             deliverToMailboxPathRegisteredListeners(event);
-            sendToRemoteJames(event);
+            if (event instanceof MailboxEvent) {
+                MailboxEvent mailboxEvent = (MailboxEvent) event;
+                sendToRemoteJames(mailboxEvent);
+            }
         } catch (Throwable t) {
             LOGGER.error("Error while delegating event {}", 
event.getClass().getCanonicalName(), t);
         }
@@ -122,22 +126,29 @@ public class RegisteredDelegatingMailboxListener 
implements DistributedDelegatin
         }
     }
 
-    private void deliverToMailboxPathRegisteredListeners(MailboxEvent event) 
throws MailboxException {
-        Collection<MailboxListener> listenerSnapshot = 
mailboxListenerRegistry.getLocalMailboxListeners(event.getMailboxPath());
-        if (event instanceof MailboxDeletion && listenerSnapshot.size() > 0) {
-            mailboxListenerRegistry.deleteRegistryFor(event.getMailboxPath());
-            mailboxPathRegister.doCompleteUnRegister(event.getMailboxPath());
-        } else if (event instanceof MailboxRenamed && listenerSnapshot.size() 
> 0) {
-            MailboxRenamed renamed = (MailboxRenamed) event;
+    private void deliverToMailboxPathRegisteredListeners(Event event) throws 
MailboxException {
+        if (event instanceof MailboxEvent) {
+            MailboxEvent mailboxEvent = (MailboxEvent) event;
+            deliverToMailboxPathRegisteredListeners(mailboxEvent);
+        }
+    }
+
+    private void deliverToMailboxPathRegisteredListeners(MailboxEvent 
mailboxEvent) throws MailboxException {
+        Collection<MailboxListener> listenerSnapshot = 
mailboxListenerRegistry.getLocalMailboxListeners(mailboxEvent.getMailboxPath());
+        if (mailboxEvent instanceof MailboxDeletion && listenerSnapshot.size() 
> 0) {
+            
mailboxListenerRegistry.deleteRegistryFor(mailboxEvent.getMailboxPath());
+            
mailboxPathRegister.doCompleteUnRegister(mailboxEvent.getMailboxPath());
+        } else if (mailboxEvent instanceof MailboxRenamed && 
listenerSnapshot.size() > 0) {
+            MailboxRenamed renamed = (MailboxRenamed) mailboxEvent;
             mailboxListenerRegistry.handleRename(renamed.getMailboxPath(), 
renamed.getNewPath());
             mailboxPathRegister.doRename(renamed.getMailboxPath(), 
renamed.getNewPath());
         }
         for (MailboxListener listener : listenerSnapshot) {
-            eventDelivery.deliver(listener, event);
+            eventDelivery.deliver(listener, mailboxEvent);
         }
     }
 
-    private void deliverEventToOnceGlobalListeners(MailboxEvent event) {
+    private void deliverEventToOnceGlobalListeners(Event event) {
         for (MailboxListener mailboxListener : 
mailboxListenerRegistry.getGlobalListeners()) {
             if (mailboxListener.getType() == ListenerType.ONCE) {
                 eventDelivery.deliver(mailboxListener, event);

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
index 0f1ea14..6512b18 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
@@ -22,6 +22,7 @@ import java.util.List;
 
 import javax.inject.Inject;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -54,13 +55,16 @@ public class ListeningCurrentQuotaUpdater implements 
MailboxListener, QuotaUpdat
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         try {
-            QuotaRoot quotaRoot = 
quotaRootResolver.getQuotaRoot(event.getMailboxPath());
             if (event instanceof Added) {
-                handleAddedEvent((Added) event, quotaRoot);
+                Added addedEvent = (Added) event;
+                QuotaRoot quotaRoot = 
quotaRootResolver.getQuotaRoot(addedEvent.getMailboxPath());
+                handleAddedEvent(addedEvent, quotaRoot);
             } else if (event instanceof Expunged) {
-                handleExpungedEvent((Expunged) event, quotaRoot);
+                Expunged expungedEvent = (Expunged) event;
+                QuotaRoot quotaRoot = 
quotaRootResolver.getQuotaRoot(expungedEvent.getMailboxPath());
+                handleExpungedEvent(expungedEvent, quotaRoot);
             }
         } catch (MailboxException e) {
             LOGGER.error("Error while updating quotas", e);

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
index 488bab2..92dc0db 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.store.search;
 import java.util.List;
 import java.util.Optional;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
@@ -67,11 +68,11 @@ public abstract class ListeningMessageSearchIndex 
implements MessageSearchIndex,
     
     
     /**
-     * Process the {@link 
org.apache.james.mailbox.MailboxListener.MailboxEvent} and update the index if
+     * Process the {@link org.apache.james.mailbox.Event} and update the index 
if
      * something relevant is received
      */
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         final MailboxSession session = event.getSession();
 
         try {

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/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 8c481b7..d67b242 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
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.when;
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.FlagsBuilder;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
@@ -49,9 +50,9 @@ import com.google.common.collect.ImmutableMap;
 public class MailboxEventDispatcherTest {
     private static final int sessionId = 10;
     private static final int MOD_SEQ = -1;
-    public static final Condition<MailboxListener.MailboxEvent> 
INSTANCE_OF_EVENT_FLAGS_UPDATED = new Condition<MailboxListener.MailboxEvent>() 
{
+    public static final Condition<Event> INSTANCE_OF_EVENT_FLAGS_UPDATED = new 
Condition<Event>() {
         @Override
-        public boolean matches(MailboxListener.MailboxEvent event) {
+        public boolean matches(Event event) {
             return event instanceof MailboxListener.FlagsUpdated;
         }
     };

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
----------------------------------------------------------------------
diff --git 
a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
 
b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
index 9eee6c5..56e5b54 100644
--- 
a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
+++ 
b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/GlobalRegistration.java
@@ -22,6 +22,7 @@ package org.apache.james.mailbox.indexer.registrations;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.model.MailboxPath;
 
@@ -54,11 +55,13 @@ public class GlobalRegistration implements MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         if (event instanceof MailboxDeletion) {
-            isPathDeleted.put(event.getMailboxPath(), true);
+            MailboxDeletion mailboxDeletion = (MailboxDeletion) event;
+            isPathDeleted.put(mailboxDeletion.getMailboxPath(), true);
         } else if (event instanceof MailboxRenamed) {
-            nameCorrespondence.put(event.getMailboxPath(), ((MailboxRenamed) 
event).getNewPath());
+            MailboxRenamed mailboxRenamed = (MailboxRenamed) event;
+            nameCorrespondence.put(mailboxRenamed.getMailboxPath(), 
((MailboxRenamed) event).getNewPath());
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistration.java
----------------------------------------------------------------------
diff --git 
a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistration.java
 
b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistration.java
index 0f0b49a..6232c92 100644
--- 
a/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistration.java
+++ 
b/mailbox/tool/src/main/java/org/apache/james/mailbox/indexer/registrations/MailboxRegistration.java
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.indexer.registrations;
 
 import java.util.List;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.indexer.events.FlagsMessageEvent;
@@ -59,7 +60,7 @@ public class MailboxRegistration implements MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         if (event instanceof FlagsUpdated) {
             for (UpdatedFlags updatedFlags : ((FlagsUpdated) 
event).getUpdatedFlags()) {
                 impactingMessageEvents.put(updatedFlags.getUid(), new 
FlagsMessageEvent(mailboxPath, updatedFlags.getUid(), 
updatedFlags.getNewFlags()));

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
index bcd7807..caa128f 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
@@ -42,6 +42,7 @@ import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SelectedMailbox;
 import org.apache.james.imap.message.request.IdleRequest;
 import org.apache.james.imap.message.response.ContinuationResponse;
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -188,7 +189,7 @@ public class IdleProcessor extends 
AbstractMailboxProcessor<IdleRequest> impleme
             this.responder = responder;
         }
 
-        public void event(MailboxEvent event) {
+        public void event(Event event) {
             if (event instanceof Added || event instanceof Expunged || event 
instanceof FlagsUpdated) {
                 unsolicitedResponses(session, responder, false);
             }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
index c60c9b0..bdb6583 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
@@ -27,12 +27,14 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 import java.util.TreeSet;
+
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
 import org.apache.james.imap.api.ImapSessionUtils;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
@@ -305,16 +307,23 @@ public class SelectedMailboxImpl implements 
SelectedMailbox, MailboxListener {
     }
 
     
-    public synchronized void event(MailboxEvent event) {
+    public synchronized void event(Event event) {
+
+        if (event instanceof MailboxEvent) {
+            MailboxEvent mailboxEvent = (MailboxEvent) event;
+            mailboxEvent(mailboxEvent);
+        }
+    }
 
+    private void mailboxEvent(MailboxEvent mailboxEvent) {
         // Check if the event was for the mailbox we are observing
-        if (event.getMailboxPath().equals(getPath())) {
-            final long eventSessionId = event.getSession().getSessionId();
-            if (event instanceof MessageEvent) {
-                final MessageEvent messageEvent = (MessageEvent) event;
+        if (mailboxEvent.getMailboxPath().equals(getPath())) {
+            final long eventSessionId = 
mailboxEvent.getSession().getSessionId();
+            if (mailboxEvent instanceof MessageEvent) {
+                final MessageEvent messageEvent = (MessageEvent) mailboxEvent;
                 if (messageEvent instanceof Added) {
                     sizeChanged = true;
-                    final List<MessageUid> uids = ((Added) event).getUids();
+                    final List<MessageUid> uids = ((Added) 
mailboxEvent).getUids();
                     SelectedMailbox sm = session.getSelected();
                     for (MessageUid uid : uids) {
                         uidMsnConverter.addUid(uid);
@@ -326,14 +335,14 @@ public class SelectedMailboxImpl implements 
SelectedMailbox, MailboxListener {
                     FlagsUpdated updated = (FlagsUpdated) messageEvent;
                     List<UpdatedFlags> uFlags = updated.getUpdatedFlags();
                     if (sessionId != eventSessionId || !silentFlagChanges) {
-
+   
                         for (UpdatedFlags u : uFlags) {
                             if (interestingFlags(u)) {
                                 flagUpdateUids.add(u.getUid());
                             }
                         }
                     }
-
+   
                     SelectedMailbox sm = session.getSelected();
                     if (sm != null) {
                         // We need to add the UID of the message to the recent
@@ -343,33 +352,33 @@ public class SelectedMailboxImpl implements 
SelectedMailbox, MailboxListener {
                         List<UpdatedFlags> uflags = updated.getUpdatedFlags();
                         for (UpdatedFlags u : uflags) {
                             Iterator<Flag> flags = u.systemFlagIterator();
-
+   
                             while (flags.hasNext()) {
                                 if (Flag.RECENT.equals(flags.next())) {
                                     MailboxPath path = sm.getPath();
-                                    if (path != null && 
path.equals(event.getMailboxPath())) {
+                                    if (path != null && 
path.equals(mailboxEvent.getMailboxPath())) {
                                         sm.addRecent(u.getUid());
                                     }
                                 }
                             }
-
-
+   
+   
                         }
                     }
                     
                     int size = applicableFlags.getUserFlags().length;
                     FlagsUpdated updatedF = (FlagsUpdated) messageEvent;
                     List<UpdatedFlags> flags = updatedF.getUpdatedFlags();
-
+   
                     for (UpdatedFlags flag : flags) {
                         applicableFlags.add(flag.getNewFlags());
-
+   
                     }
-
+   
                     // \RECENT is not a applicable flag in imap so remove it
                     // from the list
                     applicableFlags.remove(Flags.Flag.RECENT);
-
+   
                     if (size < applicableFlags.getUserFlags().length) {
                         applicableFlagsChanged = true;
                     }
@@ -379,12 +388,12 @@ public class SelectedMailboxImpl implements 
SelectedMailbox, MailboxListener {
                     expungedUids.addAll(messageEvent.getUids());
                     
                 }
-            } else if (event instanceof MailboxDeletion) {
+            } else if (mailboxEvent instanceof MailboxDeletion) {
                 if (eventSessionId != sessionId) {
                     isDeletedByOtherSession = true;
                 }
-            } else if (event instanceof MailboxRenamed) {
-                final MailboxRenamed mailboxRenamed = (MailboxRenamed) event;
+            } else if (mailboxEvent instanceof MailboxRenamed) {
+                final MailboxRenamed mailboxRenamed = (MailboxRenamed) 
mailboxEvent;
                 path = mailboxRenamed.getNewPath();
             }
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
index 0ffe39b..5b78467 100644
--- 
a/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
+++ 
b/server/protocols/jmap-integration-testing/jmap-integration-testing-common/src/test/java/org/apache/james/jmap/methods/integration/SetMessagesMethodTest.java
@@ -59,6 +59,7 @@ import org.apache.james.GuiceJamesServer;
 import org.apache.james.jmap.HttpJmapAuthentication;
 import org.apache.james.jmap.api.access.AccessToken;
 import org.apache.james.mailbox.DefaultMailboxes;
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.FlagsBuilder;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.Role;
@@ -2196,7 +2197,7 @@ public abstract class SetMessagesMethodTest {
             "  ]" +
             "]";
 
-        List<MailboxListener.MailboxEvent> events = Lists.newArrayList();
+        List<Event> events = Lists.newArrayList();
         jmapServer.getProbe(JmapGuiceProbe.class).addMailboxListener(new 
MailboxListener() {
             @Override
             public ListenerType getType() {
@@ -2209,7 +2210,7 @@ public abstract class SetMessagesMethodTest {
             }
 
             @Override
-            public void event(MailboxEvent event) {
+            public void event(Event event) {
                 events.add(event);
             }
         });
@@ -2230,7 +2231,7 @@ public abstract class SetMessagesMethodTest {
             .anyMatch(event -> isAddedToOutboxEvent(messageId, event)));
     }
 
-    private boolean isAddedToOutboxEvent(String messageId, 
MailboxListener.MailboxEvent event) {
+    private boolean isAddedToOutboxEvent(String messageId, Event event) {
         if (!(event instanceof EventFactory.AddedImpl)) {
             return false;
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/da4b71ac/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java
----------------------------------------------------------------------
diff --git 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java
 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java
index 8d901ba..44734dc 100644
--- 
a/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java
+++ 
b/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java
@@ -23,6 +23,7 @@ import java.util.stream.Stream;
 
 import javax.inject.Inject;
 
+import org.apache.james.mailbox.Event;
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.RightManager;
@@ -58,13 +59,13 @@ public class PropagateLookupRightListener implements 
MailboxListener {
     }
 
     @Override
-    public void event(MailboxEvent event) {
+    public void event(Event event) {
         MailboxSession mailboxSession = event.getSession();
 
         if (event instanceof MailboxACLUpdated) {
             MailboxACLUpdated aclUpdateEvent = (MailboxACLUpdated) event;
 
-            updateLookupRightOnParent(mailboxSession, event.getMailboxPath(), 
aclUpdateEvent.getAclDiff());
+            updateLookupRightOnParent(mailboxSession, 
aclUpdateEvent.getMailboxPath(), aclUpdateEvent.getAclDiff());
         } else if (event instanceof MailboxRenamed) {
             MailboxRenamed renamedEvent = (MailboxRenamed) event;
             updateLookupRightOnParent(mailboxSession, 
renamedEvent.getNewPath());


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

Reply via email to