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:47 UTC
[28/47] james-project git commit: MAILBOX-364 EventFactory should
expose a builder for MailboxRenamed event
MAILBOX-364 EventFactory should expose a builder for MailboxRenamed event
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b5608ad2
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b5608ad2
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b5608ad2
Branch: refs/heads/master
Commit: b5608ad26ee9b306e5d9ee97e7aa5d15bf11f529
Parents: 098dbe4
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Dec 19 13:52:52 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 8 14:40:28 2019 +0700
----------------------------------------------------------------------
.../james/mailbox/store/event/EventFactory.java | 39 +++++++++++++++++---
.../store/event/MailboxEventDispatcher.java | 7 +++-
2 files changed, 39 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b5608ad2/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 de9ed6e..cc8a2f6 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
@@ -242,6 +242,37 @@ public class EventFactory {
}
}
+ public static class MailboxRenamedBuilder extends MailboxEventBuilder<MailboxRenamedBuilder> {
+ private MailboxPath newPath;
+
+ @Override
+ protected MailboxRenamedBuilder backReference() {
+ return this;
+ }
+
+ public MailboxRenamedBuilder newPath(MailboxPath newPath) {
+ 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;
@@ -285,12 +316,8 @@ public class EventFactory {
return new FlagsUpdatedBuilder();
}
- public MailboxListener.MailboxRenamed mailboxRenamed(MailboxSession session, MailboxPath from, Mailbox to) {
- return mailboxRenamed(session.getSessionId(), session.getUser(), from, to);
- }
-
- public MailboxListener.MailboxRenamed mailboxRenamed(MailboxSession.SessionId sessionId, User user, MailboxPath from, Mailbox to) {
- return new MailboxListener.MailboxRenamed(sessionId, user, from, to.getMailboxId(), to.generateAssociatedPath());
+ public MailboxRenamedBuilder mailboxRenamed() {
+ return new MailboxRenamedBuilder();
}
public MailboxDeletionBuilder mailboxDeleted() {
http://git-wip-us.apache.org/repos/asf/james-project/blob/b5608ad2/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 da360d5..e7a8a4f 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
@@ -149,7 +149,12 @@ public class MailboxEventDispatcher {
* MailboxListener will get triggered then
*/
public void mailboxRenamed(MailboxSession session, MailboxPath from, Mailbox to) {
- event(eventFactory.mailboxRenamed(session, from, to));
+ event(eventFactory.mailboxRenamed()
+ .mailboxSession(session)
+ .mailboxId(to.getMailboxId())
+ .oldPath(from)
+ .newPath(to.generateAssociatedPath())
+ .build());
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org