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:35 UTC
[07/11] james-project git commit: JAMES-2414 Rely on capabilities for
copying messages with attachments
JAMES-2414 Rely on capabilities for copying messages with attachments
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0c84c453
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0c84c453
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0c84c453
Branch: refs/heads/master
Commit: 0c84c453757f77440dbfa8d4b6914e5931cd2a49
Parents: fe22488
Author: benwa <bt...@linagora.com>
Authored: Mon Jun 18 10:14:14 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Jun 19 15:09:48 2018 +0700
----------------------------------------------------------------------
.../cassandra/CassandraMailboxManager.java | 19 +++++++++++--------
.../cassandra/CassandraMessageManager.java | 10 +---------
.../james/mailbox/hbase/HBaseMailboxManager.java | 6 ++++--
.../james/mailbox/hbase/HBaseMessageManager.java | 2 +-
.../james/mailbox/jcr/JCRMessageManager.java | 2 +-
.../james/mailbox/jpa/JPAMailboxManager.java | 8 +++++---
.../james/mailbox/jpa/JPAMessageManager.java | 2 +-
.../mailbox/inmemory/InMemoryMailboxManager.java | 17 ++++++++++-------
.../mailbox/inmemory/InMemoryMessageManager.java | 11 +----------
.../james/mailbox/store/StoreMailboxManager.java | 5 +++--
.../james/mailbox/store/StoreMessageManager.java | 17 +++++++++++++++--
11 files changed, 53 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
index be5d71c..aded5ad 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
@@ -47,6 +47,15 @@ import org.apache.james.mailbox.store.search.MessageSearchIndex;
* Cassandra implementation of {@link StoreMailboxManager}
*/
public class CassandraMailboxManager extends StoreMailboxManager {
+ public static final EnumSet<MailboxCapabilities> MAILBOX_CAPABILITIES = EnumSet.of(
+ MailboxCapabilities.Move,
+ MailboxCapabilities.UserFlag,
+ MailboxCapabilities.Namespace,
+ MailboxCapabilities.Annotation,
+ MailboxCapabilities.ACL,
+ MailboxCapabilities.Quota);
+ public static final EnumSet<MessageCapabilities> MESSAGE_CAPABILITIES = EnumSet.of(MessageCapabilities.Attachment, MessageCapabilities.UniqueID);
+
private final MailboxPathLocker locker;
private final CassandraMailboxSessionMapperFactory mapperFactory;
@@ -78,18 +87,12 @@ public class CassandraMailboxManager extends StoreMailboxManager {
@Override
public EnumSet<MailboxManager.MailboxCapabilities> getSupportedMailboxCapabilities() {
- return EnumSet.of(
- MailboxCapabilities.Move,
- MailboxCapabilities.UserFlag,
- MailboxCapabilities.Namespace,
- MailboxCapabilities.Annotation,
- MailboxCapabilities.ACL,
- MailboxCapabilities.Quota);
+ return MAILBOX_CAPABILITIES;
}
@Override
public EnumSet<MessageCapabilities> getSupportedMessageCapabilities() {
- return EnumSet.of(MessageCapabilities.Attachment, MessageCapabilities.UniqueID);
+ return MESSAGE_CAPABILITIES;
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/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 09b773c..f396f1c 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,7 +38,6 @@ 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;
@@ -56,7 +55,7 @@ public class CassandraMessageManager extends StoreMessageManager {
QuotaRootResolver quotaRootResolver, MessageParser messageParser, MessageId.Factory messageIdFactory,
BatchSizes batchSizes, ImmutableMailboxMessage.Factory immutableMailboxMessageFactory,
StoreRightManager storeRightManager) throws MailboxException {
- super(mapperFactory, index, dispatcher, locker, mailbox,
+ super(CassandraMailboxManager.MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox,
quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager);
this.mapperFactory = mapperFactory;
@@ -82,11 +81,4 @@ public class CassandraMessageManager extends StoreMessageManager {
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/0c84c453/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
index 5fe1378..eba9b3e 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMailboxManager.java
@@ -45,6 +45,8 @@ import org.apache.james.mailbox.store.transaction.Mapper;
*/
public class HBaseMailboxManager extends StoreMailboxManager {
+ public static final EnumSet<MailboxCapabilities> MAILBOX_CAPABILITIES = EnumSet.of(MailboxCapabilities.Namespace);
+
public HBaseMailboxManager(HBaseMailboxSessionMapperFactory mapperFactory,
Authenticator authenticator,
Authorizator authorizator,
@@ -60,7 +62,7 @@ public class HBaseMailboxManager extends StoreMailboxManager {
}
@Override
- protected Mailbox doCreateMailbox(MailboxPath mailboxPath, MailboxSession session) throws MailboxException {
+ protected Mailbox doCreateMailbox(MailboxPath mailboxPath, MailboxSession session) {
return new HBaseMailbox(mailboxPath, randomUidValidity());
}
@@ -80,7 +82,7 @@ public class HBaseMailboxManager extends StoreMailboxManager {
@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
- return EnumSet.of(MailboxCapabilities.Namespace);
+ return MAILBOX_CAPABILITIES;
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMessageManager.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMessageManager.java
index 95884c4..7e26219 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMessageManager.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseMessageManager.java
@@ -54,7 +54,7 @@ public class HBaseMessageManager extends StoreMessageManager {
BatchSizes batchSizes,
ImmutableMailboxMessage.Factory immutableMailboxMessageFactory,
StoreRightManager storeRightManager) throws MailboxException {
- super(mapperFactory, index, dispatcher, locker, mailbox, quotaManager,
+ super(HBaseMailboxManager.DEFAULT_NO_MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, quotaManager,
quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRMessageManager.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRMessageManager.java
index 00012c5..f859afd 100644
--- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRMessageManager.java
+++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRMessageManager.java
@@ -63,7 +63,7 @@ public class JCRMessageManager extends StoreMessageManager {
ImmutableMailboxMessage.Factory immutableMailboxMessageFactory,
StoreRightManager storeRightManager)
throws MailboxException {
- super(mapperFactory, index, dispatcher, locker, mailbox, quotaManager,
+ super(JCRMailboxManager.DEFAULT_NO_MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, quotaManager,
quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
index f6282d2..d8c4491 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxManager.java
@@ -43,6 +43,10 @@ import org.apache.james.mailbox.store.transaction.Mapper;
*/
public abstract class JPAMailboxManager extends StoreMailboxManager {
+ public static final EnumSet<MailboxCapabilities> MAILBOX_CAPABILITIES = EnumSet.of(MailboxCapabilities.UserFlag,
+ MailboxCapabilities.Namespace,
+ MailboxCapabilities.Annotation);
+
public JPAMailboxManager(JPAMailboxSessionMapperFactory mailboxSessionMapperFactory,
Authenticator authenticator,
Authorizator authorizator,
@@ -65,9 +69,7 @@ public abstract class JPAMailboxManager extends StoreMailboxManager {
@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
- return EnumSet.of(MailboxCapabilities.UserFlag,
- MailboxCapabilities.Namespace,
- MailboxCapabilities.Annotation);
+ return MAILBOX_CAPABILITIES;
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
index c37b5c4..77feb6d 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMessageManager.java
@@ -63,7 +63,7 @@ public class JPAMessageManager extends StoreMessageManager {
ImmutableMailboxMessage.Factory immutableMailboxMessageFactory,
StoreRightManager storeRightManager) throws MailboxException {
- super(mapperFactory, index, dispatcher, locker, mailbox,
+ super(JPAMailboxManager.DEFAULT_NO_MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox,
quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
index 2d5a11d..e2c51e2 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMailboxManager.java
@@ -42,6 +42,14 @@ import org.apache.james.mailbox.store.search.MessageSearchIndex;
public class InMemoryMailboxManager extends StoreMailboxManager {
+ public static final EnumSet<MailboxCapabilities> MAILBOX_CAPABILITIES = EnumSet.of(MailboxCapabilities.Move,
+ MailboxCapabilities.UserFlag,
+ MailboxCapabilities.Namespace,
+ MailboxCapabilities.Annotation,
+ MailboxCapabilities.ACL,
+ MailboxCapabilities.Quota);
+ public static final EnumSet<MessageCapabilities> MESSAGE_CAPABILITIES = EnumSet.of(MessageCapabilities.Attachment, MessageCapabilities.UniqueID);
+
@Inject
public InMemoryMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, Authenticator authenticator, Authorizator authorizator,
MailboxPathLocker locker, MessageParser messageParser, MessageId.Factory messageIdFactory, MailboxEventDispatcher dispatcher,
@@ -61,17 +69,12 @@ public class InMemoryMailboxManager extends StoreMailboxManager {
@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
- return EnumSet.of(MailboxCapabilities.Move,
- MailboxCapabilities.UserFlag,
- MailboxCapabilities.Namespace,
- MailboxCapabilities.Annotation,
- MailboxCapabilities.ACL,
- MailboxCapabilities.Quota);
+ return MAILBOX_CAPABILITIES;
}
@Override
public EnumSet<MessageCapabilities> getSupportedMessageCapabilities() {
- return EnumSet.of(MessageCapabilities.Attachment, MessageCapabilities.UniqueID);
+ return MESSAGE_CAPABILITIES;
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/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 458e97d..7bc1b13 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,7 +20,6 @@ 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;
@@ -41,7 +40,7 @@ public class InMemoryMessageManager extends StoreMessageManager {
BatchSizes batchSizes,
ImmutableMailboxMessage.Factory immutableMailboxMessageFactory,
StoreRightManager storeRightManager) throws MailboxException {
- super(mapperFactory, index, dispatcher, locker, mailbox, quotaManager, quotaRootResolver,
+ super(InMemoryMailboxManager.MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, quotaManager, quotaRootResolver,
messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager);
this.mapperFactory = (InMemoryMailboxSessionMapperFactory) mapperFactory;
}
@@ -62,12 +61,4 @@ 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/0c84c453/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index a8125fd..3746257 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -100,6 +100,7 @@ import com.google.common.collect.Iterables;
public class StoreMailboxManager implements MailboxManager {
private static final Logger LOGGER = LoggerFactory.getLogger(StoreMailboxManager.class);
public static final char SQL_WILDCARD_CHAR = '%';
+ public static final EnumSet<MessageCapabilities> DEFAULT_NO_MESSAGE_CAPABILITIES = EnumSet.noneOf(MessageCapabilities.class);
private final MailboxEventDispatcher dispatcher;
private final DelegatingMailboxListener delegatingListener;
@@ -243,7 +244,7 @@ public class StoreMailboxManager implements MailboxManager {
@Override
public EnumSet<MessageCapabilities> getSupportedMessageCapabilities() {
- return EnumSet.noneOf(MessageCapabilities.class);
+ return DEFAULT_NO_MESSAGE_CAPABILITIES;
}
@Override
@@ -415,7 +416,7 @@ public class StoreMailboxManager implements MailboxManager {
* @return storeMailbox
*/
protected StoreMessageManager createMessageManager(Mailbox mailbox, MailboxSession session) throws MailboxException {
- return new StoreMessageManager(getMapperFactory(), getMessageSearchIndex(), getEventDispatcher(),
+ return new StoreMessageManager(DEFAULT_NO_MESSAGE_CAPABILITIES, getMapperFactory(), getMessageSearchIndex(), getEventDispatcher(),
getLocker(), mailbox, getQuotaManager(),
getQuotaRootResolver(), getMessageParser(), getMessageIdFactory(), getBatchSizes(),
getImmutableMailboxMessageFactory(), getStoreRightManager());
http://git-wip-us.apache.org/repos/asf/james-project/blob/0c84c453/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 af19c66..cb0f22f 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
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
+import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -39,6 +40,7 @@ import javax.mail.util.SharedFileInputStream;
import org.apache.commons.io.IOUtils;
import org.apache.commons.io.input.TeeInputStream;
import org.apache.james.mailbox.MailboxListener;
+import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageManager;
@@ -127,6 +129,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
private static final Logger LOG = LoggerFactory.getLogger(StoreMessageManager.class);
+ private final EnumSet<MailboxManager.MessageCapabilities> messageCapabilities;
+
private final Mailbox mailbox;
private final MailboxEventDispatcher dispatcher;
@@ -151,11 +155,12 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
private final ImmutableMailboxMessage.Factory immutableMailboxMessageFactory;
- public StoreMessageManager(MailboxSessionMapperFactory mapperFactory, MessageSearchIndex index, MailboxEventDispatcher dispatcher,
+ public StoreMessageManager(EnumSet<MailboxManager.MessageCapabilities> messageCapabilities, MailboxSessionMapperFactory mapperFactory, MessageSearchIndex index, MailboxEventDispatcher dispatcher,
MailboxPathLocker locker, Mailbox mailbox,
QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MessageParser messageParser, MessageId.Factory messageIdFactory, BatchSizes batchSizes,
ImmutableMailboxMessage.Factory immutableMailboxMessageFactory, StoreRightManager storeRightManager)
throws MailboxException {
+ this.messageCapabilities = messageCapabilities;
this.mailbox = mailbox;
this.dispatcher = dispatcher;
this.mapperFactory = mapperFactory;
@@ -466,12 +471,20 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
}
protected MailboxMessage copyMessage(MailboxMessage message) throws MailboxException {
- SimpleMailboxMessage copy = SimpleMailboxMessage.copyWithoutAttachments(message.getMailboxId(), message);
+ SimpleMailboxMessage copy = copyMessageWithoutMetadata(message);
copy.setUid(message.getUid());
copy.setModSeq(message.getModSeq());
return copy;
}
+ private SimpleMailboxMessage copyMessageWithoutMetadata(MailboxMessage message) throws MailboxException {
+ if (messageCapabilities.contains(MailboxManager.MessageCapabilities.Attachment)) {
+ return SimpleMailboxMessage.copy(message.getMailboxId(), message);
+ } else {
+ return SimpleMailboxMessage.copyWithoutAttachments(message.getMailboxId(), message);
+ }
+ }
+
@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