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]

Reply via email to