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/08 08:00:50 UTC

[31/47] james-project git commit: MAILBOX-364 MailboxEvent builders should use staged builders

MAILBOX-364 MailboxEvent builders should use staged builders

We can leverage stage sharing through generics. Note that also uncouple stages from
each others (to define stage 1, I don't need to know stage 2, only the builder method defining the
stage chain needs that) which is a very nice benefit!

Note that alternative choices are implemented using default methods.


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

Branch: refs/heads/master
Commit: 7097446f95c933ce0508a3d200b097b50e246268
Parents: def6258
Author: Benoit Tellier <bt...@linagora.com>
Authored: Thu Jan 3 11:42:16 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 8 14:41:11 2019 +0700

----------------------------------------------------------------------
 .../james/mailbox/store/event/EventFactory.java | 421 ++++++++++---------
 .../store/event/MailboxEventDispatcher.java     |  16 +-
 .../event/MailboxAnnotationListenerTest.java    |   6 +-
 .../base/MailboxEventAnalyserTest.java          |  12 +-
 .../processor/base/SelectedMailboxImplTest.java |   2 +-
 5 files changed, 247 insertions(+), 210 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7097446f/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
index c581816..5695c6f 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java
@@ -41,291 +41,328 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSortedMap;
 
 public class EventFactory {
-    public abstract static class MailboxEventBuilder<T extends MailboxEventBuilder> {
-        protected MailboxPath path;
-        protected MailboxId mailboxId;
-        protected User user;
-        protected MailboxSession.SessionId sessionId;
-
-        protected abstract T backReference();
-
-        public T mailbox(Mailbox mailbox) {
-            path(mailbox.generateAssociatedPath());
-            mailboxId(mailbox.getMailboxId());
-            return backReference();
-        }
+    @FunctionalInterface
+    public interface RequireUser<T> {
+        T user(User user);
+    }
 
-        public T mailboxSession(MailboxSession mailboxSession) {
-            user(mailboxSession.getUser());
-            sessionId(mailboxSession.getSessionId());
-            return backReference();
-        }
+    @FunctionalInterface
+    public interface RequireSessionId<T> {
+        T sessionId(MailboxSession.SessionId sessionId);
+    }
 
-        public T mailboxId(MailboxId mailboxId) {
-            this.mailboxId = mailboxId;
-            return backReference();
+    @FunctionalInterface
+    public interface RequireSession<T> extends RequireUser<RequireSessionId<T>> {
+        default T mailboxSession(MailboxSession session) {
+            return user(session.getUser())
+                .sessionId(session.getSessionId());
         }
+    }
 
-        public T path(MailboxPath path) {
-            this.path = path;
-            return backReference();
-        }
+    @FunctionalInterface
+    public interface RequireMailboxId<T> {
+        T mailboxId(MailboxId mailboxId);
+    }
 
-        public T user(User user) {
-            this.user = user;
-            return backReference();
-        }
+    @FunctionalInterface
+    public interface RequirePath<T> {
+        T mailboxPath(MailboxPath path);
+    }
 
-        public T sessionId(MailboxSession.SessionId sessionId) {
-            this.sessionId = sessionId;
-            return backReference();
+    @FunctionalInterface
+    public interface RequireMailbox<T> extends RequireMailboxId<RequirePath<T>> {
+        default T mailbox(Mailbox mailbox) {
+            return mailboxId(mailbox.getMailboxId())
+                .mailboxPath(mailbox.generateAssociatedPath());
         }
+    }
 
-        protected void mailboxEventChecks() {
-            Preconditions.checkState(user != null, "Field `user` is compulsory");
-            Preconditions.checkState(mailboxId != null, "Field `mailboxId` is compulsory");
-            Preconditions.checkState(path != null, "Field `path` is compulsory");
-            Preconditions.checkState(sessionId != null, "Field `sessionId` is compulsory");
-        }
+    @FunctionalInterface
+    public interface RequireNewPath<T> {
+        T newPath(MailboxPath path);
     }
 
-    public abstract static class MessageMetaDataEventBuilder<T extends MessageMetaDataEventBuilder> extends MailboxEventBuilder<T> {
-        protected final ImmutableList.Builder<MessageMetaData> metaData;
+    @FunctionalInterface
+    public interface RequireOldPath<T> {
+        T oldPath(MailboxPath path);
+    }
+
+    @FunctionalInterface
+    public interface RequireMetadata<T> {
+        T metaData(ImmutableSortedMap<MessageUid, MessageMetaData> metaData);
 
-        protected MessageMetaDataEventBuilder() {
-            metaData = ImmutableList.builder();
+        default T addMetaData(MessageMetaData metaData) {
+            return metaData(ImmutableSortedMap.of(metaData.getUid(), metaData));
         }
 
-        protected abstract T backReference();
+        default T addMessage(MailboxMessage message) {
+            return addMetaData(message.metaData());
+        }
 
-        public T addMessage(MailboxMessage message) {
-            this.addMetaData(message.metaData());
-            return backReference();
+        default T addMetaData(Iterable<MessageMetaData> metaData) {
+            return metaData(ImmutableList.copyOf(metaData)
+                .stream()
+                .collect(Guavate.toImmutableSortedMap(MessageMetaData::getUid)));
         }
 
-        public T addMessages(Iterable<MailboxMessage> messages) {
-            this.addMetaData(ImmutableList.copyOf(messages)
+        default T addMessages(Iterable<MailboxMessage> messages) {
+            return metaData(ImmutableList.copyOf(messages)
                 .stream()
                 .map(MailboxMessage::metaData)
-                .collect(Guavate.toImmutableList()));
-            return backReference();
+                .collect(Guavate.toImmutableSortedMap(MessageMetaData::getUid)));
         }
+    }
 
-        public T addMetaData(MessageMetaData metaData) {
-            this.metaData.add(metaData);
-            return backReference();
-        }
+    @FunctionalInterface
+    public interface RequireAclDiff<T> {
+        T aclDiff(ACLDiff aclDiff);
+    }
+
+    @FunctionalInterface
+    public interface RequireUpdatedFlags<T> {
+        T updatedFlags(ImmutableList<UpdatedFlags> updatedFlags);
 
-        public T addMetaData(Iterable<MessageMetaData> metaData) {
-            this.metaData.addAll(metaData);
-            return backReference();
+        default T updatedFlags(Iterable<UpdatedFlags> updatedFlags) {
+            return updatedFlags(ImmutableList.copyOf(updatedFlags));
         }
 
-        protected ImmutableSortedMap<MessageUid, MessageMetaData> metaDataAsMap() {
-            return metaData.build()
-                .stream()
-                .collect(Guavate.toImmutableSortedMap(MessageMetaData::getUid));
+        default T updatedFlag(UpdatedFlags updatedFlags) {
+            return updatedFlags(ImmutableList.of(updatedFlags));
         }
     }
 
-    public static class AddedBuilder extends MessageMetaDataEventBuilder<AddedBuilder> {
-        @Override
-        protected AddedBuilder backReference() {
-            return this;
-        }
+    @FunctionalInterface
+    public interface RequireQuotaRoot<T> {
+        T quotaRoot(QuotaRoot quotaRoot);
+    }
 
-        public MailboxListener.Added build() {
-            mailboxEventChecks();
-
-            return new MailboxListener.Added(
-                sessionId,
-                user,
-                path,
-                mailboxId,
-                metaDataAsMap());
-        }
+    @FunctionalInterface
+    public interface RequireQuotaCount<T> {
+        T quotaCount(QuotaCount quotaCount);
     }
 
-    public static class ExpungedBuilder extends MessageMetaDataEventBuilder<ExpungedBuilder> {
-        @Override
-        protected ExpungedBuilder backReference() {
-            return this;
+    @FunctionalInterface
+    public interface RequireQuotaSize<T> {
+        T quotaSize(QuotaSize quotaSize);
+    }
+
+    @FunctionalInterface
+    public interface RequireMailboxEvent<T> extends RequireSession<RequireMailbox<T>> {}
+
+    public static class MailboxAddedFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+
+        MailboxAddedFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
         }
 
-        public MailboxListener.Expunged build() {
-            mailboxEventChecks();
-            
-            return new MailboxListener.Expunged(
-                sessionId,
-                user,
-                path,
-                mailboxId,
-                metaDataAsMap());
+        public MailboxListener.MailboxAdded build() {
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+
+            return new MailboxListener.MailboxAdded(sessionId, user, path, mailboxId);
         }
     }
 
-    public static class MailboxAclUpdatedBuilder extends MailboxEventBuilder<MailboxAclUpdatedBuilder> {
-        private ACLDiff aclDiff;
+    public static class AddedFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final ImmutableSortedMap<MessageUid, MessageMetaData> metaData;
 
-        public MailboxAclUpdatedBuilder aclDiff(ACLDiff aclDiff) {
-            this.aclDiff = aclDiff;
-            return this;
+        AddedFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, ImmutableSortedMap<MessageUid, MessageMetaData> metaData) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
+            this.metaData = metaData;
         }
 
-        @Override
-        protected MailboxAclUpdatedBuilder backReference() {
-            return this;
-        }
+        public MailboxListener.Added build() {
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+            Preconditions.checkNotNull(metaData);
 
-        public MailboxListener.MailboxACLUpdated build() {
-            Preconditions.checkState(aclDiff != null, "Field `aclDiff` is compulsory");
-            mailboxEventChecks();
-
-            return new MailboxListener.MailboxACLUpdated(
-                sessionId,
-                user,
-                path,
-                aclDiff,
-                mailboxId);
+            return new MailboxListener.Added(sessionId, user, path, mailboxId, metaData);
         }
     }
 
-    public static class MailboxAddedBuilder extends MailboxEventBuilder<MailboxAddedBuilder> {
-        @Override
-        protected MailboxAddedBuilder backReference() {
-            return this;
+    public static class ExpungedFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final ImmutableSortedMap<MessageUid, MessageMetaData> metaData;
+
+        ExpungedFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, ImmutableSortedMap<MessageUid, MessageMetaData> metaData) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
+            this.metaData = metaData;
         }
 
-        public MailboxListener.MailboxAdded build() {
-            mailboxEventChecks();
+        public MailboxListener.Expunged build() {
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+            Preconditions.checkNotNull(metaData);
 
-            return new MailboxListener.MailboxAdded(sessionId, user, path, mailboxId);
+            return new MailboxListener.Expunged(sessionId, user, path, mailboxId, metaData);
         }
     }
 
-    public static class MailboxDeletionBuilder extends MailboxEventBuilder<MailboxDeletionBuilder> {
-        private QuotaRoot quotaRoot;
-        private QuotaCount deletedMessageCount;
-        private QuotaSize totalDeletedSize;
+    public static class MailboxAclUpdatedFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final ACLDiff aclDiff;
 
-        @Override
-        protected MailboxDeletionBuilder backReference() {
-            return this;
+        MailboxAclUpdatedFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, ACLDiff aclDiff) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
+            this.aclDiff = aclDiff;
         }
 
-        public MailboxDeletionBuilder quotaRoot(QuotaRoot quotaRoot) {
-            this.quotaRoot = quotaRoot;
-            return this;
-        }
+        public MailboxListener.MailboxACLUpdated build() {
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+            Preconditions.checkNotNull(aclDiff);
 
-        public MailboxDeletionBuilder deletedMessageCount(QuotaCount deletedMessageCount) {
-            this.deletedMessageCount = deletedMessageCount;
-            return this;
+            return new MailboxListener.MailboxACLUpdated(sessionId, user, path, aclDiff, mailboxId);
         }
+    }
 
-        public MailboxDeletionBuilder totalDeletedSize(QuotaSize totalDeletedSize) {
+    public static class MailboxDeletionFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final QuotaRoot quotaRoot;
+        private final QuotaCount deletedMessageCount;
+        private final QuotaSize totalDeletedSize;
+
+        MailboxDeletionFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, QuotaRoot quotaRoot, QuotaCount deletedMessageCount, QuotaSize totalDeletedSize) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
+            this.quotaRoot = quotaRoot;
+            this.deletedMessageCount = deletedMessageCount;
             this.totalDeletedSize = totalDeletedSize;
-            return this;
         }
 
         public MailboxListener.MailboxDeletion build() {
-            mailboxEventChecks();
-            Preconditions.checkState(quotaRoot != null, "Field `quotaRoot` is compulsory");
-            Preconditions.checkState(deletedMessageCount != null, "Field `deletedMessageCount` is compulsory");
-            Preconditions.checkState(totalDeletedSize != null, "Field `totalDeletedSize` is compulsory");
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+            Preconditions.checkNotNull(quotaRoot);
+            Preconditions.checkNotNull(deletedMessageCount);
+            Preconditions.checkNotNull(totalDeletedSize);
 
             return new MailboxListener.MailboxDeletion(sessionId, user, path, quotaRoot, deletedMessageCount, totalDeletedSize, mailboxId);
         }
     }
 
-    public static class MailboxRenamedBuilder extends MailboxEventBuilder<MailboxRenamedBuilder> {
-        private MailboxPath newPath;
+    public static class MailboxRenamedFinalStage {
+        private final MailboxPath oldPath;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final MailboxPath newPath;
 
-        @Override
-        protected MailboxRenamedBuilder backReference() {
-            return this;
-        }
-
-        public MailboxRenamedBuilder newPath(MailboxPath newPath) {
+        MailboxRenamedFinalStage(MailboxPath oldPath, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, MailboxPath newPath) {
+            this.oldPath = oldPath;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
             this.newPath = newPath;
-            return this;
         }
 
-        public MailboxRenamedBuilder oldPath(MailboxPath oldPath) {
-            this.path = oldPath;
-            return this;
-        }
 
         public MailboxListener.MailboxRenamed build() {
-            mailboxEventChecks();
-            Preconditions.checkState(path != null, "Field `newPath` is compulsory");
-
-            return new MailboxListener.MailboxRenamed(
-                sessionId,
-                user,
-                path,
-                mailboxId,
-                newPath);
-        }
-    }
-
-    public static class FlagsUpdatedBuilder extends MailboxEventBuilder<FlagsUpdatedBuilder> {
-        private final ImmutableList.Builder<UpdatedFlags> updatedFlags;
+            Preconditions.checkNotNull(oldPath);
+            Preconditions.checkNotNull(newPath);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
 
-        public FlagsUpdatedBuilder() {
-            updatedFlags = ImmutableList.builder();
+            return new MailboxListener.MailboxRenamed(sessionId, user, oldPath, mailboxId, newPath);
         }
+    }
 
-        public FlagsUpdatedBuilder updatedFags(Iterable<UpdatedFlags> updatedFlags) {
-            this.updatedFlags.addAll(updatedFlags);
-            return this;
-        }
+    public static class FlagsUpdatedFinalStage {
+        private final MailboxPath path;
+        private final MailboxId mailboxId;
+        private final User user;
+        private final MailboxSession.SessionId sessionId;
+        private final ImmutableList<UpdatedFlags> updatedFlags;
 
-        public FlagsUpdatedBuilder updatedFags(UpdatedFlags updatedFlags) {
-            this.updatedFlags.add(updatedFlags);
-            return this;
+        FlagsUpdatedFinalStage(MailboxPath path, MailboxId mailboxId, User user, MailboxSession.SessionId sessionId, ImmutableList<UpdatedFlags> updatedFlags) {
+            this.path = path;
+            this.mailboxId = mailboxId;
+            this.user = user;
+            this.sessionId = sessionId;
+            this.updatedFlags = updatedFlags;
         }
 
-        @Override
-        protected FlagsUpdatedBuilder backReference() {
-            return this;
-        }
 
         public MailboxListener.FlagsUpdated build() {
-            mailboxEventChecks();
-
-            ImmutableList<UpdatedFlags> updatedFlags = this.updatedFlags.build();
+            Preconditions.checkNotNull(path);
+            Preconditions.checkNotNull(mailboxId);
+            Preconditions.checkNotNull(user);
+            Preconditions.checkNotNull(sessionId);
+            Preconditions.checkNotNull(updatedFlags);
 
             return new MailboxListener.FlagsUpdated(sessionId, user, path, mailboxId, updatedFlags);
         }
     }
 
-    public static AddedBuilder added() {
-        return new AddedBuilder();
+    public static RequireMailboxEvent<RequireMetadata<AddedFinalStage>> added() {
+        return user -> sessionId -> mailboxId -> path -> metaData -> new AddedFinalStage(path, mailboxId, user, sessionId, metaData);
     }
 
-    public static ExpungedBuilder expunged() {
-        return new ExpungedBuilder();
+    public static RequireMailboxEvent<RequireMetadata<ExpungedFinalStage>> expunged() {
+        return user -> sessionId -> mailboxId -> path -> metaData -> new ExpungedFinalStage(path, mailboxId, user, sessionId, metaData);
     }
 
-    public static FlagsUpdatedBuilder flagsUpdated() {
-        return new FlagsUpdatedBuilder();
+    public static RequireMailboxEvent<RequireUpdatedFlags<FlagsUpdatedFinalStage>> flagsUpdated() {
+        return user -> sessionId -> mailboxId -> path -> updatedFlags -> new FlagsUpdatedFinalStage(path, mailboxId, user, sessionId, updatedFlags);
     }
 
-    public static MailboxRenamedBuilder mailboxRenamed() {
-        return new MailboxRenamedBuilder();
+    public static RequireSession<RequireMailboxId<RequireOldPath<RequireNewPath<MailboxRenamedFinalStage>>>> mailboxRenamed() {
+        return user -> sessionId -> mailboxId -> oldPath -> newPath -> new MailboxRenamedFinalStage(oldPath, mailboxId, user, sessionId, newPath);
     }
 
-    public static MailboxDeletionBuilder mailboxDeleted() {
-        return new MailboxDeletionBuilder();
+    public static  RequireMailboxEvent<RequireQuotaRoot<RequireQuotaCount<RequireQuotaSize<MailboxDeletionFinalStage>>>> mailboxDeleted() {
+        return user -> sessionId -> mailboxId -> path -> quotaRoot -> quotaCount -> quotaSize -> new MailboxDeletionFinalStage(
+            path, mailboxId, user, sessionId, quotaRoot, quotaCount, quotaSize);
     }
 
-    public static MailboxAddedBuilder mailboxAdded() {
-        return new MailboxAddedBuilder();
+    public static RequireMailboxEvent<MailboxAddedFinalStage> mailboxAdded() {
+        return user -> sessionId -> mailboxId -> path -> new MailboxAddedFinalStage(path, mailboxId, user, sessionId);
     }
 
-    public static MailboxAclUpdatedBuilder aclUpdated() {
-        return new MailboxAclUpdatedBuilder();
+    public static RequireMailboxEvent<RequireAclDiff<MailboxAclUpdatedFinalStage>> aclUpdated() {
+        return user -> sessionId -> mailboxId -> path -> aclDiff -> new MailboxAclUpdatedFinalStage(path, mailboxId, user, sessionId, aclDiff);
     }
 
     public static MessageMoveEvent.Builder moved() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/7097446f/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 5de959c..c82bb13 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
@@ -71,8 +71,8 @@ public class MailboxEventDispatcher {
      */
     public void added(MailboxSession session, SortedMap<MessageUid, MessageMetaData> uids, Mailbox mailbox) {
         event(EventFactory.added()
-            .mailbox(mailbox)
             .mailboxSession(session)
+            .mailbox(mailbox)
             .addMetaData(uids.values())
             .build());
     }
@@ -102,8 +102,8 @@ public class MailboxEventDispatcher {
      */
     public void expunged(MailboxSession session,  Map<MessageUid, MessageMetaData> uids, Mailbox mailbox) {
         event(EventFactory.expunged()
-            .mailbox(mailbox)
             .mailboxSession(session)
+            .mailbox(mailbox)
             .addMetaData(uids.values())
             .build());
     }
@@ -121,9 +121,9 @@ public class MailboxEventDispatcher {
      */
     public void flagsUpdated(MailboxSession session, Mailbox mailbox, List<UpdatedFlags> uflags) {
         event(EventFactory.flagsUpdated()
-            .mailbox(mailbox)
             .mailboxSession(session)
-            .updatedFags(uflags)
+            .mailbox(mailbox)
+            .updatedFlags(uflags)
             .build());
     }
 
@@ -153,8 +153,8 @@ public class MailboxEventDispatcher {
             .mailboxSession(session)
             .mailbox(mailbox)
             .quotaRoot(quotaRoot)
-            .deletedMessageCount(deletedMessageCount)
-            .totalDeletedSize(totalDeletedSize)
+            .quotaCount(deletedMessageCount)
+            .quotaSize(totalDeletedSize)
             .build());
     }
 
@@ -164,16 +164,16 @@ public class MailboxEventDispatcher {
      */
     public void mailboxAdded(MailboxSession session, Mailbox mailbox) {
         event(EventFactory.mailboxAdded()
-            .mailbox(mailbox)
             .mailboxSession(session)
+            .mailbox(mailbox)
             .build());
     }
 
     public void aclUpdated(MailboxSession session, MailboxPath mailboxPath, ACLDiff aclDiff, MailboxId mailboxId) {
         event(EventFactory.aclUpdated()
             .mailboxSession(session)
-            .path(mailboxPath)
             .mailboxId(mailboxId)
+            .mailboxPath(mailboxPath)
             .aclDiff(aclDiff)
             .build());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/7097446f/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
index fe8eaf1..1b55fb5 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java
@@ -80,10 +80,10 @@ public class MailboxAnnotationListenerTest {
         deleteEvent = EventFactory.mailboxDeleted()
             .mailboxSession(mailboxSession)
             .mailboxId(mailboxId)
-            .path(MailboxPath.forUser("user", "name"))
+            .mailboxPath(MailboxPath.forUser("user", "name"))
             .quotaRoot(QuotaRoot.quotaRoot("root", Optional.empty()))
-            .deletedMessageCount(QuotaCount.count(123))
-            .totalDeletedSize(QuotaSize.size(456))
+            .quotaCount(QuotaCount.count(123))
+            .quotaSize(QuotaSize.size(456))
             .build();
 
         when(mailboxManager.createSystemSession(deleteEvent.getUser().asString()))

http://git-wip-us.apache.org/repos/asf/james-project/blob/7097446f/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
index 9115010..ef3934c 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
@@ -183,7 +183,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(NOOP_UPDATED_FLAGS)
+            .updatedFlag(NOOP_UPDATED_FLAGS)
             .build();
 
         testee.event(update);
@@ -196,7 +196,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(OTHER_MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(ADD_ANSWERED_UPDATED_FLAGS)
+            .updatedFlag(ADD_ANSWERED_UPDATED_FLAGS)
             .build();
 
         testee.event(update);
@@ -211,7 +211,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(ADD_ANSWERED_UPDATED_FLAGS)
+            .updatedFlag(ADD_ANSWERED_UPDATED_FLAGS)
             .build();
 
         analyser.event(update);
@@ -226,7 +226,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(OTHER_MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(ADD_ANSWERED_UPDATED_FLAGS)
+            .updatedFlag(ADD_ANSWERED_UPDATED_FLAGS)
             .build();
 
         testee.event(update);
@@ -241,7 +241,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(NOOP_UPDATED_FLAGS)
+            .updatedFlag(NOOP_UPDATED_FLAGS)
             .build();
 
         testee.event(update);
@@ -256,7 +256,7 @@ public class MailboxEventAnalyserTest {
         MailboxListener.FlagsUpdated update = EventFactory.flagsUpdated()
             .mailboxSession(MAILBOX_SESSION)
             .mailbox(DEFAULT_MAILBOX)
-            .updatedFags(ADD_RECENT_UPDATED_FLAGS)
+            .updatedFlag(ADD_RECENT_UPDATED_FLAGS)
             .build();
 
         testee.event(update);

http://git-wip-us.apache.org/repos/asf/james-project/blob/7097446f/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
----------------------------------------------------------------------
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
index 2622c4b..2e13921 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/SelectedMailboxImplTest.java
@@ -164,9 +164,9 @@ public class SelectedMailboxImplTest {
 
     private void emitEvent(MailboxListener mailboxListener) {
         mailboxListener.event(EventFactory.added()
+            .mailboxSession(MailboxSessionUtil.create("user"))
             .mailbox(mailbox)
             .addMetaData(new MessageMetaData(EMITTED_EVENT_UID, MOD_SEQ, new Flags(), SIZE, new Date(), new DefaultMessageId()))
-            .mailboxSession(MailboxSessionUtil.create("user"))
             .build());
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org