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 f80a3f8cba606a3b6af1109f0ac35a73d552d8f7 Author: Benoit Tellier <[email protected]> AuthorDate: Wed Feb 13 10:39:08 2019 +0700 JAMES-2632 QuotaRootResolver exposes a method to retrieve QuotaRoot from MailboxId --- .../james/mailbox/store/StoreMessageIdManager.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java index 3b0b9f2..679dc09 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java @@ -289,7 +289,7 @@ public class StoreMessageIdManager implements MessageIdManager { private void applyMessageMoveNoMailboxChecks(MailboxSession mailboxSession, List<MailboxMessage> currentMailboxMessages, MessageMoves messageMoves) throws MailboxException { MailboxMessage mailboxMessage = currentMailboxMessages.stream().findAny().orElseThrow(() -> new MailboxNotFoundException("can't load message")); - validateQuota(messageMoves, mailboxSession, mailboxMessage); + validateQuota(messageMoves, mailboxMessage); addMessageToMailboxes(mailboxMessage, messageMoves.addedMailboxIds(), mailboxSession); removeMessageFromMailboxes(mailboxMessage, messageMoves.removedMailboxIds(), mailboxSession); @@ -342,10 +342,8 @@ public class StoreMessageIdManager implements MessageIdManager { } } - private void validateQuota(MessageMoves messageMoves, MailboxSession mailboxSession, MailboxMessage mailboxMessage) throws MailboxException { - MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession); - - Map<QuotaRoot, Integer> messageCountByQuotaRoot = buildMapQuotaRoot(messageMoves, mailboxMapper); + private void validateQuota(MessageMoves messageMoves, MailboxMessage mailboxMessage) throws MailboxException { + Map<QuotaRoot, Integer> messageCountByQuotaRoot = buildMapQuotaRoot(messageMoves); for (Map.Entry<QuotaRoot, Integer> entry : messageCountByQuotaRoot.entrySet()) { Integer additionalCopyCount = entry.getValue(); if (additionalCopyCount > 0) { @@ -356,16 +354,16 @@ public class StoreMessageIdManager implements MessageIdManager { } } - private Map<QuotaRoot, Integer> buildMapQuotaRoot(MessageMoves messageMoves, MailboxMapper mailboxMapper) throws MailboxException { + private Map<QuotaRoot, Integer> buildMapQuotaRoot(MessageMoves messageMoves) throws MailboxException { Map<QuotaRoot, Integer> messageCountByQuotaRoot = new HashMap<>(); for (MailboxId mailboxId : messageMoves.addedMailboxIds()) { - QuotaRoot quotaRoot = retrieveQuotaRoot(mailboxMapper, mailboxId); + QuotaRoot quotaRoot = quotaRootResolver.getQuotaRoot(mailboxId); int currentCount = Optional.ofNullable(messageCountByQuotaRoot.get(quotaRoot)) .orElse(0); messageCountByQuotaRoot.put(quotaRoot, currentCount + 1); } for (MailboxId mailboxId : messageMoves.removedMailboxIds()) { - QuotaRoot quotaRoot = retrieveQuotaRoot(mailboxMapper, mailboxId); + QuotaRoot quotaRoot = quotaRootResolver.getQuotaRoot(mailboxId); int currentCount = Optional.ofNullable(messageCountByQuotaRoot.get(quotaRoot)) .orElse(0); messageCountByQuotaRoot.put(quotaRoot, currentCount - 1); @@ -373,11 +371,6 @@ public class StoreMessageIdManager implements MessageIdManager { return messageCountByQuotaRoot; } - private QuotaRoot retrieveQuotaRoot(MailboxMapper mailboxMapper, MailboxId mailboxId) throws MailboxException { - Mailbox mailbox = mailboxMapper.findMailboxById(mailboxId); - return quotaRootResolver.getQuotaRoot(mailbox.generateAssociatedPath()); - } - private void addMessageToMailboxes(MailboxMessage mailboxMessage, Set<MailboxId> mailboxIds, MailboxSession mailboxSession) throws MailboxException { MessageIdMapper messageIdMapper = mailboxSessionMapperFactory.getMessageIdMapper(mailboxSession); MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
