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 2018/12/19 04:10:36 UTC
[10/13] james-project git commit: MAILBOX-359 Remove MailMessage
constructor of SimpleMessageMetaData
MAILBOX-359 Remove MailMessage constructor of SimpleMessageMetaData
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ecb6258c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ecb6258c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ecb6258c
Branch: refs/heads/master
Commit: ecb6258c479cf06c60016d81874664b5653b61d6
Parents: 1c3c3e5
Author: Benoit Tellier <bt...@linagora.com>
Authored: Sat Dec 15 10:54:24 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Dec 19 10:58:07 2018 +0700
----------------------------------------------------------------------
.../james/mailbox/cassandra/mail/CassandraMessageMapper.java | 7 +++----
.../org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java | 7 +++----
.../james/mailbox/maildir/mail/MaildirMessageMapper.java | 5 ++---
.../james/mailbox/inmemory/mail/InMemoryMessageMapper.java | 5 ++---
.../james/mailbox/spamassassin/SpamAssassinListenerTest.java | 5 ++---
.../org/apache/james/mailbox/store/SimpleMessageMetaData.java | 5 -----
.../org/apache/james/mailbox/store/StoreMessageIdManager.java | 4 ++--
.../org/apache/james/mailbox/store/StoreMessageManager.java | 2 +-
.../james/mailbox/store/event/MailboxEventDispatcher.java | 3 +--
.../apache/james/mailbox/store/mail/model/MailboxMessage.java | 2 +-
.../james/mailbox/store/MessageIdManagerTestSystem.java | 2 +-
11 files changed, 18 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
----------------------------------------------------------------------
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 300e7ef..59d9a1e 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
@@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.FlagsUpdateCalculator;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
@@ -210,7 +209,7 @@ public class CassandraMessageMapper implements MessageMapper {
.collect(JamesCollectors.chunker(cassandraConfiguration.getExpungeChunkSize()))
.map(uidChunk -> expungeUidChunk(mailboxId, uidChunk))
.flatMap(CompletableFuture::join)
- .collect(Guavate.toImmutableMap(MailboxMessage::getUid, SimpleMessageMetaData::new));
+ .collect(Guavate.toImmutableMap(MailboxMessage::getUid, MailboxMessage::metaData));
}
private CompletableFuture<Stream<SimpleMailboxMessage>> expungeUidChunk(CassandraId mailboxId, Collection<MessageUid> uidChunk) {
@@ -260,7 +259,7 @@ public class CassandraMessageMapper implements MessageMapper {
save(mailbox, addUidAndModseq(message, mailboxId))
.thenCompose(voidValue -> indexTableHandler.updateIndexOnAdd(message, mailboxId))
.join();
- return new SimpleMessageMetaData(message);
+ return message.metaData();
}
private MailboxMessage addUidAndModseq(MailboxMessage message, CassandraId mailboxId) throws MailboxException {
@@ -372,7 +371,7 @@ public class CassandraMessageMapper implements MessageMapper {
insertIds(addUidAndModseq(message, mailboxId), mailboxId)
.thenCompose(voidValue -> indexTableHandler.updateIndexOnAdd(message, mailboxId))
.join();
- return new SimpleMessageMetaData(message);
+ return message.metaData();
}
private CompletableFuture<Void> save(Mailbox mailbox, MailboxMessage message) throws MailboxException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
----------------------------------------------------------------------
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 88ffb5a..a42f7bb 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
@@ -45,7 +45,6 @@ import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.MessageRange.Type;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.FlagsUpdateCalculator;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.MessageUtils;
import org.apache.james.mailbox.store.mail.MessageUtils.MessageChangedFlags;
@@ -322,12 +321,12 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
((AbstractJPAMailboxMessage) message).setMailbox(currentMailbox);
getEntityManager().persist(message);
- return new SimpleMessageMetaData(message);
+ return message.metaData();
} else {
JPAMailboxMessage persistData = new JPAMailboxMessage(currentMailbox, message.getUid(), message.getModSeq(), message);
persistData.setFlags(message.createFlags());
getEntityManager().persist(persistData);
- return new SimpleMessageMetaData(persistData);
+ return persistData.metaData();
}
} catch (PersistenceException | ArgumentException e) {
@@ -381,7 +380,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
private Map<MessageUid, MessageMetaData> createMetaData(List<MailboxMessage> uids) {
final Map<MessageUid, MessageMetaData> data = new HashMap<>();
for (MailboxMessage m : uids) {
- data.put(m.getUid(), new SimpleMessageMetaData(m));
+ data.put(m.getUid(), m.metaData());
}
return data;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
----------------------------------------------------------------------
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 2bd14db..d7e916a 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
@@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.MessageRange.Type;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.FlagsUpdateCalculator;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
@@ -234,7 +233,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
Map<MessageUid, MessageMetaData> uids = new HashMap<>();
for (MailboxMessage m : results) {
MessageUid uid = m.getUid();
- uids.put(uid, new SimpleMessageMetaData(m));
+ uids.put(uid, m.metaData());
delete(mailbox, m);
}
@@ -312,7 +311,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper {
uid = folder.appendMessage(mailboxSession, newMessageFile.getName());
message.setUid(uid);
message.setModSeq(newMessageFile.lastModified());
- return new SimpleMessageMetaData(message);
+ return message.metaData();
} catch (MailboxException e) {
throw new MailboxException("Failure while save MailboxMessage " + message + " in Mailbox " + mailbox, e);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
----------------------------------------------------------------------
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 a31b931..edcd7ae 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
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.MessageRange;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
import org.apache.james.mailbox.store.mail.ModSeqProvider;
import org.apache.james.mailbox.store.mail.UidProvider;
@@ -145,7 +144,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
while (it.hasNext()) {
MailboxMessage member = it.next();
if (member.isDeleted()) {
- filteredResult.put(member.getUid(), new SimpleMessageMetaData(member));
+ filteredResult.put(member.getUid(), member.metaData());
delete(mailbox, member);
}
@@ -189,7 +188,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper {
copy.setModSeq(message.getModSeq());
getMembershipByUidForMailbox(mailbox).put(message.getUid(), copy);
- return new SimpleMessageMetaData(message);
+ return message.metaData();
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java
index dba49a6..0496ac5 100644
--- a/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java
+++ b/mailbox/plugin/spamassassin/src/test/java/org/apache/james/mailbox/spamassassin/SpamAssassinListenerTest.java
@@ -47,7 +47,6 @@ import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.MessageMoves;
import org.apache.james.mailbox.model.TestMessageId;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.SystemMailboxesProviderImpl;
import org.apache.james.mailbox.store.event.EventFactory;
@@ -238,7 +237,7 @@ public class SpamAssassinListenerTest {
public void eventShouldCallSpamAssassinHamLearningWhenTheMessageIsAddedInInbox() throws Exception {
SimpleMailboxMessage message = createMessage(inbox);
- ImmutableSortedMap<MessageUid, MessageMetaData> sortedMap = ImmutableSortedMap.of(UID, new SimpleMessageMetaData(message));
+ ImmutableSortedMap<MessageUid, MessageMetaData> sortedMap = ImmutableSortedMap.of(UID, message.metaData());
MailboxListener.Added addedEvent = new EventFactory().added(
MAILBOX_SESSION, sortedMap, inbox);
@@ -253,7 +252,7 @@ public class SpamAssassinListenerTest {
MailboxListener.Added addedEvent = new EventFactory().added(
MAILBOX_SESSION,
- ImmutableSortedMap.of(UID, new SimpleMessageMetaData(message)),
+ ImmutableSortedMap.of(UID, message.metaData()),
mailbox1);
listener.event(addedEvent);
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java
index ae1566f..61e2f54 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java
@@ -26,7 +26,6 @@ import javax.mail.Flags;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.MessageMetaData;
-import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import com.google.common.base.Objects;
@@ -48,10 +47,6 @@ public class SimpleMessageMetaData implements MessageMetaData {
this.messageId = messageId;
}
- public SimpleMessageMetaData(MailboxMessage message) {
- this(message.getUid(), message.getModSeq(), message.createFlags(), message.getFullContentOctets(), message.getInternalDate(), message.getMessageId());
- }
-
@Override
public Flags getFlags() {
return flags;
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
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 23db5b5..907d675 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
@@ -86,7 +86,7 @@ public class StoreMessageIdManager implements MessageIdManager {
}
private static MetadataWithMailboxId toMetadataWithMailboxId(MailboxMessage message) {
- return new MetadataWithMailboxId(new SimpleMessageMetaData(message), message.getMailboxId());
+ return new MetadataWithMailboxId(message.metaData(), message.getMailboxId());
}
public static ImmutableSet<MailboxId> toMailboxIds(List<MailboxMessage> mailboxMessages) {
@@ -286,7 +286,7 @@ public class StoreMessageIdManager implements MessageIdManager {
private void removeMessageFromMailboxes(MailboxMessage message, Set<MailboxId> mailboxesToRemove, MailboxSession mailboxSession) throws MailboxException {
MessageIdMapper messageIdMapper = mailboxSessionMapperFactory.getMessageIdMapper(mailboxSession);
MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
- SimpleMessageMetaData eventPayload = new SimpleMessageMetaData(message);
+ MessageMetaData eventPayload = message.metaData();
for (MailboxId mailboxId: mailboxesToRemove) {
messageIdMapper.delete(message.getMessageId(), mailboxesToRemove);
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
----------------------------------------------------------------------
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 58f0d08..76595af 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
@@ -720,7 +720,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
while (originalRows.hasNext()) {
final MailboxMessage originalMessage = originalRows.next();
- originalRowsCopy.add(new SimpleMessageMetaData(originalMessage));
+ originalRowsCopy.add(originalMessage.metaData());
MessageMetaData data = messageMapper.execute(
() -> messageMapper.move(getMailboxEntity(), originalMessage));
movedRows.add(data);
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
index 1ebe27e..139c807 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MailboxEventDispatcher.java
@@ -44,7 +44,6 @@ import org.apache.james.mailbox.model.MessageMoves;
import org.apache.james.mailbox.model.Quota;
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.model.UpdatedFlags;
-import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
@@ -89,7 +88,7 @@ public class MailboxEventDispatcher {
}
public void added(MailboxSession session, Mailbox mailbox, MailboxMessage mailboxMessage) {
- SimpleMessageMetaData messageMetaData = new SimpleMessageMetaData(mailboxMessage);
+ MessageMetaData messageMetaData = mailboxMessage.metaData();
SortedMap<MessageUid, MessageMetaData> metaDataMap = ImmutableSortedMap.<MessageUid, MessageMetaData>naturalOrder()
.put(messageMetaData.getUid(), messageMetaData)
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java
index e9e13ad..2842356 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/MailboxMessage.java
@@ -129,7 +129,7 @@ public interface MailboxMessage extends Message, Comparable<MailboxMessage> {
Flags createFlags();
default MessageMetaData metaData() {
- return new SimpleMessageMetaData(this);
+ return new SimpleMessageMetaData(getUid(), getModSeq(), createFlags(), getFullContentOctets(), getInternalDate(), getMessageId());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/ecb6258c/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java
index 21de9e1..f195e92 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageIdManagerTestSystem.java
@@ -81,7 +81,7 @@ public class MessageIdManagerTestSystem {
Mailbox mailbox = mapperFactory.getMailboxMapper(mailboxSession).findMailboxById(mailboxId);
MailboxMessage message = createMessage(mailboxId, flags, messageId, uid);
mapperFactory.getMessageMapper(mailboxSession).add(mailbox, message);
- mailboxManager.getEventDispatcher().added(mailboxSession, new SimpleMessageMetaData(message), mailbox);
+ mailboxManager.getEventDispatcher().added(mailboxSession, message.metaData(), mailbox);
return messageId;
} catch (Exception e) {
throw new RuntimeException(e);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org