You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2024/09/20 06:47:57 UTC
(james-project) 07/07: JAMES-3945 changed MailboxACLResolver::resolveRights signature from untyped String resourceOwner to stronger type Username resourceOwner
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 0ecc08754b0330a49a11e29df31c7c9f08b4bcfc
Author: Florent AZAVANT <fa...@linagora.com>
AuthorDate: Wed Sep 18 14:36:11 2024 +0200
JAMES-3945 changed MailboxACLResolver::resolveRights signature from untyped String resourceOwner to stronger type Username resourceOwner
---
.../james/mailbox/acl/MailboxACLResolver.java | 4 +-
.../james/mailbox/acl/UnionMailboxACLResolver.java | 18 +-
.../mailbox/acl/UnionMailboxACLResolverTest.java | 242 ++++++++++-----------
.../james/mailbox/store/StoreRightManager.java | 6 +-
.../james/transport/mailets/SubAddressing.java | 4 +-
5 files changed, 137 insertions(+), 137 deletions(-)
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/MailboxACLResolver.java b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/MailboxACLResolver.java
index 4e83a5d32a..4811340fe1 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/MailboxACLResolver.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/MailboxACLResolver.java
@@ -67,7 +67,7 @@ public interface MailboxACLResolver {
* explicitly for the given identifier. Further elements are groups
* of rights which can be set for the given identifier and resource.
*/
- List<MailboxACL.Rfc4314Rights> listRights(MailboxACL.EntryKey key, String resourceOwner) throws UnsupportedRightException;
+ List<MailboxACL.Rfc4314Rights> listRights(MailboxACL.EntryKey key, Username resourceOwner) throws UnsupportedRightException;
/**
* Computes the rights which apply to the given user and resource. Global
@@ -85,6 +85,6 @@ public interface MailboxACLResolver {
* holder in the resourceACL.
* @return the rights applicable for the given user and resource.
*/
- MailboxACL.Rfc4314Rights resolveRights(Username requestUser, MailboxACL resourceACL, String resourceOwner) throws UnsupportedRightException;
+ MailboxACL.Rfc4314Rights resolveRights(Username requestUser, MailboxACL resourceACL, Username resourceOwner) throws UnsupportedRightException;
}
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
index c04e84f9bd..23119cbbdd 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/acl/UnionMailboxACLResolver.java
@@ -45,7 +45,7 @@ import com.google.common.collect.ImmutableList;
* applicable identifiers. Inspired by RFC 4314 Section 2.
*
* In
- * {@link UnionMailboxACLResolver#resolveRights(Username, MailboxACL, String)}
+ * {@link MailboxACLResolver#resolveRights(Username, MailboxACL, Username)}
* all applicable negative and non-negative rights are union-ed separately and
* the result is computed afterwards with
* <code>nonNegativeUnion.except(negativeUnion)</code>.
@@ -113,20 +113,20 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
* (1) Calls from
* {@link #hasRight(String, Right, MailboxACL, String)}
* and
- * {@link #resolveRights(Username, MailboxACL, String)}
+ * {@link MailboxACLResolver#resolveRights(Username, MailboxACL, Username)}
* in which the {@code queryKey} is a {@link NameType#user}.
*
* (2) Calls from
- * {@link #listRights(EntryKey, String)}
+ * {@link MailboxACLResolver#listRights(EntryKey, Username)}
* where {@code queryKey} can be anything including {@link NameType#user},
* {@link NameType#group} and all {@link NameType#special} identifiers.
*
* Clearly the set of cases which this method has to handle in (1) is a
* proper subset of the cases handled in (2). See the javadoc on
- * {@link #listRights(EntryKey, String)}
+ * {@link MailboxACLResolver#listRights(EntryKey, Username)}
* for more details.
*/
- protected static boolean applies(EntryKey aclKey, EntryKey queryKey, String resourceOwner) {
+ protected static boolean applies(EntryKey aclKey, EntryKey queryKey, Username resourceOwner) {
final String aclKeyName = aclKey.getName();
final NameType aclKeyNameType = aclKey.getNameType();
if (SpecialName.anybody.name().equals(aclKeyName)) {
@@ -143,7 +143,7 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
/* non-null query user is viewed as authenticated */
return true;
} else if (SpecialName.owner.name().equals(aclKeyName)) {
- return queryUserOrGroupName.equals(resourceOwner);
+ return queryUserOrGroupName.equals(resourceOwner.asString());
} else {
/* should not happen unless the parent if is changed */
throw new IllegalStateException("Unexpected " + SpecialName.class.getName() + "." + aclKeyName);
@@ -264,7 +264,7 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
* authenticated.
*/
@Override
- public List<Rfc4314Rights> listRights(EntryKey queryKey, String resourceOwner) throws UnsupportedRightException {
+ public List<Rfc4314Rights> listRights(EntryKey queryKey, Username resourceOwner) throws UnsupportedRightException {
Rfc4314Rights[] positiveNegativePair = { MailboxACL.NO_RIGHTS, MailboxACL.NO_RIGHTS };
resolveRights(queryKey, userGlobalACL.getEntries(), resourceOwner, positiveNegativePair);
@@ -288,7 +288,7 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
}
@Override
- public Rfc4314Rights resolveRights(Username requestUser, MailboxACL resourceACL, String resourceOwner) throws UnsupportedRightException {
+ public Rfc4314Rights resolveRights(Username requestUser, MailboxACL resourceACL, Username resourceOwner) throws UnsupportedRightException {
Rfc4314Rights[] positiveNegativePair = { MailboxACL.NO_RIGHTS, MailboxACL.NO_RIGHTS };
final EntryKey queryKey = requestUser == null ? null : EntryKey.createUserEntryKey(requestUser);
resolveRights(queryKey, userGlobalACL.getEntries(), resourceOwner, positiveNegativePair);
@@ -303,7 +303,7 @@ public class UnionMailboxACLResolver implements MailboxACLResolver {
/**
* What needs to be done for both global ACL and the given mailboxe's ACL.
*/
- private void resolveRights(EntryKey queryKey, Map<EntryKey, Rfc4314Rights> entries, String resourceOwner, Rfc4314Rights[] positiveNegativePair)
+ private void resolveRights(EntryKey queryKey, Map<EntryKey, Rfc4314Rights> entries, Username resourceOwner, Rfc4314Rights[] positiveNegativePair)
throws UnsupportedRightException {
if (entries != null) {
for (Entry<EntryKey, Rfc4314Rights> entry : entries.entrySet()) {
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 2432613297..eeb9478d9a 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
@@ -80,186 +80,186 @@ class UnionMailboxACLResolverTest {
@Test
void testAppliesNullUser() throws UnsupportedRightException {
- assertThat(UnionMailboxACLResolver.applies(user1Key, null, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(user2Key, null, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, null, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, null, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, null, USER_1.asString())).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(user1Key, null, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(user2Key, null, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, null, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, null, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, null, USER_1)).isFalse();
}
@Test
void testAppliesUser() throws UnsupportedRightException {
/* requester is the resource owner */
- assertThat(UnionMailboxACLResolver.applies(user1Key, user1Key, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(user2Key, user1Key, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, USER_1.asString())).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(user1Key, user1Key, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(user2Key, user1Key, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, USER_1)).isTrue();
/* requester is not the resource user */
- assertThat(UnionMailboxACLResolver.applies(user1Key, user1Key, USER_2.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(user2Key, user1Key, USER_2.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, USER_2.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, USER_2.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, USER_2.asString())).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(user1Key, user1Key, USER_2)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(user2Key, user1Key, USER_2)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, user1Key, USER_2)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, user1Key, USER_2)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, user1Key, USER_2)).isFalse();
/* owner query */
- assertThat(UnionMailboxACLResolver.applies(user1Key, MailboxACL.OWNER_KEY, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(user2Key, MailboxACL.OWNER_KEY, USER_1.asString())).isFalse();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, MailboxACL.OWNER_KEY, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, MailboxACL.OWNER_KEY, USER_1.asString())).isTrue();
- assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, MailboxACL.OWNER_KEY, USER_1.asString())).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(user1Key, MailboxACL.OWNER_KEY, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(user2Key, MailboxACL.OWNER_KEY, USER_1)).isFalse();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.ANYBODY_KEY, MailboxACL.OWNER_KEY, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.AUTHENTICATED_KEY, MailboxACL.OWNER_KEY, USER_1)).isTrue();
+ assertThat(UnionMailboxACLResolver.applies(MailboxACL.OWNER_KEY, MailboxACL.OWNER_KEY, USER_1)).isTrue();
}
@Test
void testResolveRightsNullUser() throws UnsupportedRightException {
assertThat(
- anyoneReadListGlobal.resolveRights(null, user1Read, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(null, user1Read, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(null, user1ReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, user1Read, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, user1ReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, user1Read, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, user1ReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, user1Read, USER_1.asString())
+ noGlobals.resolveRights(null, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, user1ReadNegative, USER_1.asString())
+ noGlobals.resolveRights(null, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(null, anybodyRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(null, anybodyReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, anybodyRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, anybodyReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, anybodyRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(null, anybodyReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, anybodyRead, USER_1.asString())
+ noGlobals.resolveRights(null, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(null, anybodyReadNegative, USER_1.asString())
+ noGlobals.resolveRights(null, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(null, authenticatedRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(null, authenticatedReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, authenticatedRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, authenticatedReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, authenticatedRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, authenticatedReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, authenticatedRead, USER_1.asString())
+ noGlobals.resolveRights(null, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, authenticatedReadNegative, USER_1.asString())
+ noGlobals.resolveRights(null, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(null, ownerRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(null, ownerReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(null, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, ownerRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, ownerReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, ownerRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, ownerReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(null, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, ownerRead, USER_1.asString())
+ noGlobals.resolveRights(null, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, ownerReadNegative, USER_1.asString())
+ noGlobals.resolveRights(null, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
@@ -268,19 +268,19 @@ class UnionMailboxACLResolverTest {
@Test
void testResolveRightsNullUserGlobals() throws UnsupportedRightException {
assertThat(
- anyoneReadListGlobal.resolveRights(null, user1Read, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(null, user1Read, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(null, MailboxACL.EMPTY, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(null, MailboxACL.EMPTY, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(null, MailboxACL.EMPTY, USER_2.asString())
+ ownerFullGlobal.resolveRights(null, MailboxACL.EMPTY, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(null, MailboxACL.EMPTY, USER_2.asString())
+ noGlobals.resolveRights(null, MailboxACL.EMPTY, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
}
@@ -290,146 +290,146 @@ class UnionMailboxACLResolverTest {
void testResolveRightsUserSelfOwner() throws UnsupportedRightException {
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, user1Read, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, user1ReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, user1Read, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, user1ReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, user1Read, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, user1ReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, user1Read, USER_1.asString())
+ noGlobals.resolveRights(USER_1, user1Read, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, user1ReadNegative, USER_1.asString())
+ noGlobals.resolveRights(USER_1, user1ReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, anybodyRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, anybodyRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, anybodyRead, USER_1.asString())
+ noGlobals.resolveRights(USER_1, anybodyRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, anybodyReadNegative, USER_1.asString())
+ noGlobals.resolveRights(USER_1, anybodyReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, authenticatedRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, authenticatedRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, authenticatedRead, USER_1.asString())
+ noGlobals.resolveRights(USER_1, authenticatedRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, authenticatedReadNegative, USER_1.asString())
+ noGlobals.resolveRights(USER_1, authenticatedReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, ownerRead, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, ownerReadNegative, USER_1.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerRead, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerReadNegative, USER_1.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, ownerRead, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, ownerReadNegative, USER_1.asString())
+ ownerFullGlobal.resolveRights(USER_1, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, ownerRead, USER_1.asString())
+ noGlobals.resolveRights(USER_1, ownerRead, USER_1)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, ownerReadNegative, USER_1.asString())
+ noGlobals.resolveRights(USER_1, ownerReadNegative, USER_1)
.contains(MailboxACL.Right.Read))
.isFalse();
@@ -440,146 +440,146 @@ class UnionMailboxACLResolverTest {
void testResolveRightsUserNotOwner() throws UnsupportedRightException {
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, user1Read, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, user1Read, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, user1ReadNegative, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, user1ReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, user1Read, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, user1Read, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, user1ReadNegative, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, user1ReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, user1Read, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, user1Read, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, user1ReadNegative, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, user1ReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, user1Read, USER_2.asString())
+ noGlobals.resolveRights(USER_1, user1Read, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, user1ReadNegative, USER_2.asString())
+ noGlobals.resolveRights(USER_1, user1ReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, anybodyRead, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, anybodyRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyRead, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, anybodyRead, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, anybodyRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, anybodyReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, anybodyRead, USER_2.asString())
+ noGlobals.resolveRights(USER_1, anybodyRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, anybodyReadNegative, USER_2.asString())
+ noGlobals.resolveRights(USER_1, anybodyReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, authenticatedRead, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, authenticatedRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedRead, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, authenticatedRead, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, authenticatedRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, authenticatedReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, authenticatedRead, USER_2.asString())
+ noGlobals.resolveRights(USER_1, authenticatedRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- noGlobals.resolveRights(USER_1, authenticatedReadNegative, USER_2.asString())
+ noGlobals.resolveRights(USER_1, authenticatedReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, ownerRead, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, ownerRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- anyoneReadListGlobal.resolveRights(USER_1, ownerReadNegative, USER_2.asString())
+ anyoneReadListGlobal.resolveRights(USER_1, ownerReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerRead, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerRead, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerReadNegative, USER_2.asString())
+ authenticatedReadListWriteGlobal.resolveRights(USER_1, ownerReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isTrue();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, ownerRead, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, ownerRead, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- ownerFullGlobal.resolveRights(USER_1, ownerReadNegative, USER_2.asString())
+ ownerFullGlobal.resolveRights(USER_1, ownerReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, ownerRead, USER_2.asString())
+ noGlobals.resolveRights(USER_1, ownerRead, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
assertThat(
- noGlobals.resolveRights(USER_1, ownerReadNegative, USER_2.asString())
+ noGlobals.resolveRights(USER_1, ownerReadNegative, USER_2)
.contains(MailboxACL.Right.Read))
.isFalse();
}
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 115981822f..47faddf9a0 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
@@ -130,7 +130,7 @@ public class StoreRightManager implements RightManager {
aclResolver.resolveRights(
username,
mailbox.getACL(),
- mailbox.getUser().asString()))
+ mailbox.getUser()))
.sneakyThrow())
.orElse(MailboxACL.NO_RIGHTS);
}
@@ -142,13 +142,13 @@ public class StoreRightManager implements RightManager {
.orElseThrow(() -> new MailboxNotFoundException(mailboxPath));
return aclResolver.listRights(key,
- mailbox.getUser().asString());
+ mailbox.getUser());
}
@Override
public List<Rfc4314Rights> listRights(Mailbox mailbox, EntryKey key, MailboxSession session) throws MailboxException {
return aclResolver.listRights(key,
- mailbox.getUser().asString());
+ mailbox.getUser());
}
@Override
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
index fa42f2820d..41c4e1119f 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SubAddressing.java
@@ -114,11 +114,11 @@ public class SubAddressing extends GenericMailet {
.getACL();
}
- private boolean resolvePostRight(MailboxACL acl, MaybeSender maybeSender, MailAddress recipient) throws UnsupportedRightException {
+ private boolean resolvePostRight(MailboxACL acl, MaybeSender maybeSender, MailAddress recipient) throws UnsupportedRightException, UsersRepositoryException {
return new UnionMailboxACLResolver().resolveRights(
maybeSender.asOptional()
.map(Throwing.function(usersRepository::getUsername))
- .orElse(NO_ASSOCIATED_USER), acl, recipient.asString())
+ .orElse(NO_ASSOCIATED_USER), acl, usersRepository.getUsername(recipient))
.contains(MailboxACL.Right.Post);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org