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 3bfae08134d7257f8c869eae5c4d6944e854f9b4 Author: Benoit Tellier <[email protected]> AuthorDate: Fri Mar 13 21:08:00 2020 +0700 JAMES-3116 Group reading count & unseen Also remove countUnseen --- .../mailbox/cassandra/mail/CassandraMessageMapper.java | 5 ----- .../apache/james/mailbox/jpa/mail/JPAMessageMapper.java | 1 - .../mailbox/jpa/mail/TransactionalMessageMapper.java | 3 +-- .../apache/james/mailbox/store/StoreMessageManager.java | 10 +++------- .../james/mailbox/store/mail/AbstractMessageMapper.java | 1 + .../apache/james/mailbox/store/mail/MessageMapper.java | 6 ------ .../store/StoreMailboxMessageResultIteratorTest.java | 15 +++------------ .../mailbox/store/mail/model/MessageIdMapperTest.java | 16 ++++++++-------- .../mailbox/store/mail/model/MessageMapperTest.java | 16 ++++++++-------- .../james/mailbox/store/mail/model/MessageMoveTest.java | 8 ++++---- 10 files changed, 28 insertions(+), 53 deletions(-) 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 6f4b7df..23dbc07 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 @@ -117,11 +117,6 @@ public class CassandraMessageMapper implements MessageMapper { } @Override - public long countUnseenMessagesInMailbox(Mailbox mailbox) { - return getMailboxCounters(mailbox).getUnseen(); - } - - @Override public MailboxCounters getMailboxCounters(Mailbox mailbox) { return getMailboxCountersAsMono(mailbox).block(); } 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 b1b8f71..996cd6b 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 @@ -138,7 +138,6 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM } } - @Override public long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException { JPAId mailboxId = (JPAId) mailbox.getMailboxId(); return countUnseenMessagesInMailbox(mailboxId); 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 2242197..e932fc8 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 @@ -95,8 +95,7 @@ public class TransactionalMessageMapper implements MessageMapper { return messageMapper.countMessagesInMailbox(mailbox); } - @Override - public long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException { + private long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException { return messageMapper.countUnseenMessagesInMailbox(mailbox); } diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java index f97e5f0..f9f7d71 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java @@ -546,8 +546,9 @@ public class StoreMessageManager implements MessageManager { MessageUid firstUnseen; switch (fetchGroup) { case UNSEEN_COUNT: - unseenCount = countUnseenMessagesInMailbox(mailboxSession); - messageCount = getMessageCount(mailboxSession); + MailboxCounters mailboxCounters = getMailboxCounters(mailboxSession); + unseenCount = mailboxCounters.getUnseen(); + messageCount = mailboxCounters.getCount(); firstUnseen = null; recent = recent(resetRecent, mailboxSession); @@ -872,11 +873,6 @@ public class StoreMessageManager implements MessageManager { return copiedMessages; } - protected long countUnseenMessagesInMailbox(MailboxSession session) throws MailboxException { - MessageMapper messageMapper = mapperFactory.getMessageMapper(session); - return messageMapper.countUnseenMessagesInMailbox(getMailboxEntity()); - } - /** * Return the uid of the first unseen message or null of none is found */ 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 c4fe7ed..5a993d4 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 @@ -141,6 +141,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen */ protected abstract MessageMetaData save(Mailbox mailbox, MailboxMessage message) throws MailboxException; + protected abstract long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException; /** * Copy the MailboxMessage to the Mailbox, using the given uid and modSeq for the new MailboxMessage 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 2d850ea..ff1faf0 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 @@ -68,12 +68,6 @@ public interface MessageMapper extends Mapper { long countMessagesInMailbox(Mailbox mailbox) throws MailboxException; - /** - * Return the count of unseen messages in the mailbox - */ - long countUnseenMessagesInMailbox(Mailbox mailbox) - throws MailboxException; - MailboxCounters getMailboxCounters(Mailbox mailbox) throws MailboxException; List<MailboxCounters> getMailboxCounters(Collection<Mailbox> mailboxes) throws MailboxException; 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 f5b1635..25067ca 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 @@ -72,17 +72,13 @@ class StoreMailboxMessageResultIteratorTest { } @Override - public <T> T execute(Transaction<T> transaction) throws MailboxException { + public <T> T execute(Transaction<T> transaction) { throw new UnsupportedOperationException(); } @Override - public MailboxCounters getMailboxCounters(Mailbox mailbox) throws MailboxException { - return MailboxCounters.builder() - .mailboxId(mailbox.getMailboxId()) - .count(countMessagesInMailbox(mailbox)) - .unseen(countUnseenMessagesInMailbox(mailbox)) - .build(); + public MailboxCounters getMailboxCounters(Mailbox mailbox) { + throw new UnsupportedOperationException(); } @Override @@ -128,11 +124,6 @@ class StoreMailboxMessageResultIteratorTest { } @Override - public long countUnseenMessagesInMailbox(Mailbox mailbox) throws MailboxException { - throw new UnsupportedOperationException(); - } - - @Override public void delete(Mailbox mailbox, MailboxMessage message) throws MailboxException { throw new UnsupportedOperationException(); } diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java index 731f35a..9939095 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageIdMapperTest.java @@ -737,7 +737,7 @@ public abstract class MessageIdMapperTest { message1.setFlags(new Flags(Flag.SEEN)); sut.save(message1); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); } @Test @@ -746,7 +746,7 @@ public abstract class MessageIdMapperTest { message1.setModSeq(mapperProvider.generateModSeq(benwaInboxMailbox)); sut.save(message1); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(1); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(1); } @Test @@ -768,7 +768,7 @@ public abstract class MessageIdMapperTest { sut.delete(message1.getMessageId(), ImmutableList.of(benwaInboxMailbox.getMailboxId())); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); } @Test @@ -784,7 +784,7 @@ public abstract class MessageIdMapperTest { sut.delete(message1.getMessageId(), ImmutableList.of(benwaInboxMailbox.getMailboxId())); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(1); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(1); } @Test @@ -795,7 +795,7 @@ public abstract class MessageIdMapperTest { sut.setFlags(message1.getMessageId(), ImmutableList.of(message1.getMailboxId()), new Flags(Flag.SEEN), FlagsUpdateMode.ADD); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); } @Test @@ -807,7 +807,7 @@ public abstract class MessageIdMapperTest { sut.setFlags(message1.getMessageId(), ImmutableList.of(message1.getMailboxId()), new Flags(Flag.SEEN), FlagsUpdateMode.REMOVE); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(1); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(1); } @Test @@ -880,7 +880,7 @@ public abstract class MessageIdMapperTest { sut.setFlags(message1.getMessageId(), ImmutableList.of(message1.getMailboxId()), new Flags(Flag.ANSWERED), FlagsUpdateMode.REMOVE); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(1); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(1); } @Test @@ -944,7 +944,7 @@ public abstract class MessageIdMapperTest { .put(message2.getMessageId(), benwaInboxMailbox.getMailboxId()) .build()); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)) + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()) .isEqualTo(0); } diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java index 44b45b8..11cf811 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMapperTest.java @@ -153,13 +153,13 @@ public abstract class MessageMapperTest { @Test void emptyMailboxShouldNotHaveUnseenMessages() throws MailboxException { - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); } @Test void mailboxContainingMessagesShouldHaveTheGoodUnseenMessageCount() throws MailboxException { saveMessages(); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(5); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(5); } @Test @@ -169,7 +169,7 @@ public abstract class MessageMapperTest { messageMapper.updateFlags(benwaInboxMailbox, newFlags, message1.getUid().toRange()); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(4); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(4); } @Test @@ -177,14 +177,14 @@ public abstract class MessageMapperTest { saveMessages(); messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(Flags.Flag.SEEN), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid())); messageMapper.updateFlags(benwaInboxMailbox, new FlagsUpdateCalculator(new Flags(), FlagsUpdateMode.REPLACE), MessageRange.one(message1.getUid())); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(5); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(5); } @Test void mailboxUnSeenCountShouldBeDecrementedAfterAMessageDelete() throws MailboxException { saveMessages(); messageMapper.delete(benwaInboxMailbox, message1); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(4); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(4); } @Test @@ -573,7 +573,7 @@ public abstract class MessageMapperTest { void copyOfUnSeenMessageShouldIncrementUnSeenMessageCount() throws MailboxException { saveMessages(); messageMapper.copy(benwaInboxMailbox, SimpleMailboxMessage.copy(benwaInboxMailbox.getMailboxId(), message6)); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(6); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(6); } @Test @@ -606,10 +606,10 @@ public abstract class MessageMapperTest { void copyOfSeenMessageShouldNotIncrementUnSeenMessageCount() throws MailboxException { message6.setFlags(new Flags(Flags.Flag.SEEN)); saveMessages(); - long expectedUnseenMessages = messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox); + long expectedUnseenMessages = messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen(); messageMapper.copy(benwaInboxMailbox, SimpleMailboxMessage.copy(benwaInboxMailbox.getMailboxId(), message6)); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(expectedUnseenMessages); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(expectedUnseenMessages); } @Test diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java index 4542f2f..d640246 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MessageMoveTest.java @@ -118,8 +118,8 @@ public abstract class MessageMoveTest { messageMapper.move(benwaWorkMailbox, message1); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaWorkMailbox)).isEqualTo(1); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaWorkMailbox).getUnseen()).isEqualTo(1); } @Test @@ -130,8 +130,8 @@ public abstract class MessageMoveTest { messageMapper.move(benwaWorkMailbox, message1); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaInboxMailbox)).isEqualTo(0); - assertThat(messageMapper.countUnseenMessagesInMailbox(benwaWorkMailbox)).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaInboxMailbox).getUnseen()).isEqualTo(0); + assertThat(messageMapper.getMailboxCounters(benwaWorkMailbox).getUnseen()).isEqualTo(0); } private Mailbox createMailbox(MailboxPath mailboxPath) throws MailboxException { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
