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/06/19 08:11:34 UTC
[06/11] james-project git commit: JAMES-2414 Copy dispatched message
JAMES-2414 Copy dispatched message
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/fe224885
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/fe224885
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/fe224885
Branch: refs/heads/master
Commit: fe224885f06a3e9a63edaac20ddfd0cce7099016
Parents: 32ed4d8
Author: benwa <bt...@linagora.com>
Authored: Thu Jun 14 15:54:17 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Jun 19 15:09:28 2018 +0700
----------------------------------------------------------------------
.../james/mailbox/cassandra/CassandraMessageManager.java | 9 +++++++++
.../james/mailbox/inmemory/InMemoryMessageManager.java | 9 +++++++++
.../apache/james/mailbox/store/StoreMessageManager.java | 10 +++++++++-
3 files changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/fe224885/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMessageManager.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMessageManager.java
index 31e7c17..09b773c 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMessageManager.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMessageManager.java
@@ -38,6 +38,7 @@ import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
+import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
import org.apache.james.mailbox.store.search.MessageSearchIndex;
import com.github.steveash.guavate.Guavate;
@@ -80,4 +81,12 @@ public class CassandraMessageManager extends StoreMessageManager {
.collect(Guavate.toImmutableList()),
message.getMessageId());
}
+
+ @Override
+ protected MailboxMessage copyMessage(MailboxMessage message) throws MailboxException {
+ SimpleMailboxMessage copy = SimpleMailboxMessage.copy(message.getMailboxId(), message);
+ copy.setUid(message.getUid());
+ copy.setModSeq(message.getModSeq());
+ return copy;
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/fe224885/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageManager.java
index 21b9479..458e97d 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageManager.java
@@ -20,6 +20,7 @@ import org.apache.james.mailbox.store.event.MailboxEventDispatcher;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
+import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
import org.apache.james.mailbox.store.search.MessageSearchIndex;
import com.github.steveash.guavate.Guavate;
@@ -61,4 +62,12 @@ public class InMemoryMessageManager extends StoreMessageManager {
.collect(Guavate.toImmutableList()),
message.getMessageId());
}
+
+ @Override
+ protected MailboxMessage copyMessage(MailboxMessage message) throws MailboxException {
+ SimpleMailboxMessage copy = SimpleMailboxMessage.copy(message.getMailboxId(), message);
+ copy.setUid(message.getUid());
+ copy.setModSeq(message.getModSeq());
+ return copy;
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/fe224885/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 84bc92f..af19c66 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
@@ -419,7 +419,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession);
Mailbox mailbox = getMailboxEntity();
- dispatcher.added(mailboxSession, mailbox, message);
+ MailboxMessage copy = copyMessage(message);
+ dispatcher.added(mailboxSession, mailbox, copy);
return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
}, true);
@@ -464,6 +465,13 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
return new SimpleMailboxMessage(messageIdFactory.generate(), internalDate, size, bodyStartOctet, content, flags, propertyBuilder, getMailboxEntity().getMailboxId(), attachments);
}
+ protected MailboxMessage copyMessage(MailboxMessage message) throws MailboxException {
+ SimpleMailboxMessage copy = SimpleMailboxMessage.copyWithoutAttachments(message.getMailboxId(), message);
+ copy.setUid(message.getUid());
+ copy.setModSeq(message.getModSeq());
+ return copy;
+ }
+
@Override
public boolean isWriteable(MailboxSession session) throws MailboxException {
return storeRightManager.isReadWrite(session, mailbox, getSharedPermanentFlags(session));
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org