This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 18770922121c94d18cbe649ec04ac0bba461568d
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Fri Nov 22 09:45:22 2019 +0700

    [Refactoring] JPAMessageMapper should not rely on MessageUtils for Uid & 
ModSeq
---
 .../james/mailbox/jpa/mail/JPAMessageMapper.java   | 10 ++++++---
 .../james/mailbox/store/mail/MessageUtils.java     | 25 +++++++---------------
 .../james/mailbox/store/mail/MessageUtilsTest.java | 12 -----------
 3 files changed, 15 insertions(+), 32 deletions(-)

diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index 5ef053b..c319fe6 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -69,10 +69,14 @@ public class JPAMessageMapper extends 
JPATransactionalMapper implements MessageM
     private static final int UNLIMITED = -1;
 
     private final MessageUtils messageMetadataMapper;
+    private final UidProvider uidProvider;
+    private final ModSeqProvider modSeqProvider;
 
     public JPAMessageMapper(UidProvider uidProvider, ModSeqProvider 
modSeqProvider, EntityManagerFactory entityManagerFactory) {
         super(entityManagerFactory);
         this.messageMetadataMapper = new MessageUtils(uidProvider, 
modSeqProvider);
+        this.uidProvider = uidProvider;
+        this.modSeqProvider = modSeqProvider;
     }
 
     @Override
@@ -315,17 +319,17 @@ public class JPAMessageMapper extends 
JPATransactionalMapper implements MessageM
 
     @Override
     public MessageMetaData copy(Mailbox mailbox, MailboxMessage original) 
throws MailboxException {
-        return copy(mailbox, messageMetadataMapper.nextUid(mailbox), 
messageMetadataMapper.nextModSeq(mailbox), original);  
+        return copy(mailbox, uidProvider.nextUid(mailbox), 
modSeqProvider.nextModSeq(mailbox), original);
     }
 
     @Override
     public Optional<MessageUid> getLastUid(Mailbox mailbox) throws 
MailboxException {
-        return messageMetadataMapper.getLastUid(mailbox);
+        return uidProvider.lastUid(mailbox);
     }
 
     @Override
     public ModSeq getHighestModSeq(Mailbox mailbox) throws MailboxException {
-        return messageMetadataMapper.getHighestModSeq(mailbox);
+        return modSeqProvider.highestModSeq(mailbox);
     }
 
     @Override
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageUtils.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageUtils.java
index 38a46f5..55dcf8a 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageUtils.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageUtils.java
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.store.mail;
 
 import java.util.Iterator;
 import java.util.List;
-import java.util.Optional;
 
 import javax.mail.Flags;
 
@@ -43,25 +42,10 @@ public class MessageUtils {
     public MessageUtils(UidProvider uidProvider, ModSeqProvider 
modSeqProvider) {
         Preconditions.checkNotNull(uidProvider);
         Preconditions.checkNotNull(modSeqProvider);
+
         this.uidProvider = uidProvider;
         this.modSeqProvider = modSeqProvider;
     }
-    
-    public ModSeq getHighestModSeq(Mailbox mailbox) throws MailboxException {
-        return modSeqProvider.highestModSeq(mailbox);
-    }
-
-    public Optional<MessageUid> getLastUid(Mailbox mailbox) throws 
MailboxException {
-        return uidProvider.lastUid(mailbox);
-    }
-
-    public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
-        return uidProvider.nextUid(mailbox);
-    }
-
-    public ModSeq nextModSeq(Mailbox mailbox) throws MailboxException {
-        return modSeqProvider.nextModSeq(mailbox);
-    }
 
     public void enrichMessage(Mailbox mailbox, MailboxMessage message) throws 
MailboxException { 
         message.setUid(nextUid(mailbox));
@@ -96,6 +80,13 @@ public class MessageUtils {
         return new MessageChangedFlags(updatedFlags.build().iterator(), 
changedFlags.build());
     }
 
+    MessageUid nextUid(Mailbox mailbox) throws MailboxException {
+        return uidProvider.nextUid(mailbox);
+    }
+
+    ModSeq nextModSeq(Mailbox mailbox) throws MailboxException {
+        return modSeqProvider.nextModSeq(mailbox);
+    }
     
     public static class MessageChangedFlags {
         private final Iterator<UpdatedFlags> updatedFlags;
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/MessageUtilsTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/MessageUtilsTest.java
index c44cea1..fbf2a2a 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/MessageUtilsTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/MessageUtilsTest.java
@@ -80,24 +80,12 @@ public class MessageUtilsTest {
     }
     
     @Test
-    public void getHighestModSeqShouldCallModSeqProvider() throws Exception {
-        messageUtils.getHighestModSeq(mailbox);
-        verify(modSeqProvider).highestModSeq(eq(mailbox));
-    }
-    
-    @Test
     public void nextModSeqShouldCallModSeqProvider() throws Exception {
         messageUtils.nextModSeq(mailbox);
         verify(modSeqProvider).nextModSeq(eq(mailbox));
     }
     
     @Test
-    public void getLastUidShouldCallUidProvider() throws Exception {
-        messageUtils.getLastUid(mailbox);
-        verify(uidProvider).lastUid(eq(mailbox));
-    }
-    
-    @Test
     public void nextUidShouldCallUidProvider() throws Exception {
         messageUtils.nextUid(mailbox);
         verify(uidProvider).nextUid(eq(mailbox));


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to