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 ad...@apache.org on 2017/11/15 08:02:02 UTC

[04/11] james-project git commit: MAILBOX-316 Re-define ACL update event and allow emitting it

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 <qn...@linagora.com>
Authored: Mon Nov 6 16:02:03 2017 +0700
Committer: quynhn <qn...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org