http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java index b96ba8c..b7e8a8d 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java @@ -20,9 +20,9 @@ package org.apache.james.mailbox.store; import java.util.ArrayList; -import java.util.Collections; import java.util.EnumSet; import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.Random; import java.util.Set; @@ -48,7 +48,6 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.exception.MailboxExistsException; import org.apache.james.mailbox.exception.MailboxNotFoundException; import org.apache.james.mailbox.exception.NotAdminException; -import org.apache.james.mailbox.exception.UnsupportedRightException; import org.apache.james.mailbox.exception.UserDoesNotExistException; import org.apache.james.mailbox.model.MailboxACL; import org.apache.james.mailbox.model.MailboxACL.Right; @@ -86,6 +85,7 @@ import org.apache.james.mailbox.store.transaction.Mapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.github.fge.lambdas.Throwing; import com.github.steveash.guavate.Guavate; import com.google.common.collect.Iterables; @@ -100,7 +100,6 @@ import com.google.common.collect.Iterables; public class StoreMailboxManager implements MailboxManager { private static final Logger LOGGER = LoggerFactory.getLogger(StoreMailboxManager.class); - public static final char SQL_WILDCARD_CHAR = '%'; private MailboxEventDispatcher dispatcher; private DelegatingMailboxListener delegatingListener; @@ -673,47 +672,50 @@ public class StoreMailboxManager implements MailboxManager { } @Override - public List<MailboxMetaData> search(MailboxQuery mailboxExpression, MailboxSession session) - throws MailboxException { - final char localWildcard = mailboxExpression.getLocalWildcard(); - final char freeWildcard = mailboxExpression.getFreeWildcard(); - final String baseName = mailboxExpression.getBase().getName(); - final int baseLength; - if (baseName == null) { - baseLength = 0; + public List<MailboxMetaData> search(MailboxQuery mailboxExpression, MailboxSession session) throws MailboxException { + MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(session); + List<Mailbox> mailboxes = mailboxMapper + .findMailboxWithPathLike(mailboxExpression.getPathLike()) + .stream() + .filter(Throwing.predicate(mailbox -> isReadable(session, mailbox))) + .collect(Guavate.toImmutableList()); + + return mailboxes + .stream() + .filter(mailbox -> mailboxExpression.isPathMatch(mailbox.generateAssociatedPath())) + .map(mailbox -> toMailboxMetadata(session, mailboxes, mailbox)) + .sorted(new StandardMailboxMetaDataComparator()) + .collect(Guavate.toImmutableList()); + } + + private boolean isReadable(MailboxSession session, Mailbox mailbox) throws MailboxException { + return (isSameUser(session, mailbox) && isUserNamespace(mailbox)) + || hasRight(mailbox, Right.Read, session); + } + + private boolean isSameUser(MailboxSession session, Mailbox mailbox) { + return Objects.equals(mailbox.getUser(), session.getUser().getUserName()); + } + + private boolean isUserNamespace(Mailbox mailbox) { + return Objects.equals(mailbox.getNamespace(), MailboxConstants.USER_NAMESPACE); + } + + private SimpleMailboxMetaData toMailboxMetadata(MailboxSession session, List<Mailbox> mailboxes, Mailbox mailbox) { + return new SimpleMailboxMetaData( + mailbox.generateAssociatedPath(), + mailbox.getMailboxId(), + getDelimiter(), + computeChildren(session, mailboxes, mailbox), + Selectability.NONE); + } + + private MailboxMetaData.Children computeChildren(MailboxSession session, List<Mailbox> potentialChildren, Mailbox mailbox) { + if (hasChildIn(mailbox, potentialChildren, session)) { + return MailboxMetaData.Children.HAS_CHILDREN; } else { - baseLength = baseName.length(); + return MailboxMetaData.Children.HAS_NO_CHILDREN; } - String combinedName = mailboxExpression.getCombinedName() - .replace(freeWildcard, SQL_WILDCARD_CHAR) - .replace(localWildcard, SQL_WILDCARD_CHAR) - + SQL_WILDCARD_CHAR; - MailboxPath search = new MailboxPath(mailboxExpression.getBase(), combinedName); - - List<Mailbox> mailboxes = mailboxSessionMapperFactory.getMailboxMapper(session) - .findMailboxWithPathLike(search); - List<MailboxMetaData> results = new ArrayList<>(mailboxes.size()); - for (Mailbox mailbox : mailboxes) { - final String name = mailbox.getName(); - if(belongsToNamespaceAndUser(mailboxExpression.getBase(), mailbox)) { - if (name.startsWith(baseName)) { - final String match = name.substring(baseLength); - if (mailboxExpression.isExpressionMatch(match)) { - final MailboxMetaData.Children inferiors; - List<Mailbox> potentialChildren = mailboxes; - if (hasChildIn(mailbox, potentialChildren, session)) { - inferiors = MailboxMetaData.Children.HAS_CHILDREN; - } else { - inferiors = MailboxMetaData.Children.HAS_NO_CHILDREN; - } - MailboxPath mailboxPath = new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), name); - results.add(new SimpleMailboxMetaData(mailboxPath, mailbox.getMailboxId(), getDelimiter(), inferiors, Selectability.NONE)); - } - } - } - } - Collections.sort(results, new StandardMailboxMetaDataComparator()); - return results; } private boolean hasChildIn(Mailbox parentMailbox, List<Mailbox> mailboxesWithPathLike, MailboxSession mailboxSession) { @@ -726,15 +728,6 @@ public class StoreMailboxManager implements MailboxManager { return index.search(session, expression, limit); } - public boolean belongsToNamespaceAndUser(MailboxPath base, Mailbox mailbox) { - if (mailbox.getUser() == null) { - return base.getUser() == null - && mailbox.getNamespace().equals(base.getNamespace()); - } - return mailbox.getNamespace().equals(base.getNamespace()) - && mailbox.getUser().equals(base.getUser()); - } - @Override public boolean mailboxExists(MailboxPath mailboxPath, MailboxSession session) throws MailboxException { try { @@ -802,7 +795,7 @@ public class StoreMailboxManager implements MailboxManager { return hasRight(mailbox, right, session); } - private boolean hasRight(Mailbox mailbox, Right right, MailboxSession session) throws UnsupportedRightException { + private boolean hasRight(Mailbox mailbox, Right right, MailboxSession session) throws MailboxException { MailboxSession.User user = session.getUser(); String userName = user != null ? user.getUserName() : null; return aclResolver.hasRight(userName, groupMembershipResolver, right, mailbox.getACL(), mailbox.getUser(), new GroupFolderResolver(session).isGroupFolder(mailbox));
http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java index 6702724..1f4c025 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java @@ -20,10 +20,12 @@ package org.apache.james.mailbox.store; import static org.assertj.core.api.Assertions.assertThat; + import java.io.ByteArrayInputStream; import java.util.Date; import java.util.List; import java.util.function.Predicate; + import javax.mail.Flags; import javax.mail.Flags.Flag; @@ -115,6 +117,7 @@ public abstract class AbstractCombinationManagerTest { MailboxQuery mailboxQuery = MailboxQuery.builder() .base(MailboxFixture.MAILBOX_PATH1) + .mailboxSession(session) .build(); MessageId messageId = messageManager1.appendMessage(new ByteArrayInputStream(MAIL_CONTENT), new Date(), session, false, FLAGS).getMessageId(); @@ -133,6 +136,7 @@ public abstract class AbstractCombinationManagerTest { MailboxQuery mailboxQuery = MailboxQuery.builder() .username(MailboxFixture.USER) .expression(String.valueOf(MailboxQuery.FREEWILDCARD)) + .mailboxSession(session) .build(); MessageId messageId = messageManager1.appendMessage(new ByteArrayInputStream(MAIL_CONTENT), new Date(), session, false, FLAGS).getMessageId(); http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java index 8c3819d..1777b98 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java @@ -36,14 +36,12 @@ import org.apache.james.mailbox.exception.UserDoesNotExistException; import org.apache.james.mailbox.mock.MockMailboxSession; import org.apache.james.mailbox.model.MailboxACL; import org.apache.james.mailbox.model.MailboxId; -import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.model.MessageId.Factory; import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.store.mail.MailboxMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.impl.MessageParser; -import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; import org.junit.Before; import org.junit.Test; @@ -54,7 +52,6 @@ public class StoreMailboxManagerTest { private static final String ADMIN = "admin"; private static final String ADMIN_PASSWORD = "adminsecret"; private static final MailboxId MAILBOX_ID = TestId.of(123); - private static final int UID_VALIDITY = 42; public static final String UNKNOWN_USER = "otheruser"; public static final String BAD_PASSWORD = "badpassword"; private StoreMailboxManager storeMailboxManager; @@ -78,65 +75,6 @@ public class StoreMailboxManagerTest { storeMailboxManager.init(); } - @Test - public void belongsToNamespaceAndUserShouldReturnTrueWithIdenticalMailboxes() { - MailboxPath path = new MailboxPath("namespace", CURRENT_USER, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, new SimpleMailbox(path, UID_VALIDITY))).isTrue(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnTrueWithIdenticalMailboxesWithNullUser() { - MailboxPath path = new MailboxPath("namespace", null, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, new SimpleMailbox(path, UID_VALIDITY))).isTrue(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnTrueWithIdenticalMailboxesWithNullNamespace() { - MailboxPath path = new MailboxPath(null, CURRENT_USER, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath(null, CURRENT_USER, "name"), UID_VALIDITY))).isTrue(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnTrueWithMailboxWithSameNamespaceAndUserWithNullUser() { - MailboxPath path = new MailboxPath("namespace", null, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace", null, "name2"), UID_VALIDITY))).isTrue(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnTrueWithMailboxWithSameNamespaceAndUser() { - MailboxPath path = new MailboxPath("namespace", CURRENT_USER, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace", CURRENT_USER, "name2"), UID_VALIDITY))).isTrue(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnFalseWithDifferentNamespace() { - MailboxPath path = new MailboxPath("namespace", CURRENT_USER, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace2", CURRENT_USER, "name"), UID_VALIDITY))).isFalse(); - } - - @Test - public void belongsToNamespaceAndUserShouldReturnFalseWithDifferentUser() { - MailboxPath path = new MailboxPath("namespace", CURRENT_USER, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace", "user2", "name"), UID_VALIDITY))).isFalse(); - } - @Test - public void belongsToNamespaceAndUserShouldReturnFalseWithOneOfTheUserNull() { - MailboxPath path = new MailboxPath("namespace", null, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace", CURRENT_USER, "name"), UID_VALIDITY))).isFalse(); - } - @Test - public void belongsToNamespaceAndUserShouldReturnFalseIfNamespaceAreDifferentWithNullUser() { - MailboxPath path = new MailboxPath("namespace", null, "name"); - assertThat(storeMailboxManager.belongsToNamespaceAndUser(path, - new SimpleMailbox(new MailboxPath("namespace2", null, "name"), UID_VALIDITY))).isFalse(); - } - @Test(expected = MailboxNotFoundException.class) public void getMailboxShouldThrowWhenUnknownId() throws Exception { when(mockedMailboxMapper.findMailboxById(MAILBOX_ID)).thenReturn(null); http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java index a290ebd..5a42df4 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java @@ -76,7 +76,7 @@ public class LSubProcessor extends AbstractSubscriptionProcessor<LsubRequest> { final MailboxQuery expression = MailboxQuery.builder() .base(basePath) .expression(CharsetUtil.decodeModifiedUTF7(mailboxName)) - .pathDelimiter(mailboxSession.getPathDelimiter()) + .mailboxSession(mailboxSession) .build(); final Collection<String> mailboxResponses = new ArrayList<>(); for (String mailbox : mailboxes) { http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java index fa9672d..b9ccf4e 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java @@ -175,7 +175,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> { MailboxQuery.builder() .base(basePath) .expression(CharsetUtil.decodeModifiedUTF7(mailboxName)) - .pathDelimiter(mailboxSession.getPathDelimiter()) + .mailboxSession(mailboxSession) .build() , mailboxSession); } http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java index f46f009..0f62d3a 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java @@ -66,6 +66,35 @@ public class LSubProcessorTest { private static final String MAILBOX_A = "A.MAILBOX"; private static final String TAG = "TAG"; + public static final MailboxSession.User USER = new MailboxSession.User() { + + /** + * @see MailboxSession.User#getLocalePreferences() + */ + public List<Locale> getLocalePreferences() { + return new ArrayList<>(); + } + + /** + * @see MailboxSession.User#getPassword() + */ + public String getPassword() { + return "test"; + } + + /** + * @see MailboxSession.User#getUserName() + */ + public String getUserName() { + return "test"; + } + + @Override + public boolean isSameUser(String username) { + return "test".equalsIgnoreCase(username); + } + + }; LSubProcessor processor; @@ -139,6 +168,7 @@ public class LSubProcessorTest { subscriptions.add(CHILD_TWO); mockery.checking(new Expectations() {{ + oneOf(mailboxSession).getUser(); will(returnValue(USER)); oneOf(responder).respond(with( equal(new LSubResponse(CHILD_ONE, false, HIERARCHY_DELIMITER)))); oneOf(responder).respond(with( @@ -164,6 +194,7 @@ public class LSubProcessorTest { subscriptions.add(CHILD_TWO); mockery.checking(new Expectations() {{ + oneOf(mailboxSession).getUser(); will(returnValue(USER)); oneOf(responder).respond(with( equal(new LSubResponse(PARENT, true, HIERARCHY_DELIMITER)))); }}); @@ -188,6 +219,7 @@ public class LSubProcessorTest { subscriptions.add(CHILD_TWO); mockery.checking(new Expectations() {{ + oneOf(mailboxSession).getUser(); will(returnValue(USER)); oneOf(responder).respond(with( equal(new LSubResponse(PARENT, false, HIERARCHY_DELIMITER)))); }}); @@ -204,6 +236,7 @@ public class LSubProcessorTest { @Test public void testSelectAll() throws Exception { mockery.checking(new Expectations() {{ + oneOf(mailboxSession).getUser(); will(returnValue(USER)); oneOf(responder).respond(with(equal( new LSubResponse(MAILBOX_A, false, HIERARCHY_DELIMITER)))); oneOf(responder).respond(with(equal( @@ -239,35 +272,7 @@ public class LSubProcessorTest { exactly(2).of(session).getAttribute(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY); will(returnValue(mailboxSession)); allowing(mailboxSession).getPathDelimiter(); will(returnValue(HIERARCHY_DELIMITER)); - oneOf(mailboxSession).getUser(); will(returnValue(new MailboxSession.User() { - - /** - * @see org.apache.james.mailbox.MailboxSession.User#getLocalePreferences() - */ - public List<Locale> getLocalePreferences() { - return new ArrayList<>(); - } - - /** - * @see org.apache.james.mailbox.MailboxSession.User#getPassword() - */ - public String getPassword() { - return "test"; - } - - /** - * @see org.apache.james.mailbox.MailboxSession.User#getUserName() - */ - public String getUserName() { - return "test"; - } - - @Override - public boolean isSameUser(String username) { - return "test".equalsIgnoreCase(username); - } - - })); + oneOf(mailboxSession).getUser(); will(returnValue(USER)); oneOf(manager).subscriptions(with(same(mailboxSession)));will(returnValue(subscriptions)); }}); } http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java ---------------------------------------------------------------------- diff --git a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java index 9f01266..5f60816 100644 --- a/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java +++ b/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java @@ -216,7 +216,7 @@ public class MailboxManagerManagement extends StandardMBean implements MailboxMa MailboxQuery.builder() .base(MailboxPath.forUser(username, "")) .expression("*") - .pathDelimiter(session.getPathDelimiter()) + .mailboxSession(session) .build(), session); } http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java index b6f575c..8c66d15 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Stream; + import javax.inject.Inject; import org.apache.james.jmap.model.ClientId; @@ -138,7 +139,7 @@ public class GetMailboxesMethod implements Method { private Stream<Mailbox> retrieveAllMailboxes(MailboxSession mailboxSession) throws MailboxException { List<MailboxMetaData> userMailboxes = mailboxManager.search( - MailboxQuery.builder(mailboxSession).privateUserMailboxes().build(), + MailboxQuery.privateMailboxesBuilder(mailboxSession).privateMailboxes().build(), mailboxSession); return userMailboxes .stream() http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SystemMailboxesProviderImpl.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SystemMailboxesProviderImpl.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SystemMailboxesProviderImpl.java index 043d808..21c32de 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SystemMailboxesProviderImpl.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/utils/SystemMailboxesProviderImpl.java @@ -65,8 +65,8 @@ public class SystemMailboxesProviderImpl implements SystemMailboxesProvider { private Stream<MessageManager> searchMessageManagerByMailboxRole(Role aRole, MailboxSession session) throws MailboxException { ThrowingFunction<MailboxPath, MessageManager> loadMailbox = path -> mailboxManager.getMailbox(path, session); - MailboxQuery mailboxQuery = MailboxQuery.builder(session) - .privateUserMailboxes() + MailboxQuery mailboxQuery = MailboxQuery.privateMailboxesBuilder(session) + .privateMailboxes() .expression(aRole.getDefaultMailbox()) .build(); return mailboxManager.search(mailboxQuery, session) http://git-wip-us.apache.org/repos/asf/james-project/blob/26500281/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java index 9e8f6fa..25e9891 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java @@ -136,7 +136,7 @@ public class UserMailboxesService { private MailboxQuery createUserMailboxesQuery(String username) { return MailboxQuery.builder() .username(username) - .privateUserMailboxes() + .privateMailboxes() .build(); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org