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 ma...@apache.org on 2017/09/29 07:22:00 UTC

[22/31] james-project git commit: MAILBOX-307 Removing unneeded interface-sception for ACLs

http://git-wip-us.apache.org/repos/asf/james-project/blob/4e10f10b/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java
index 570ce4c..ecdd3bf 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/acl/UnionMailboxACLResolverTest.java
@@ -22,11 +22,10 @@ package org.apache.james.mailbox.acl;
 
 import org.apache.james.mailbox.exception.UnsupportedRightException;
 import org.apache.james.mailbox.model.MailboxACL;
+import org.apache.james.mailbox.model.MailboxACL.Entry;
+import org.apache.james.mailbox.model.MailboxACL.EntryKey;
 import org.apache.james.mailbox.model.MailboxACL.NameType;
-import org.apache.james.mailbox.model.SimpleMailboxACL;
-import org.apache.james.mailbox.model.SimpleMailboxACL.Rfc4314Rights;
-import org.apache.james.mailbox.model.SimpleMailboxACL.SimpleMailboxACLEntry;
-import org.apache.james.mailbox.model.SimpleMailboxACL.SimpleMailboxACLEntryKey;
+import org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -58,46 +57,46 @@ public class UnionMailboxACLResolverTest {
     private MailboxACL ownerReadNegative;
     private MailboxACL user1Read;
     private MailboxACL user1ReadNegative;
-    private SimpleMailboxACLEntryKey user1Key;
-    private SimpleMailboxACLEntryKey user2Key;
-    private SimpleMailboxACLEntryKey group1Key;
-    private SimpleMailboxACLEntryKey group2Key;
+    private EntryKey user1Key;
+    private EntryKey user2Key;
+    private EntryKey group1Key;
+    private EntryKey group2Key;
 
     @Before
     public void setUp() throws Exception {
-        user1Key = SimpleMailboxACLEntryKey.createUser(USER_1);
-        user2Key = SimpleMailboxACLEntryKey.createUser(USER_2);
-        group1Key = SimpleMailboxACLEntryKey.createGroup(GROUP_1);
-        group2Key = SimpleMailboxACLEntryKey.createGroup(GROUP_2);
-        
-        MailboxACL acl = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.AUTHENTICATED_KEY, SimpleMailboxACL.FULL_RIGHTS));
+        user1Key = EntryKey.createUser(USER_1);
+        user2Key = EntryKey.createUser(USER_2);
+        group1Key = EntryKey.createGroup(GROUP_1);
+        group2Key = EntryKey.createGroup(GROUP_2);
+
+        MailboxACL acl = new MailboxACL(new Entry(MailboxACL.AUTHENTICATED_KEY, MailboxACL.FULL_RIGHTS));
         authenticatedReadListWriteGlobal = new UnionMailboxACLResolver(acl, acl);
-        acl = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.ANYBODY_KEY, new Rfc4314Rights("rl")));
+        acl = new MailboxACL(new Entry(MailboxACL.ANYBODY_KEY, new Rfc4314Rights("rl")));
         anyoneReadListGlobal = new UnionMailboxACLResolver(acl, acl);
-        acl = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.FULL_RIGHTS));
+        acl = new MailboxACL(new Entry(MailboxACL.OWNER_KEY, MailboxACL.FULL_RIGHTS));
         ownerFullGlobal = new UnionMailboxACLResolver(acl, acl);
-        noGlobals = new UnionMailboxACLResolver(SimpleMailboxACL.EMPTY, SimpleMailboxACL.EMPTY);
-        acl = new SimpleMailboxACL(new SimpleMailboxACLEntry(new SimpleMailboxACLEntryKey(GROUP_2, NameType.group, true), SimpleMailboxACL.FULL_RIGHTS));
-        negativeGroup2FullGlobal = new UnionMailboxACLResolver(acl, new SimpleMailboxACL(new SimpleMailboxACLEntry(new SimpleMailboxACLEntryKey(GROUP_2, NameType.group, true), SimpleMailboxACL.FULL_RIGHTS)));
+        noGlobals = new UnionMailboxACLResolver(MailboxACL.EMPTY, MailboxACL.EMPTY);
+        acl = new MailboxACL(new Entry(new EntryKey(GROUP_2, NameType.group, true), MailboxACL.FULL_RIGHTS));
+        negativeGroup2FullGlobal = new UnionMailboxACLResolver(acl, new MailboxACL(new Entry(new EntryKey(GROUP_2, NameType.group, true), MailboxACL.FULL_RIGHTS)));
 
         groupMembershipResolver = new SimpleGroupMembershipResolver();
         groupMembershipResolver.addMembership(GROUP_1, USER_1);
         groupMembershipResolver.addMembership(GROUP_2, USER_2);
 
