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 rc...@apache.org on 2019/12/03 02:02:21 UTC
[james-project] 10/15: [Refactoring] JPAMessageMapper should not
rely on MessageUtils for Uid & ModSeq
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 <bt...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org