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/11/25 09:07:03 UTC

[james-project] 20/22: [Refactoring] UidProvider do not need mailboxSession

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 3ef4fb8f0af278093ae6098f8813201920741994
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Nov 21 13:36:25 2019 +0700

    [Refactoring] UidProvider do not need mailboxSession
---
 .../cassandra/CassandraMailboxSessionMapperFactory.java |  1 -
 .../mailbox/cassandra/mail/CassandraMessageMapper.java  |  7 ++-----
 .../mailbox/cassandra/mail/CassandraUidProvider.java    | 10 +++++-----
 .../cassandra/mail/CassandraUidProviderTest.java        | 10 +++++-----
 .../mailbox/jpa/JPAMailboxSessionMapperFactory.java     |  2 +-
 .../apache/james/mailbox/jpa/mail/JPAMessageMapper.java |  5 ++---
 .../apache/james/mailbox/jpa/mail/JPAUidProvider.java   |  7 +++----
 .../james/mailbox/jpa/mail/JPAMapperProvider.java       |  5 +----
 .../org/apache/james/mailbox/maildir/MaildirFolder.java |  2 +-
 .../org/apache/james/mailbox/maildir/MaildirStore.java  |  6 +++---
 .../mailbox/maildir/mail/MaildirMessageMapper.java      |  2 +-
 .../mailbox/inmemory/mail/InMemoryUidProvider.java      |  9 ++++-----
 .../james/mailbox/store/StoreMessageIdManager.java      |  6 +++---
 .../james/mailbox/store/mail/AbstractMessageMapper.java |  6 +++---
 .../apache/james/mailbox/store/mail/MessageUtils.java   | 10 +++-------
 .../apache/james/mailbox/store/mail/UidProvider.java    | 11 +++++------
 .../james/mailbox/store/mail/MessageUtilsTest.java      | 17 ++++++-----------
 17 files changed, 48 insertions(+), 68 deletions(-)

diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
index 320f195..55c5080 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
@@ -142,7 +142,6 @@ public class CassandraMailboxSessionMapperFactory extends MailboxSessionMapperFa
         return new CassandraMessageMapper(
                                           uidProvider,
                                           modSeqProvider,
-                                          null,
                                           createAttachmentMapper(mailboxSession),
                                           messageDAO,
                                           messageIdDAO,
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
index b06ef42..c43afe7 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
@@ -32,7 +32,6 @@ import javax.mail.Flags.Flag;
 import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
 import org.apache.james.mailbox.ApplicableFlagBuilder;
 import org.apache.james.mailbox.FlagsBuilder;
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.cassandra.ids.CassandraId;
@@ -68,7 +67,6 @@ public class CassandraMessageMapper implements MessageMapper {
     public static final Logger LOGGER = LoggerFactory.getLogger(CassandraMessageMapper.class);
 
     private final CassandraModSeqProvider modSeqProvider;
-    private final MailboxSession mailboxSession;
     private final CassandraUidProvider uidProvider;
     private final CassandraMessageDAO messageDAO;
     private final CassandraMessageIdDAO messageIdDAO;
@@ -83,7 +81,7 @@ public class CassandraMessageMapper implements MessageMapper {
     private final CassandraConfiguration cassandraConfiguration;
 
     public CassandraMessageMapper(CassandraUidProvider uidProvider, CassandraModSeqProvider modSeqProvider,
-                                  MailboxSession mailboxSession, CassandraAttachmentMapper attachmentMapper,
+                                  CassandraAttachmentMapper attachmentMapper,
                                   CassandraMessageDAO messageDAO, CassandraMessageIdDAO messageIdDAO,
                                   CassandraMessageIdToImapUidDAO imapUidDAO, CassandraMailboxCounterDAO mailboxCounterDAO,
                                   CassandraMailboxRecentsDAO mailboxRecentDAO, CassandraApplicableFlagDAO applicableFlagDAO,
@@ -91,7 +89,6 @@ public class CassandraMessageMapper implements MessageMapper {
                                   CassandraDeletedMessageDAO deletedMessageDAO, CassandraConfiguration cassandraConfiguration) {
         this.uidProvider = uidProvider;
         this.modSeqProvider = modSeqProvider;
-        this.mailboxSession = mailboxSession;
         this.messageDAO = messageDAO;
         this.messageIdDAO = messageIdDAO;
         this.imapUidDAO = imapUidDAO;
@@ -363,7 +360,7 @@ public class CassandraMessageMapper implements MessageMapper {
 
     @Override
     public Optional<MessageUid> getLastUid(Mailbox mailbox) throws MailboxException {
-        return uidProvider.lastUid(mailboxSession, mailbox);
+        return uidProvider.lastUid(mailbox);
     }
 
     @Override
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
index 73f628f..276ba2b 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
@@ -35,7 +35,6 @@ import javax.inject.Inject;
 
 import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration;
 import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.cassandra.ids.CassandraId;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -46,6 +45,7 @@ import org.apache.james.mailbox.store.mail.UidProvider;
 import com.datastax.driver.core.ConsistencyLevel;
 import com.datastax.driver.core.PreparedStatement;
 import com.datastax.driver.core.Session;
+
 import reactor.core.publisher.Mono;
 
 public class CassandraUidProvider implements UidProvider {
@@ -87,12 +87,12 @@ public class CassandraUidProvider implements UidProvider {
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
-        return nextUid(mailboxSession, mailbox.getMailboxId());
+    public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
+        return nextUid(mailbox.getMailboxId());
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, MailboxId mailboxId) throws MailboxException {
+    public MessageUid nextUid(MailboxId mailboxId) throws MailboxException {
         CassandraId cassandraId = (CassandraId) mailboxId;
         return nextUid(cassandraId)
             .blockOptional()
@@ -111,7 +111,7 @@ public class CassandraUidProvider implements UidProvider {
     }
 
     @Override
-    public Optional<MessageUid> lastUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
+    public Optional<MessageUid> lastUid(Mailbox mailbox) throws MailboxException {
         return findHighestUid((CassandraId) mailbox.getMailboxId())
                 .blockOptional();
     }
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
index 8a3a6a5..e69373a 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java
@@ -65,12 +65,12 @@ class CassandraUidProviderTest {
     @Test
     void lastUidShouldRetrieveValueStoredByNextUid() throws Exception {
         int nbEntries = 100;
-        Optional<MessageUid> result = uidProvider.lastUid(null, mailbox);
+        Optional<MessageUid> result = uidProvider.lastUid(mailbox);
         assertThat(result).isEmpty();
         LongStream.range(0, nbEntries)
             .forEach(Throwing.longConsumer(value -> {
-                        MessageUid uid = uidProvider.nextUid(null, mailbox);
-                        assertThat(uid).isEqualTo(uidProvider.lastUid(null, mailbox).get());
+                        MessageUid uid = uidProvider.nextUid(mailbox);
+                        assertThat(uid).isEqualTo(uidProvider.lastUid(mailbox).get());
                 })
             );
     }
@@ -80,7 +80,7 @@ class CassandraUidProviderTest {
         int nbEntries = 100;
         LongStream.range(1, nbEntries)
             .forEach(Throwing.longConsumer(value -> {
-                MessageUid result = uidProvider.nextUid(null, mailbox);
+                MessageUid result = uidProvider.nextUid(mailbox);
                 assertThat(value).isEqualTo(result.asLong());
             }));
     }
@@ -92,7 +92,7 @@ class CassandraUidProviderTest {
 
         ConcurrentSkipListSet<MessageUid> messageUids = new ConcurrentSkipListSet<>();
         ConcurrentTestRunner.builder()
-                .operation((threadNumber, step) -> messageUids.add(uidProvider.nextUid(null, mailbox)))
+                .operation((threadNumber, step) -> messageUids.add(uidProvider.nextUid(mailbox)))
             .threadCount(threadCount)
             .operationCount(nbEntries / threadCount)
             .runSuccessfullyWithin(Duration.ofMinutes(1));
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
index ade56a6..6f6c39e 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
@@ -63,7 +63,7 @@ public class JPAMailboxSessionMapperFactory extends MailboxSessionMapperFactory
 
     @Override
     public MessageMapper createMessageMapper(MailboxSession session) {
-        return new JPAMessageMapper(session, uidProvider, modSeqProvider, entityManagerFactory);
+        return new JPAMessageMapper(uidProvider, modSeqProvider, entityManagerFactory);
     }
 
     @Override
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 c29f6d7..5ef053b 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
@@ -30,7 +30,6 @@ import javax.persistence.EntityManagerFactory;
 import javax.persistence.PersistenceException;
 import javax.persistence.Query;
 
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -71,9 +70,9 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
 
     private final MessageUtils messageMetadataMapper;
 
-    public JPAMessageMapper(MailboxSession mailboxSession, UidProvider uidProvider, ModSeqProvider modSeqProvider, EntityManagerFactory entityManagerFactory) {
+    public JPAMessageMapper(UidProvider uidProvider, ModSeqProvider modSeqProvider, EntityManagerFactory entityManagerFactory) {
         super(entityManagerFactory);
-        this.messageMetadataMapper = new MessageUtils(mailboxSession, uidProvider, modSeqProvider);
+        this.messageMetadataMapper = new MessageUtils(uidProvider, modSeqProvider);
     }
 
     @Override
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
index 199d8f9..c4fd608 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
@@ -25,7 +25,6 @@ import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.PersistenceException;
 
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.jpa.JPAId;
@@ -44,7 +43,7 @@ public class JPAUidProvider implements UidProvider {
     }
 
     @Override
-    public Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
+    public Optional<MessageUid> lastUid(Mailbox mailbox) throws MailboxException {
         EntityManager manager = null;
         try {
             manager = factory.createEntityManager();
@@ -64,12 +63,12 @@ public class JPAUidProvider implements UidProvider {
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
+    public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
         return nextUid((JPAId) mailbox.getMailboxId());
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, MailboxId mailboxId) throws MailboxException {
+    public MessageUid nextUid(MailboxId mailboxId) throws MailboxException {
         return nextUid((JPAId) mailboxId);
     }
 
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
index a8af899..7fe350a 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
@@ -26,8 +26,6 @@ import javax.persistence.EntityManagerFactory;
 
 import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.backends.jpa.JpaTestCluster;
-import org.apache.james.core.Username;
-import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -61,8 +59,7 @@ public class JPAMapperProvider implements MapperProvider {
     public MessageMapper createMessageMapper() {
         EntityManagerFactory entityManagerFactory = jpaTestCluster.getEntityManagerFactory();
 
-        JPAMessageMapper messageMapper = new JPAMessageMapper(MailboxSessionUtil.create(Username.of("benwa")),
-            new JPAUidProvider(entityManagerFactory),
+        JPAMessageMapper messageMapper = new JPAMessageMapper(new JPAUidProvider(entityManagerFactory),
             new JPAModSeqProvider(entityManagerFactory),
             entityManagerFactory);
 
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
index f744f94..e716238 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
@@ -447,7 +447,7 @@ public class MaildirFolder {
      * @return A {@link Map} with all uids and associated {@link MaildirMessageName}s
      * @throws MailboxException if there is a problem with the uid list file
      */
-    public SortedMap<MessageUid, MaildirMessageName> getUidMap(MailboxSession session, FilenameFilter filter, int limit) throws MailboxException {
+    public SortedMap<MessageUid, MaildirMessageName> getUidMap(FilenameFilter filter, int limit) throws MailboxException {
         MessageUid to = null;
         SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(MessageUid.MIN_VALUE, to);
         SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<>();
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
index f46efb6..8637da7 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java
@@ -250,7 +250,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider {
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
+    public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
         try {
             return createMaildirFolder(mailbox).getLastUid()
                 .map(MessageUid::next)
@@ -275,7 +275,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider {
     }
 
     @Override
-    public Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
+    public Optional<MessageUid> lastUid(Mailbox mailbox) throws MailboxException {
        return createMaildirFolder(mailbox).getLastUid();
     }
 
@@ -305,7 +305,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider {
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, MailboxId mailboxId) throws MailboxException {
+    public MessageUid nextUid(MailboxId mailboxId) throws MailboxException {
         throw new NotImplementedException("Not implemented");
     }
 
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
index 5d87d48..6bbddaa 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
@@ -409,7 +409,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
             throws MailboxException {
         MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
         try {
-            SortedMap<MessageUid, MaildirMessageName> uidMap = folder.getUidMap(mailboxSession, filter, limit);
+            SortedMap<MessageUid, MaildirMessageName> uidMap = folder.getUidMap(filter, limit);
 
             ArrayList<MailboxMessage> filtered = new ArrayList<>(uidMap.size());
             for (Entry<MessageUid, MaildirMessageName> entry : uidMap.entrySet()) {
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
index f862588..862abde 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java
@@ -24,7 +24,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicLong;
 
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.inmemory.InMemoryId;
@@ -37,12 +36,12 @@ public class InMemoryUidProvider implements UidProvider {
     private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<>();
     
     @Override
-    public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
-        return nextUid(session, mailbox.getMailboxId());
+    public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
+        return nextUid(mailbox.getMailboxId());
     }
 
     @Override
-    public MessageUid nextUid(MailboxSession session, MailboxId mailboxId) {
+    public MessageUid nextUid(MailboxId mailboxId) {
         InMemoryId memoryId = (InMemoryId) mailboxId;
         AtomicLong uid = getLast(memoryId);
         if (uid != null) {
@@ -58,7 +57,7 @@ public class InMemoryUidProvider implements UidProvider {
     }
 
     @Override
-    public Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
+    public Optional<MessageUid> lastUid(Mailbox mailbox) throws MailboxException {
         AtomicLong last = getLast((InMemoryId) mailbox.getMailboxId());
         if (last == null) {
             return Optional.empty();
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 a6c19f8..bf3d810 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
@@ -382,7 +382,7 @@ public class StoreMessageIdManager implements MessageIdManager {
                                     .build())
                             .build())
                     .build();
-            save(mailboxSession, messageIdMapper, copy);
+            save(messageIdMapper, copy);
 
             eventBus.dispatch(EventFactory.added()
                 .randomEventId()
@@ -395,9 +395,9 @@ public class StoreMessageIdManager implements MessageIdManager {
         }
     }
 
-    private void save(MailboxSession mailboxSession, MessageIdMapper messageIdMapper, MailboxMessage mailboxMessage) throws MailboxException {
+    private void save(MessageIdMapper messageIdMapper, MailboxMessage mailboxMessage) throws MailboxException {
         ModSeq modSeq = mailboxSessionMapperFactory.getModSeqProvider().nextModSeq(mailboxMessage.getMailboxId());
-        MessageUid uid = mailboxSessionMapperFactory.getUidProvider().nextUid(mailboxSession, mailboxMessage.getMailboxId());
+        MessageUid uid = mailboxSessionMapperFactory.getUidProvider().nextUid(mailboxMessage.getMailboxId());
         mailboxMessage.setModSeq(modSeq);
         mailboxMessage.setUid(uid);
         messageIdMapper.copyInMailbox(mailboxMessage);
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
index ecac854..c4fe7ed 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
@@ -67,7 +67,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
 
     @Override
     public Optional<MessageUid> getLastUid(Mailbox mailbox) throws MailboxException {
-        return uidProvider.lastUid(mailboxSession, mailbox);
+        return uidProvider.lastUid(mailbox);
     }
 
     @Override
@@ -114,7 +114,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
 
     @Override
     public MessageMetaData add(Mailbox mailbox, MailboxMessage message) throws MailboxException {
-        message.setUid(uidProvider.nextUid(mailboxSession, mailbox));
+        message.setUid(uidProvider.nextUid(mailbox));
         
         // if a mailbox does not support mod-sequences the provider may be null
         if (modSeqProvider != null) {
@@ -129,7 +129,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
     
     @Override
     public MessageMetaData copy(Mailbox mailbox, MailboxMessage original) throws MailboxException {
-        MessageUid uid = uidProvider.nextUid(mailboxSession, mailbox);
+        MessageUid uid = uidProvider.nextUid(mailbox);
         ModSeq modSeq = modSeqProvider.nextModSeq(mailbox);
         final MessageMetaData metaData = copy(mailbox, uid, modSeq, original);  
         
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 6d7c0b7..0840858 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
@@ -25,7 +25,6 @@ import java.util.Optional;
 
 import javax.mail.Flags;
 
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.exception.MailboxException;
@@ -38,14 +37,12 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
 public class MessageUtils {
-    private final MailboxSession mailboxSession;
     private final UidProvider uidProvider;
     private final ModSeqProvider modSeqProvider;
 
-    public MessageUtils(MailboxSession mailboxSession, UidProvider uidProvider, ModSeqProvider modSeqProvider) {
+    public MessageUtils(UidProvider uidProvider, ModSeqProvider modSeqProvider) {
         Preconditions.checkNotNull(uidProvider);
         Preconditions.checkNotNull(modSeqProvider);
-        this.mailboxSession = mailboxSession;
         this.uidProvider = uidProvider;
         this.modSeqProvider = modSeqProvider;
     }
@@ -55,12 +52,11 @@ public class MessageUtils {
     }
 
     public Optional<MessageUid> getLastUid(Mailbox mailbox) throws MailboxException {
-        return uidProvider.lastUid(mailboxSession, mailbox);
+        return uidProvider.lastUid(mailbox);
     }
-    
 
     public MessageUid nextUid(Mailbox mailbox) throws MailboxException {
-        return uidProvider.nextUid(mailboxSession, mailbox);
+        return uidProvider.nextUid(mailbox);
     }
 
     public ModSeq nextModSeq(Mailbox mailbox) throws MailboxException {
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/UidProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/UidProvider.java
index de9f84b..57c3f8c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/UidProvider.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/UidProvider.java
@@ -20,7 +20,6 @@ package org.apache.james.mailbox.store.mail;
 
 import java.util.Optional;
 
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.Mailbox;
@@ -37,12 +36,12 @@ public interface UidProvider {
      * Its important that the returned uid is higher then the last used and that the next call of this method does return a higher
      * one
      */
-    MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException;
-    
+    MessageUid nextUid(Mailbox mailbox) throws MailboxException;
+
     /**
      * Return the last uid which were used for storing a MailboxMessage in the {@link Mailbox}
      */
-    Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException;
-    
-    MessageUid nextUid(MailboxSession session, MailboxId mailboxId) throws MailboxException;
+    Optional<MessageUid> lastUid(Mailbox mailbox) throws MailboxException;
+
+    MessageUid nextUid(MailboxId mailboxId) throws MailboxException;
 }
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 82bd23d..c44cea1 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
@@ -29,9 +29,6 @@ import java.util.Date;
 import javax.mail.Flags;
 import javax.mail.util.SharedByteArrayInputStream;
 
-import org.apache.james.core.Username;
-import org.apache.james.mailbox.MailboxSession;
-import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.model.Mailbox;
@@ -56,7 +53,6 @@ public class MessageUtilsTest {
     @Mock private ModSeqProvider modSeqProvider;
     @Mock private UidProvider uidProvider;
     @Mock private Mailbox mailbox;
-    private MailboxSession mailboxSession;
 
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
@@ -67,21 +63,20 @@ public class MessageUtilsTest {
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
-        mailboxSession = MailboxSessionUtil.create(Username.of("user"));
-        messageUtils = new MessageUtils(mailboxSession, uidProvider, modSeqProvider);
+        messageUtils = new MessageUtils(uidProvider, modSeqProvider);
         message = new SimpleMailboxMessage(MESSAGE_ID, new Date(), CONTENT.length(), BODY_START, new SharedByteArrayInputStream(CONTENT.getBytes()), new Flags(), new PropertyBuilder(), mailbox.getMailboxId());
     }
     
     @Test
     public void newInstanceShouldFailWhenNullUidProvider() {
         expectedException.expect(NullPointerException.class);
-        new MessageUtils(mailboxSession, null, modSeqProvider);
+        new MessageUtils(null, modSeqProvider);
     }
     
     @Test
     public void newInstanceShouldFailWhenNullModSeqProvider() {
         expectedException.expect(NullPointerException.class);
-        new MessageUtils(mailboxSession, uidProvider, null);
+        new MessageUtils(uidProvider, null);
     }
     
     @Test
@@ -99,18 +94,18 @@ public class MessageUtilsTest {
     @Test
     public void getLastUidShouldCallUidProvider() throws Exception {
         messageUtils.getLastUid(mailbox);
-        verify(uidProvider).lastUid(eq(mailboxSession), eq(mailbox));
+        verify(uidProvider).lastUid(eq(mailbox));
     }
     
     @Test
     public void nextUidShouldCallUidProvider() throws Exception {
         messageUtils.nextUid(mailbox);
-        verify(uidProvider).nextUid(eq(mailboxSession), eq(mailbox));
+        verify(uidProvider).nextUid(eq(mailbox));
     }
     
     @Test
     public void enrichMesageShouldEnrichUidAndModSeq() throws Exception {
-        when(uidProvider.nextUid(eq(mailboxSession), eq(mailbox))).thenReturn(MESSAGE_UID);
+        when(uidProvider.nextUid(eq(mailbox))).thenReturn(MESSAGE_UID);
         when(modSeqProvider.nextModSeq(eq(mailbox))).thenReturn(ModSeq.of(11));
 
         messageUtils.enrichMessage(mailbox, message);


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