-        user1Read = new SimpleMailboxACL(new SimpleMailboxACLEntry(user1Key, new Rfc4314Rights("r")));
-        user1ReadNegative = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACLEntryKey.createUser(USER_1, true), new Rfc4314Rights("r")));
+        user1Read = new MailboxACL(new Entry(user1Key, new Rfc4314Rights("r")));
+        user1ReadNegative = new MailboxACL(new Entry(EntryKey.createUser(USER_1, true), new Rfc4314Rights("r")));
 
-        group1Read = new SimpleMailboxACL(new SimpleMailboxACLEntry(group1Key, new Rfc4314Rights("r")));
-        group1ReadNegative = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACLEntryKey.createGroup(GROUP_1, true), new Rfc4314Rights("r")));
+        group1Read = new MailboxACL(new Entry(group1Key, new Rfc4314Rights("r")));
+        group1ReadNegative = new MailboxACL(new Entry(EntryKey.createGroup(GROUP_1, true), new Rfc4314Rights("r")));
 
-        anybodyRead = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.ANYBODY_KEY, new Rfc4314Rights("r")));
-        anybodyReadNegative = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.ANYBODY_NEGATIVE_KEY, new Rfc4314Rights("r")));
+        anybodyRead = new MailboxACL(new Entry(MailboxACL.ANYBODY_KEY, new Rfc4314Rights("r")));
+        anybodyReadNegative = new MailboxACL(new Entry(MailboxACL.ANYBODY_NEGATIVE_KEY, new Rfc4314Rights("r")));
 
-        authenticatedRead = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.AUTHENTICATED_KEY, new Rfc4314Rights("r")));
-        authenticatedReadNegative = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.AUTHENTICATED_NEGATIVE_KEY, new Rfc4314Rights("r")));
+        authenticatedRead = new MailboxACL(new Entry(MailboxACL.AUTHENTICATED_KEY, new Rfc4314Rights("r")));
+        authenticatedReadNegative = new MailboxACL(new Entry(MailboxACL.AUTHENTICATED_NEGATIVE_KEY, new Rfc4314Rights("r")));
 
-        ownerRead = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.OWNER_KEY, new Rfc4314Rights("r")));
-        ownerReadNegative = new SimpleMailboxACL(new SimpleMailboxACLEntry(SimpleMailboxACL.OWNER_NEGATIVE_KEY, new Rfc4314Rights("r")));
+        ownerRead = new MailboxACL(new Entry(MailboxACL.OWNER_KEY, new Rfc4314Rights("r")));
+        ownerReadNegative = new MailboxACL(new Entry(MailboxACL.OWNER_NEGATIVE_KEY, new Rfc4314Rights("r")));
 
     }
 
@@ -108,9 +107,9 @@ public class UnionMailboxACLResolverTest {
         Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, null, groupMembershipResolver, USER_1, false));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group1Key, null, groupMembershipResolver, USER_1, false));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, null, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, null, groupMembershipResolver, USER_1, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, null, groupMembershipResolver, USER_1, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, null, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, null, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, null, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, null, groupMembershipResolver, USER_1, false));
     }
 
     @Test
@@ -120,223 +119,223 @@ public class UnionMailboxACLResolverTest {
         Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, user1Key, groupMembershipResolver, USER_1, false));
         Assert.assertTrue(UnionMailboxACLResolver.applies(group1Key, user1Key, groupMembershipResolver, USER_1, false));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, user1Key, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, USER_1, false));
 
         /* requester is not the resource user */
         Assert.assertTrue(UnionMailboxACLResolver.applies(user1Key, user1Key, groupMembershipResolver, USER_2, false));
         Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, user1Key, groupMembershipResolver, USER_2, false));
         Assert.assertTrue(UnionMailboxACLResolver.applies(group1Key, user1Key, groupMembershipResolver, USER_2, false));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, user1Key, groupMembershipResolver, USER_2, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, USER_2, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, USER_2, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, USER_2, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, USER_2, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, USER_2, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, USER_2, false));
 
         /* requester member of owner group */
         Assert.assertTrue(UnionMailboxACLResolver.applies(user1Key, user1Key, groupMembershipResolver, GROUP_1, true));
         Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, user1Key, groupMembershipResolver, GROUP_1, true));
         Assert.assertTrue(UnionMailboxACLResolver.applies(group1Key, user1Key, groupMembershipResolver, GROUP_1, true));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, user1Key, groupMembershipResolver, GROUP_1, true));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, GROUP_1, true));
 
         /* requester not member of owner group */
         Assert.assertTrue(UnionMailboxACLResolver.applies(user1Key, user1Key, groupMembershipResolver, GROUP_2, true));
         Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, user1Key, groupMembershipResolver, GROUP_2, true));
         Assert.assertTrue(UnionMailboxACLResolver.applies(group1Key, user1Key, groupMembershipResolver, GROUP_2, true));
         Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, user1Key, groupMembershipResolver, GROUP_2, true));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, groupMembershipResolver, GROUP_2, true));
 
         /* owner query */
