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 bt...@apache.org on 2020/05/13 12:07:14 UTC
[james-project] 05/15: [Refactoring] Slightly enhance
MaildirMailboxMapper::visitUsersForMailboxList
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 810dca40cddb0cb59622e82dd6b9e5ad52fa6a36
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed May 6 13:55:48 2020 +0700
[Refactoring] Slightly enhance MaildirMailboxMapper::visitUsersForMailboxList
- Method extraction
- Use of MailboxPath::forUser
---
.../mailbox/maildir/mail/MaildirMailboxMapper.java | 23 +++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
index f5af09c..b0f2238 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java
@@ -280,15 +280,10 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
private List<Mailbox> visitUsersForMailboxList(File domain, File[] users) throws MailboxException {
ImmutableList.Builder<Mailbox> mailboxList = ImmutableList.builder();
- String userName = null;
for (File user: users) {
- if (domain == null) {
- userName = user.getName();
- } else {
- userName = user.getName() + "@" + domain.getName();
- }
-
+ String userName = retrieveUsername(domain, user);
+
// Special case for INBOX: Let's use the user's folder.
MailboxPath inboxMailboxPath = MailboxPath.forUser(Username.of(userName), MailboxConstants.INBOX);
@@ -297,21 +292,27 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
} catch (MailboxException e) {
//do nothing, we should still be able to list the mailboxes even if INBOX does not exist
}
-
// List all INBOX sub folders.
File[] mailboxes = user.listFiles(pathname -> pathname.getName().startsWith("."));
for (File mailbox: mailboxes) {
- MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE,
- Username.of(userName),
- mailbox.getName().substring(1));
+ MailboxPath mailboxPath = MailboxPath.forUser(Username.of(userName),
+ mailbox.getName().substring(1));
mailboxList.add(maildirStore.loadMailbox(session, mailboxPath));
}
}
return mailboxList.build();
}
+ private String retrieveUsername(File domain, File user) {
+ if (domain == null) {
+ return user.getName();
+ } else {
+ return user.getName() + "@" + domain.getName();
+ }
+ }
+
@Override
public ACLDiff updateACL(Mailbox mailbox, MailboxACL.ACLCommand mailboxACLCommand) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org