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 bt...@apache.org on 2020/04/17 00:32:26 UTC
[james-project] 34/39: JAMES-3149 default method for mailbox
counters
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 <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org