-        Assert.assertFalse(UnionMailboxACLResolver.applies(user1Key, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(group1Key, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.ANYBODY_KEY, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.AUTHENTICATED_KEY, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
-        Assert.assertTrue(UnionMailboxACLResolver.applies(SimpleMailboxACL.OWNER_KEY, SimpleMailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(user1Key, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(user2Key, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(group1Key, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertFalse(UnionMailboxACLResolver.applies(group2Key, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
+        Assert.assertTrue(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, MailboxACL.OWNER_KEY, groupMembershipResolver, USER_1, false));
 
     }
 
     @Test
     public void testHasRightNullUser() throws UnsupportedRightException {
 
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
         
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
     }
 
     @Test
     public void testHasRightNullUserGlobals() throws UnsupportedRightException {
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, SimpleMailboxACL.EMPTY, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, SimpleMailboxACL.EMPTY, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, SimpleMailboxACL.EMPTY, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, SimpleMailboxACL.Right.Read, SimpleMailboxACL.EMPTY, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(null, groupMembershipResolver, MailboxACL.Right.Read, MailboxACL.EMPTY, USER_2, false));
     }
     
 
     @Test
     public void testHasRightUserSelfOwner() throws UnsupportedRightException {
 
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_1, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_1, false));
         
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_1, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_1, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_1, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_1, false));
 
     }
     
@@ -344,167 +343,167 @@ public class UnionMailboxACLResolverTest {
     @Test
     public void testHasRightUserNotOwner() throws UnsupportedRightException {
 
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_2, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_2, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, USER_2, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, USER_2, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_2, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_2, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_2, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_2, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, USER_2, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, USER_2, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_2, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_2, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, USER_2, false));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_2, false));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_2, false));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, USER_2, false));
         
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_2, false));
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_2, false));
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false));
 
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_2, false));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false));
 
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_2, false));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false));
 
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, USER_2, false));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, USER_2, false));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, USER_2, false));
 
     }
     @Test
     public void testHasRightUserMemberOfOwnerGroup() throws UnsupportedRightException {
 
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_1, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_1, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_1, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_1, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_1, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_1, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_1, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_1, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_1, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_1, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_1, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_1, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_1, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_1, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_1, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_1, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_1, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_1, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_1, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_1, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_1, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_1, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_1, true));
         
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, GROUP_1, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, GROUP_1, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, GROUP_1, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, GROUP_1, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerRead, GROUP_1, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerRead, GROUP_1, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, ownerReadNegative, GROUP_1, true));
 
     }    
     
@@ -512,84 +511,84 @@ public class UnionMailboxACLResolverTest {
     @Test
     public void testHasRightUserNotMemberOfOwnerGroup() throws UnsupportedRightException {
 
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_2, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_2, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_2, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_2, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1Read, GROUP_2, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1Read, GROUP_2, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, user1ReadNegative, GROUP_2, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_2, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_2, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_2, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_2, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1Read, GROUP_2, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1Read, GROUP_2, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, group1ReadNegative, GROUP_2, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_2, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_2, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_2, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_2, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
+        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true));
+        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyRead, GROUP_2, true));
-        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
+        Assert.assertTrue(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyRead, GROUP_2, true));
+        Assert.assertFalse(negativeGroup2FullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, anybodyReadNegative, GROUP_2, true));
 
         
-        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
-        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
+        Assert.assertTrue(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
+        Assert.assertFalse(anyoneReadListGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
-        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
+        Assert.assertTrue(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
+        Assert.assertFalse(authenticatedReadListWriteGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
-        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
+        Assert.assertTrue(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
+        Assert.assertFalse(ownerFullGlobal.hasRight(USER_1, groupMembershipResolver, MailboxACL.Right.Read, authenticatedReadNegative, GROUP_2, true));
 
-        Assert.assertTrue(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.Read, authenticatedRead, GROUP_2, true));
-        Assert.assertFalse(noGlobals.hasRight(USER_1, groupMembershipResolver, SimpleMailboxACL.Right.R

<TRUNCATED>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org