http://git-wip-us.apache.org/repos/asf/james-project/blob/b44dc56f/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java
index 10dabdb..4d67e31 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java
@@ -59,32 +59,39 @@ public class StoreRightManager implements RightManager {
 
     @Override
     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);
+        return myRights(mailboxPath, session).contains(right);
     }
 
-    public boolean hasRight(Mailbox mailbox, Right right, MailboxSession 
session) throws MailboxException {
-        MailboxSession.User user = session.getUser();
-        String userName = user != null ? user.getUserName() : null;
-        boolean resourceOwnerIsGroup = new 
GroupFolderResolver(session).isGroupFolder(mailbox);
+    @Override
+    public boolean hasRight(MailboxId mailboxId, Right right, MailboxSession 
session) throws MailboxException {
+        return myRights(mailboxId, session).contains(right);
+    }
 
-        return aclResolver.hasRight(userName, groupMembershipResolver, right, 
mailbox.getACL(), mailbox.getUser(),
-                                    resourceOwnerIsGroup);
+    public boolean hasRight(Mailbox mailbox, Right right, MailboxSession 
session) throws MailboxException {
+        return myRights(mailbox, session).contains(right);
     }
 
     @Override
     public Rfc4314Rights myRights(MailboxPath mailboxPath, MailboxSession 
session) throws MailboxException {
         MailboxMapper mapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
         Mailbox mailbox = mapper.findMailboxByPath(mailboxPath);
-        return myRights(session, mailbox);
+        return myRights(mailbox, session);
     }
 
     @Override
     public Rfc4314Rights myRights(MailboxId mailboxId, MailboxSession session) 
throws MailboxException {
         MailboxMapper mapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
         Mailbox mailbox = mapper.findMailboxById(mailboxId);
-        return myRights(session, mailbox);
+        return myRights(mailbox, session);
+    }
+
+    public Rfc4314Rights myRights(Mailbox mailbox, MailboxSession session) 
throws UnsupportedRightException {
+        MailboxSession.User user = session.getUser();
+        if (user != null) {
+            return aclResolver.resolveRights(user.getUserName(), 
groupMembershipResolver, mailbox.getACL(), mailbox.getUser(), new 
GroupFolderResolver(session).isGroupFolder(mailbox));
+        } else {
+            return MailboxACL.NO_RIGHTS;
+        }
     }
 
     @Override
@@ -109,7 +116,7 @@ public class StoreRightManager implements RightManager {
     }
 
     public boolean isReadWrite(MailboxSession session, Mailbox mailbox, Flags 
sharedPermanentFlags) throws UnsupportedRightException {
-        return aclResolver.isReadWrite(myRights(session, mailbox), 
sharedPermanentFlags);
+        return aclResolver.isReadWrite(myRights(mailbox, session), 
sharedPermanentFlags);
     }
 
     @Override
@@ -152,13 +159,4 @@ public class StoreRightManager implements RightManager {
         }
         return new MailboxACL(ImmutableMap.of(userAsKey, rights));
     }
-
-    private Rfc4314Rights myRights(MailboxSession session, Mailbox mailbox) 
throws UnsupportedRightException {
-        MailboxSession.User user = session.getUser();
-        if (user != null) {
-            return aclResolver.resolveRights(user.getUserName(), 
groupMembershipResolver, mailbox.getACL(), mailbox.getUser(), new 
GroupFolderResolver(session).isGroupFolder(mailbox));
-        } else {
-            return MailboxACL.NO_RIGHTS;
-        }
-    }
 }


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

Reply via email to