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 2feeea7f94768aaa0404453a4b1ebec75fb9eb05 Author: Benoit Tellier <[email protected]> AuthorDate: Tue Apr 14 10:16:21 2020 +0700 JAMES-3149 default method for mailbox counters --- .../apache/james/mailbox/jpa/mail/JPAMessageMapper.java | 8 -------- .../james/mailbox/jpa/mail/TransactionalMessageMapper.java | 6 ------ .../james/mailbox/maildir/mail/MaildirMessageMapper.java | 9 --------- .../james/mailbox/inmemory/mail/InMemoryMessageMapper.java | 14 -------------- .../org/apache/james/mailbox/store/mail/MessageMapper.java | 9 ++++++++- .../store/StoreMailboxMessageResultIteratorTest.java | 6 ------ 6 files changed, 8 insertions(+), 44 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 996cd6b..9ef0bbc 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 @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.james.mailbox.jpa.mail; -import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -153,13 +152,6 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM } @Override - public List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException { - return mailboxes.stream() - .map(Throwing.<Mailbox, MailboxCounters>function(this::getMailboxCounters).sneakyThrow()) - .collect(Guavate.toImmutableList()); - } - - @Override public void delete(Mailbox mailbox, MailboxMessage message) throws MailboxException { try { AbstractJPAMailboxMessage jpaMessage = getEntityManager().find(AbstractJPAMailboxMessage.class, buildKey(mailbox, message)); diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java index e932fc8..c6f8f6d 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java @@ -19,7 +19,6 @@ package org.apache.james.mailbox.jpa.mail; -import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -153,9 +152,4 @@ public class TransactionalMessageMapper implements MessageMapper { public Flags getApplicableFlag(Mailbox mailbox) throws MailboxException { return messageMapper.getApplicableFlag(mailbox); } - - @Override - public List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException { - return messageMapper.getMailboxCounters(mailboxes); - } } 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 029cae5..30ca42f 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 @@ -24,7 +24,6 @@ import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -46,7 +45,6 @@ import org.apache.james.mailbox.maildir.MaildirMessageName; import org.apache.james.mailbox.maildir.MaildirStore; import org.apache.james.mailbox.maildir.mail.model.MaildirMailboxMessage; import org.apache.james.mailbox.model.Mailbox; -import org.apache.james.mailbox.model.MailboxCounters; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.MessageRange.Type; @@ -153,13 +151,6 @@ public class MaildirMessageMapper extends AbstractMessageMapper { } @Override - public List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException { - return mailboxes.stream() - .map(Throwing.<Mailbox, MailboxCounters>function(this::getMailboxCounters).sneakyThrow()) - .collect(Guavate.toImmutableList()); - } - - @Override public Iterator<UpdatedFlags> updateFlags(Mailbox mailbox, FlagsUpdateCalculator flagsUpdateCalculator, MessageRange set) throws MailboxException { final List<UpdatedFlags> updatedFlags = new ArrayList<>(); final MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java index 191266f..4bf22c1 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java @@ -20,7 +20,6 @@ package org.apache.james.mailbox.inmemory.mail; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -36,7 +35,6 @@ import org.apache.james.mailbox.ModSeq; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.inmemory.InMemoryId; import org.apache.james.mailbox.model.Mailbox; -import org.apache.james.mailbox.model.MailboxCounters; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MessageMetaData; import org.apache.james.mailbox.model.MessageRange; @@ -100,18 +98,6 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { } @Override - public List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) { - return mailboxes.stream() - .map(Mailbox::getMailboxId) - .map(id -> MailboxCounters.builder() - .mailboxId(id) - .count(countMessagesInMailbox(id)) - .unseen(countUnseenMessagesInMailbox(id)) - .build()) - .collect(Guavate.toImmutableList()); - } - - @Override public void delete(Mailbox mailbox, MailboxMessage message) { getMembershipByUidForMailbox(mailbox).remove(message.getUid()); } diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java index ff1faf0..c0d34d4 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java @@ -39,6 +39,9 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.model.Property; import org.apache.james.mailbox.store.transaction.Mapper; +import com.github.fge.lambdas.Throwing; +import com.github.steveash.guavate.Guavate; + /** * Maps {@link MailboxMessage} in a {@link org.apache.james.mailbox.MessageManager}. A {@link MessageMapper} has a lifecycle from the start of a request * to the end of the request. @@ -70,7 +73,11 @@ public interface MessageMapper extends Mapper { MailboxCounters getMailboxCounters(Mailbox mailbox) throws MailboxException; - List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException; + default List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException { + return mailboxes.stream() + .map(Throwing.<Mailbox, MailboxCounters>function(this::getMailboxCounters).sneakyThrow()) + .collect(Guavate.toImmutableList()); + } /** * Delete the given {@link MailboxMessage} diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java index 25067ca..9f56121 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java @@ -23,7 +23,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.util.ArrayList; -import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -82,11 +81,6 @@ class StoreMailboxMessageResultIteratorTest { } @Override - public List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) { - throw new UnsupportedOperationException(); - } - - @Override public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, org.apache.james.mailbox.store.mail.MessageMapper.FetchType type, int limit) throws MailboxException { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
