JAMES-2169 Optimize a bit right checking upon mailbox read

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

Branch: refs/heads/master
Commit: 3682a4a02877181f780ca30000dc720a56a413c1
Parents: 7e2062b
Author: benwa <[email protected]>
Authored: Wed Oct 4 09:08:36 2017 +0700
Committer: benwa <[email protected]>
Committed: Wed Oct 4 16:24:50 2017 +0700

----------------------------------------------------------------------
 .../org/apache/james/mailbox/store/StoreMailboxManager.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3682a4a0/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 7f50a8d..b96ba8c 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -48,6 +48,7 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.exception.MailboxExistsException;
 import org.apache.james.mailbox.exception.MailboxNotFoundException;
 import org.apache.james.mailbox.exception.NotAdminException;
+import org.apache.james.mailbox.exception.UnsupportedRightException;
 import org.apache.james.mailbox.exception.UserDoesNotExistException;
 import org.apache.james.mailbox.model.MailboxACL;
 import org.apache.james.mailbox.model.MailboxACL.Right;
@@ -534,7 +535,7 @@ public class StoreMailboxManager implements MailboxManager {
     }
 
     private boolean userHasReadRightsOn(Mailbox mailbox, MailboxSession 
session) throws MailboxException {
-        return hasRight(mailbox.generateAssociatedPath(), Right.Read, session);
+        return hasRight(mailbox, Right.Read, session);
     }
 
     @Override
@@ -798,6 +799,10 @@ public class StoreMailboxManager implements MailboxManager 
{
     public boolean hasRight(MailboxPath mailboxPath, Right right, 
MailboxSession session) throws MailboxException {
         MailboxMapper mapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
         Mailbox mailbox = mapper.findMailboxByPath(mailboxPath);
+        return hasRight(mailbox, right, session);
+    }
+
+    private boolean hasRight(Mailbox mailbox, Right right, MailboxSession 
session) throws UnsupportedRightException {
         MailboxSession.User user = session.getUser();
         String userName = user != null ? user.getUserName() : null;
         return aclResolver.hasRight(userName, groupMembershipResolver, right, 
mailbox.getACL(), mailbox.getUser(), new 
GroupFolderResolver(session).isGroupFolder(mailbox));


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

Reply via email to