MAILBOX-316 Re-define ACL update event and allow emitting it
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ef4b79cb Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ef4b79cb Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ef4b79cb Branch: refs/heads/master Commit: ef4b79cb2f0b08f346dc28636fc83bdf56c8cf92 Parents: 806a52b Author: quynhn <[email protected]> Authored: Mon Nov 6 16:02:03 2017 +0700 Committer: quynhn <[email protected]> Committed: Wed Nov 15 09:22:19 2017 +0700 ---------------------------------------------------------------------- .../org/apache/james/mailbox/MailboxListener.java | 18 ++++++++++-------- .../james/mailbox/store/event/EventFactory.java | 6 ++++++ .../store/event/MailboxEventDispatcher.java | 5 +++++ 3 files changed, 21 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ef4b79cb/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 2b074a1..ef8c8cc 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 @@ -22,7 +22,8 @@ package org.apache.james.mailbox; import java.io.Serializable; import java.util.List; -import org.apache.james.mailbox.model.MailboxACL; +import org.apache.james.mailbox.acl.ACLDiff; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.UpdatedFlags; @@ -143,18 +144,19 @@ public interface MailboxListener { /** * A mailbox event related to updated ACL */ - abstract class MailboxACLUpdated extends MessageEvent { - - /** - * - */ + class MailboxACLUpdated extends Event { + private final ACLDiff aclDiff; private static final long serialVersionUID = 1L; - public MailboxACLUpdated(MailboxSession session, MailboxPath path) { + public MailboxACLUpdated(MailboxSession session, MailboxPath path, ACLDiff aclDiff) { super(session, path); + this.aclDiff = aclDiff; + } + + public ACLDiff getAclDiff() { + return aclDiff; } - public abstract MailboxACL getUpdatedACL(); } /** http://git-wip-us.apache.org/repos/asf/james-project/blob/ef4b79cb/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 1cffdc4..beb9fa8 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 @@ -21,11 +21,14 @@ package org.apache.james.mailbox.store.event; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.SortedMap; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; +import org.apache.james.mailbox.acl.ACLDiff; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.UpdatedFlags; @@ -198,4 +201,7 @@ public class EventFactory { return new MailboxAddedImpl(session, mailbox); } + public MailboxListener.MailboxACLUpdated aclUpdated(MailboxSession session, MailboxPath mailboxPath, ACLDiff aclDiff) { + return new MailboxListener.MailboxACLUpdated(session, mailboxPath, aclDiff); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/ef4b79cb/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 91b7955..8fcb5ab 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 @@ -28,6 +28,8 @@ import javax.inject.Inject; import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; +import org.apache.james.mailbox.acl.ACLDiff; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.UpdatedFlags; @@ -149,4 +151,7 @@ public class MailboxEventDispatcher { listener.event(eventFactory.mailboxAdded(session, mailbox)); } + public void aclUpdated(MailboxSession session, MailboxPath mailboxPath, ACLDiff aclDiff) { + listener.event(eventFactory.aclUpdated(session, mailboxPath, aclDiff)); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
