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