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 ma...@apache.org on 2017/08/17 11:20:13 UTC
[1/4] james-project git commit: JAMES-2123 Avoid a read before moving
out messages
Repository: james-project
Updated Branches:
refs/heads/master 6bd459a86 -> dcca8fcc8
JAMES-2123 Avoid a read before moving out messages
This read was failing in case of denormalization issues, leading to impossible to move messages
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c3bae348
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c3bae348
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c3bae348
Branch: refs/heads/master
Commit: c3bae34853acebad589c5a9dc3a7b59a28c2fca9
Parents: 34d6302
Author: benwa <bt...@linagora.com>
Authored: Thu Aug 17 08:46:28 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 17 11:04:52 2017 +0700
----------------------------------------------------------------------
.../mailbox/cassandra/mail/CassandraMessageMapper.java | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/c3bae348/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 e782127..0bad299 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
@@ -39,9 +39,9 @@ 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.cassandra.ids.CassandraMessageId;
-import org.apache.james.mailbox.cassandra.mail.utils.Limit;
import org.apache.james.mailbox.cassandra.mail.migration.V1ToV2Migration;
import org.apache.james.mailbox.cassandra.mail.utils.FlagsUpdateStageResult;
+import org.apache.james.mailbox.cassandra.mail.utils.Limit;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
@@ -246,10 +246,15 @@ public class CassandraMessageMapper implements MessageMapper {
@Override
public MessageMetaData move(Mailbox destinationMailbox, MailboxMessage original) throws MailboxException {
CassandraId originalMailboxId = (CassandraId) original.getMailboxId();
+ ComposedMessageIdWithMetaData composedMessageIdWithMetaData = ComposedMessageIdWithMetaData.builder()
+ .composedMessageId(new ComposedMessageId(originalMailboxId, original.getMessageId(), original.getUid()))
+ .flags(original.createFlags())
+ .modSeq(original.getModSeq())
+ .build();
+
MessageMetaData messageMetaData = copy(destinationMailbox, original);
- retrieveMessageId(originalMailboxId, original)
- .thenCompose(optional -> optional.map(this::deleteUsingMailboxId).orElse(CompletableFuture.completedFuture(null)))
- .join();
+ deleteUsingMailboxId(composedMessageIdWithMetaData).join();
+
return messageMetaData;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/4] james-project git commit: JAMES-2123 Avoid a read before
deleting out messages
Posted by ma...@apache.org.
JAMES-2123 Avoid a read before deleting out messages
This read was failing in case of denormalization issues, leading to impossible to move messages
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/219eb4ec
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/219eb4ec
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/219eb4ec
Branch: refs/heads/master
Commit: 219eb4ec2c2b01b876682b645a719c5d9a9298d0
Parents: c3bae34
Author: benwa <bt...@linagora.com>
Authored: Thu Aug 17 08:48:14 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 17 11:05:02 2017 +0700
----------------------------------------------------------------------
.../cassandra/mail/CassandraMessageMapper.java | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/219eb4ec/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 0bad299..837a94d 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
@@ -151,10 +151,13 @@ public class CassandraMessageMapper implements MessageMapper {
}
private CompletableFuture<Void> deleteAsFuture(MailboxMessage message, CassandraId mailboxId) {
- return messageIdDAO.retrieve(mailboxId, message.getUid())
- .thenCompose(optional -> optional
- .map(this::deleteUsingMailboxId)
- .orElse(CompletableFuture.completedFuture(null)));
+ ComposedMessageIdWithMetaData composedMessageIdWithMetaData = ComposedMessageIdWithMetaData.builder()
+ .composedMessageId(new ComposedMessageId(mailboxId, message.getMessageId(), message.getUid()))
+ .flags(message.createFlags())
+ .modSeq(message.getModSeq())
+ .build();
+
+ return deleteUsingMailboxId(composedMessageIdWithMetaData);
}
private CompletableFuture<Void> deleteUsingMailboxId(ComposedMessageIdWithMetaData composedMessageIdWithMetaData) {
@@ -168,10 +171,6 @@ public class CassandraMessageMapper implements MessageMapper {
).thenCompose(voidValue -> indexTableHandler.updateIndexOnDelete(composedMessageIdWithMetaData, mailboxId));
}
- private CompletableFuture<Optional<ComposedMessageIdWithMetaData>> retrieveMessageId(CassandraId mailboxId, MailboxMessage message) {
- return messageIdDAO.retrieve(mailboxId, message.getUid());
- }
-
@Override
public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange messageRange, FetchType ftype, int max) throws MailboxException {
CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[3/4] james-project git commit: JAMES-2123 MailboxMessage should
allow retrieving ComposeId
Posted by ma...@apache.org.
JAMES-2123 MailboxMessage should allow retrieving ComposeId
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b868488a
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b868488a
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b868488a
Branch: refs/heads/master
Commit: b868488a4e53afa2be9f5b985824e50958b1835f
Parents: 219eb4e
Author: benwa <bt...@linagora.com>
Authored: Thu Aug 17 09:34:31 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 17 11:05:06 2017 +0700
----------------------------------------------------------------------
.../cassandra/mail/CassandraMessageMapper.java | 19 ++++---------------
.../mailbox/hbase/mail/HBaseMailboxMessage.java | 11 +++++++++++
.../jcr/mail/model/JCRMailboxMessage.java | 11 +++++++++++
.../model/openjpa/AbstractJPAMailboxMessage.java | 11 +++++++++++
.../mail/model/MaildirMailboxMessage.java | 11 +++++++++++
.../mailbox/store/ImmutableMailboxMessage.java | 11 +++++++++++
.../mailbox/store/mail/model/MailboxMessage.java | 3 +++
.../mail/model/impl/SimpleMailboxMessage.java | 11 +++++++++++
.../mailbox/store/SimpleMailboxMembership.java | 11 +++++++++++
.../store/mail/model/ListMessageAssertTest.java | 11 +++++++++++
10 files changed, 95 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/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 837a94d..dd475d9 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
@@ -144,18 +144,12 @@ public class CassandraMessageMapper implements MessageMapper {
@Override
public void delete(Mailbox mailbox, MailboxMessage message) {
- CassandraId mailboxId = (CassandraId) mailbox.getMailboxId();
-
- deleteAsFuture(message, mailboxId)
+ deleteAsFuture(message)
.join();
}
- private CompletableFuture<Void> deleteAsFuture(MailboxMessage message, CassandraId mailboxId) {
- ComposedMessageIdWithMetaData composedMessageIdWithMetaData = ComposedMessageIdWithMetaData.builder()
- .composedMessageId(new ComposedMessageId(mailboxId, message.getMessageId(), message.getUid()))
- .flags(message.createFlags())
- .modSeq(message.getModSeq())
- .build();
+ private CompletableFuture<Void> deleteAsFuture(MailboxMessage message) {
+ ComposedMessageIdWithMetaData composedMessageIdWithMetaData = message.getComposedMessageIdWithMetaData();
return deleteUsingMailboxId(composedMessageIdWithMetaData);
}
@@ -244,12 +238,7 @@ public class CassandraMessageMapper implements MessageMapper {
@Override
public MessageMetaData move(Mailbox destinationMailbox, MailboxMessage original) throws MailboxException {
- CassandraId originalMailboxId = (CassandraId) original.getMailboxId();
- ComposedMessageIdWithMetaData composedMessageIdWithMetaData = ComposedMessageIdWithMetaData.builder()
- .composedMessageId(new ComposedMessageId(originalMailboxId, original.getMessageId(), original.getUid()))
- .flags(original.createFlags())
- .modSeq(original.getModSeq())
- .build();
+ ComposedMessageIdWithMetaData composedMessageIdWithMetaData = original.getComposedMessageIdWithMetaData();
MessageMetaData messageMetaData = copy(destinationMailbox, original);
deleteUsingMailboxId(composedMessageIdWithMetaData).join();
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
index 3ef781d..3fe7f48 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMessage.java
@@ -40,6 +40,8 @@ import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.hbase.HBaseId;
import org.apache.james.mailbox.hbase.io.ChunkInputStream;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.store.mail.model.FlagsBuilder;
@@ -142,6 +144,15 @@ public class HBaseMailboxMessage implements MailboxMessage {
}
@Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid))
+ .build();
+ }
+
+ @Override
public InputStream getBodyContent() throws IOException {
return new ChunkInputStream(conf, MESSAGES_TABLE, MESSAGE_DATA_BODY_CF, messageRowKey(this));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
index 2431826..2e7c233 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/model/JCRMailboxMessage.java
@@ -44,6 +44,8 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.jcr.JCRId;
import org.apache.james.mailbox.jcr.JCRImapConstants;
import org.apache.james.mailbox.jcr.Persistent;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.store.mail.model.FlagsBuilder;
@@ -165,6 +167,15 @@ public class JCRMailboxMessage implements MailboxMessage, JCRImapConstants, Pers
}
@Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(getMailboxId(), getMessageId(), uid))
+ .build();
+ }
+
+ @Override
public long getFullContentOctets() {
if (isPersistent()) {
try {
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
index 1a13ef1..800adb5 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/openjpa/AbstractJPAMailboxMessage.java
@@ -49,6 +49,8 @@ import org.apache.james.mailbox.jpa.JPAId;
import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
@@ -314,6 +316,15 @@ public abstract class AbstractJPAMailboxMessage implements MailboxMessage {
return false;
}
+ @Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailbox.getMailboxId(), getMessageId(), MessageUid.of(uid)))
+ .build();
+ }
+
/**
* @see MailboxMessage#getModSeq()
*/
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMailboxMessage.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMailboxMessage.java
index ec0c361..4bb9227 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMailboxMessage.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMailboxMessage.java
@@ -28,6 +28,8 @@ import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.maildir.MaildirFolder;
import org.apache.james.mailbox.maildir.MaildirId;
import org.apache.james.mailbox.maildir.MaildirMessageName;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.store.mail.model.DelegatingMailboxMessage;
import org.apache.james.mailbox.store.mail.model.Mailbox;
@@ -68,6 +70,15 @@ public class MaildirMailboxMessage extends DelegatingMailboxMessage {
setFlags(flags);
}
+ @Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailbox.getMailboxId(), getMessageId(), uid))
+ .build();
+ }
+
@Override
public MaildirId getMailboxId() {
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java
index 1f2b4c5..eb8757a 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java
@@ -31,6 +31,8 @@ import org.apache.commons.lang.NotImplementedException;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
@@ -144,6 +146,15 @@ public class ImmutableMailboxMessage implements MailboxMessage {
this.userFlags = userFlags;
}
+ @Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid))
+ .build();
+ }
+
public MessageId getMessageId() {
return messageId;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/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 2033917..556ee4b 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
@@ -21,6 +21,7 @@ package org.apache.james.mailbox.store.mail.model;
import javax.mail.Flags;
import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MailboxId;
/**
@@ -30,6 +31,8 @@ import org.apache.james.mailbox.model.MailboxId;
*/
public interface MailboxMessage extends Message, Comparable<MailboxMessage> {
+ ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData();
+
/**
* Return the mailbox id of the linked mailbox
*
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailboxMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailboxMessage.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailboxMessage.java
index 7f81690..f4c624c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailboxMessage.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailboxMessage.java
@@ -31,6 +31,8 @@ import javax.mail.util.SharedByteArrayInputStream;
import org.apache.commons.io.IOUtils;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
@@ -206,6 +208,15 @@ public class SimpleMailboxMessage extends DelegatingMailboxMessage {
}
@Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid))
+ .build();
+ }
+
+ @Override
protected String[] createUserFlags() {
return userFlags.clone();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
index 5d5ad03..d4c06b8 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SimpleMailboxMembership.java
@@ -36,6 +36,8 @@ import javax.mail.Flags;
import org.apache.commons.lang.NotImplementedException;
import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.TestId;
@@ -80,6 +82,15 @@ public class SimpleMailboxMembership implements MailboxMessage {
setFlags(flags);
}
+ @Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(modSeq)
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid))
+ .build();
+ }
+
public Date getInternalDate() {
return internalDate;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/b868488a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssertTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssertTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssertTest.java
index 8d76ccc..2f1d3db 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssertTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/ListMessageAssertTest.java
@@ -30,6 +30,8 @@ import javax.mail.Flags;
import javax.mail.util.SharedByteArrayInputStream;
import org.apache.james.mailbox.MessageUid;
+import org.apache.james.mailbox.model.ComposedMessageId;
+import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageAttachment;
@@ -83,6 +85,15 @@ public class ListMessageAssertTest {
final Date internalDate, final String content, final int bodyStart, final PropertyBuilder propertyBuilder) {
return new MailboxMessage() {
@Override
+ public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() {
+ return ComposedMessageIdWithMetaData.builder()
+ .modSeq(getModSeq())
+ .flags(createFlags())
+ .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid))
+ .build();
+ }
+
+ @Override
public MailboxId getMailboxId() {
return mailboxId;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[4/4] james-project git commit: Merge remote-tracking branch
'linagora/pr/937'
Posted by ma...@apache.org.
Merge remote-tracking branch 'linagora/pr/937'
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/dcca8fcc
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/dcca8fcc
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/dcca8fcc
Branch: refs/heads/master
Commit: dcca8fcc803214876499bf2c16ce16c1b7c9b78d
Parents: 6bd459a b868488
Author: Matthieu Baechler <ma...@apache.org>
Authored: Thu Aug 17 13:19:20 2017 +0200
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Thu Aug 17 13:19:20 2017 +0200
----------------------------------------------------------------------
.../cassandra/mail/CassandraMessageMapper.java | 25 +++++++-------------
.../mailbox/hbase/mail/HBaseMailboxMessage.java | 11 +++++++++
.../jcr/mail/model/JCRMailboxMessage.java | 11 +++++++++
.../openjpa/AbstractJPAMailboxMessage.java | 11 +++++++++
.../mail/model/MaildirMailboxMessage.java | 11 +++++++++
.../mailbox/store/ImmutableMailboxMessage.java | 11 +++++++++
.../store/mail/model/MailboxMessage.java | 3 +++
.../mail/model/impl/SimpleMailboxMessage.java | 11 +++++++++
.../mailbox/store/SimpleMailboxMembership.java | 11 +++++++++
.../store/mail/model/ListMessageAssertTest.java | 11 +++++++++
10 files changed, 100 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/dcca8fcc/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org