Repository: james-project Updated Branches: refs/heads/master e0da389a8 -> 6b2880416
MAILBOX-359 ImmutableMailboxMessage is no more used It was used to do an immutable copy of messages carried by events. This was removed in previous refactorings. Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6b288041 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6b288041 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6b288041 Branch: refs/heads/master Commit: 6b28804163b86a1cb447541003ed2fe6b61f87fa Parents: e0da389 Author: Benoit Tellier <[email protected]> Authored: Wed Dec 19 14:31:09 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Thu Dec 20 11:34:07 2018 +0700 ---------------------------------------------------------------------- .../cassandra/CassandraMailboxManager.java | 1 - .../cassandra/CassandraMessageManager.java | 5 +- .../james/mailbox/jpa/JPAMessageManager.java | 4 +- .../jpa/openjpa/OpenJPAMailboxManager.java | 1 - .../jpa/openjpa/OpenJPAMessageManager.java | 5 +- .../inmemory/InMemoryMailboxManager.java | 1 - .../inmemory/InMemoryMessageManager.java | 4 +- .../mailbox/store/ImmutableMailboxMessage.java | 279 ------------------- .../mailbox/store/StoreMailboxManager.java | 8 +- .../mailbox/store/StoreMessageManager.java | 9 +- .../store/ImmutableMailboxMessageTest.java | 113 -------- 11 files changed, 10 insertions(+), 420 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 81e543b..09c4c31 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 @@ -113,7 +113,6 @@ public class CassandraMailboxManager extends StoreMailboxManager { getMessageParser(), getMessageIdFactory(), getBatchSizes(), - getImmutableMailboxMessageFactory(), getStoreRightManager()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 5ce4286..fe00a3a 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 @@ -31,7 +31,6 @@ import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.quota.QuotaManager; import org.apache.james.mailbox.quota.QuotaRootResolver; import org.apache.james.mailbox.store.BatchSizes; -import org.apache.james.mailbox.store.ImmutableMailboxMessage; import org.apache.james.mailbox.store.StoreMessageManager; import org.apache.james.mailbox.store.StoreRightManager; import org.apache.james.mailbox.store.event.MailboxEventDispatcher; @@ -53,10 +52,10 @@ public class CassandraMessageManager extends StoreMessageManager { public CassandraMessageManager(CassandraMailboxSessionMapperFactory mapperFactory, MessageSearchIndex index, MailboxEventDispatcher dispatcher, MailboxPathLocker locker, Mailbox mailbox, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MessageParser messageParser, MessageId.Factory messageIdFactory, - BatchSizes batchSizes, ImmutableMailboxMessage.Factory immutableMailboxMessageFactory, + BatchSizes batchSizes, StoreRightManager storeRightManager) { super(CassandraMailboxManager.MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, - quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager); + quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, storeRightManager); this.mapperFactory = mapperFactory; } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 c19d0bc..bdfcb91 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 @@ -34,7 +34,6 @@ import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.quota.QuotaManager; import org.apache.james.mailbox.quota.QuotaRootResolver; import org.apache.james.mailbox.store.BatchSizes; -import org.apache.james.mailbox.store.ImmutableMailboxMessage; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; import org.apache.james.mailbox.store.StoreMessageManager; import org.apache.james.mailbox.store.StoreRightManager; @@ -60,11 +59,10 @@ public class JPAMessageManager extends StoreMessageManager { MessageParser messageParser, MessageId.Factory messageIdFactory, BatchSizes batchSizes, - ImmutableMailboxMessage.Factory immutableMailboxMessageFactory, StoreRightManager storeRightManager) { super(JPAMailboxManager.DEFAULT_NO_MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, - quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager); + quotaManager, quotaRootResolver, messageParser, messageIdFactory, batchSizes, storeRightManager); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java index 1c88d21..8dfedfe 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMailboxManager.java @@ -74,7 +74,6 @@ public class OpenJPAMailboxManager extends JPAMailboxManager { getMessageParser(), getMessageIdFactory(), getBatchSizes(), - getImmutableMailboxMessageFactory(), getStoreRightManager()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMessageManager.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMessageManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMessageManager.java index 3863dcf..d5ce35c 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMessageManager.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/openjpa/OpenJPAMessageManager.java @@ -36,7 +36,6 @@ import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.quota.QuotaManager; import org.apache.james.mailbox.quota.QuotaRootResolver; import org.apache.james.mailbox.store.BatchSizes; -import org.apache.james.mailbox.store.ImmutableMailboxMessage; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; import org.apache.james.mailbox.store.StoreRightManager; import org.apache.james.mailbox.store.event.MailboxEventDispatcher; @@ -64,10 +63,10 @@ public class OpenJPAMessageManager extends JPAMessageManager { MailboxPathLocker locker, Mailbox mailbox, AdvancedFeature f, QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MessageParser messageParser, MessageId.Factory messageIdFactory, BatchSizes batchSizes, - ImmutableMailboxMessage.Factory immutableMailboxMessageFactory, StoreRightManager storeRightManager) { + StoreRightManager storeRightManager) { super(mapperFactory, index, dispatcher, locker, mailbox, quotaManager, quotaRootResolver, - messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager); + messageParser, messageIdFactory, batchSizes, storeRightManager); this.feature = f; } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 69736ac..3d27c79 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 @@ -88,7 +88,6 @@ public class InMemoryMailboxManager extends StoreMailboxManager { getMessageParser(), getMessageIdFactory(), getBatchSizes(), - getImmutableMailboxMessageFactory(), getStoreRightManager()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 d422f0d..354f343 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 @@ -12,7 +12,6 @@ import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.quota.QuotaManager; import org.apache.james.mailbox.quota.QuotaRootResolver; import org.apache.james.mailbox.store.BatchSizes; -import org.apache.james.mailbox.store.ImmutableMailboxMessage; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; import org.apache.james.mailbox.store.StoreMessageManager; import org.apache.james.mailbox.store.StoreRightManager; @@ -38,11 +37,10 @@ public class InMemoryMessageManager extends StoreMessageManager { MessageParser messageParser, MessageId.Factory messageIdFactory, BatchSizes batchSizes, - ImmutableMailboxMessage.Factory immutableMailboxMessageFactory, StoreRightManager storeRightManager) { super(InMemoryMailboxManager.MESSAGE_CAPABILITIES, mapperFactory, index, dispatcher, locker, mailbox, quotaManager, quotaRootResolver, - messageParser, messageIdFactory, batchSizes, immutableMailboxMessageFactory, storeRightManager); + messageParser, messageIdFactory, batchSizes, storeRightManager); this.mapperFactory = (InMemoryMailboxSessionMapperFactory) mapperFactory; } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 deleted file mode 100644 index a373cfc..0000000 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/ImmutableMailboxMessage.java +++ /dev/null @@ -1,279 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ -package org.apache.james.mailbox.store; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.SequenceInputStream; -import java.util.Date; -import java.util.List; - -import javax.mail.Flags; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.NotImplementedException; -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; -import org.apache.james.mailbox.store.mail.model.FlagsFactory; -import org.apache.james.mailbox.store.mail.model.MailboxMessage; -import org.apache.james.mailbox.store.mail.model.Property; - -import com.google.common.collect.ImmutableList; - -public class ImmutableMailboxMessage implements MailboxMessage { - - public static class Factory { - - public ImmutableMailboxMessage from(MailboxId mailboxId, MailboxMessage message) throws MailboxException { - try { - return new ImmutableMailboxMessage(message.getMessageId(), - message.getInternalDate(), - IOUtils.toByteArray(message.getBodyContent()), - message.getMediaType(), - message.getSubType(), - message.getBodyOctets(), - message.getFullContentOctets(), - message.getFullContentOctets() - message.getBodyOctets(), - message.getTextualLineCount(), - IOUtils.toByteArray(message.getHeaderContent()), - ImmutableList.copyOf(message.getProperties()), - attachments(message), - mailboxId, - message.getUid(), - message.getModSeq(), - message.isAnswered(), - message.isDeleted(), - message.isDraft(), - message.isFlagged(), - message.isRecent(), - message.isSeen(), - message.createFlags().getUserFlags()); - } catch (IOException e) { - throw new MailboxException("Unable to parse message", e); - } - } - - private ImmutableList<MessageAttachment> attachments(MailboxMessage message) { - return ImmutableList.copyOf(message.getAttachments()); - } - } - - private final MessageId messageId; - private final Date internalDate; - private final byte[] bodyContent; - private final String mediaType; - private final String subType; - private final long bodyOctets; - private final long fullContentOctets; - private final long headerOctets; - private final Long textualLineCount; - private final byte[] headerContent; - private final List<Property> properties; - private final List<MessageAttachment> attachments; - private final MailboxId mailboxId; - private final MessageUid uid; - private final long modSeq; - private final boolean answered; - private final boolean deleted; - private final boolean draft; - private final boolean flagged; - private final boolean recent; - private final boolean seen; - private final String[] userFlags; - - private ImmutableMailboxMessage(MessageId messageId, Date internalDate, byte[] bodyContent, String mediaType, String subType, long bodyOctets, long fullContentOctets, long headerOctets, Long textualLineCount, byte[] headerContent, - List<Property> properties, List<MessageAttachment> attachments, MailboxId mailboxId, MessageUid uid, long modSeq, boolean answered, boolean deleted, boolean draft, boolean flagged, boolean recent, - boolean seen, String[] userFlags) { - this.messageId = messageId; - this.internalDate = internalDate; - this.bodyContent = bodyContent; - this.mediaType = mediaType; - this.subType = subType; - this.bodyOctets = bodyOctets; - this.fullContentOctets = fullContentOctets; - this.headerOctets = headerOctets; - this.textualLineCount = textualLineCount; - this.headerContent = headerContent; - this.properties = properties; - this.attachments = attachments; - this.mailboxId = mailboxId; - this.uid = uid; - this.modSeq = modSeq; - this.answered = answered; - this.deleted = deleted; - this.draft = draft; - this.flagged = flagged; - this.recent = recent; - this.seen = seen; - this.userFlags = userFlags; - } - - @Override - public ComposedMessageIdWithMetaData getComposedMessageIdWithMetaData() { - return ComposedMessageIdWithMetaData.builder() - .modSeq(modSeq) - .flags(createFlags()) - .composedMessageId(new ComposedMessageId(mailboxId, getMessageId(), uid)) - .build(); - } - - @Override - public MessageId getMessageId() { - return messageId; - } - - @Override - public Date getInternalDate() { - return internalDate; - } - - @Override - public InputStream getBodyContent() { - return new ByteArrayInputStream(bodyContent); - } - - @Override - public String getMediaType() { - return mediaType; - } - - @Override - public String getSubType() { - return subType; - } - - @Override - public long getBodyOctets() { - return bodyOctets; - } - - @Override - public long getFullContentOctets() { - return fullContentOctets; - } - - @Override - public long getHeaderOctets() { - return headerOctets; - } - - @Override - public Long getTextualLineCount() { - return textualLineCount; - } - - @Override - public InputStream getHeaderContent() { - return new ByteArrayInputStream(headerContent); - } - - @Override - public InputStream getFullContent() { - return new SequenceInputStream( - new ByteArrayInputStream(headerContent), - new ByteArrayInputStream(bodyContent)); - } - - @Override - public List<Property> getProperties() { - return properties; - } - - @Override - public List<MessageAttachment> getAttachments() { - return attachments; - } - - @Override - public MailboxId getMailboxId() { - return mailboxId; - } - - @Override - public MessageUid getUid() { - return uid; - } - - @Override - public long getModSeq() { - return modSeq; - } - - @Override - public boolean isAnswered() { - return answered; - } - - @Override - public boolean isDeleted() { - return deleted; - } - - @Override - public boolean isDraft() { - return draft; - } - - @Override - public boolean isFlagged() { - return flagged; - } - - @Override - public boolean isRecent() { - return recent; - } - - @Override - public boolean isSeen() { - return seen; - } - - @Override - public int compareTo(MailboxMessage o) { - throw new NotImplementedException("Not implemented"); - } - - @Override - public void setUid(MessageUid uid) { - throw new NotImplementedException("Not implemented"); - } - - @Override - public void setModSeq(long modSeq) { - throw new NotImplementedException("Not implemented"); - } - - @Override - public void setFlags(Flags flags) { - throw new NotImplementedException("Not implemented"); - } - - @Override - public Flags createFlags() { - return FlagsFactory.createFlags(this, userFlags); - } - -} http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 cbe6425..f86b20b 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 @@ -142,7 +142,6 @@ public class StoreMailboxManager implements MailboxManager { private final MessageParser messageParser; private final Factory messageIdFactory; - private final ImmutableMailboxMessage.Factory immutableMailboxMessageFactory; @Inject public StoreMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFactory, Authenticator authenticator, Authorizator authorizator, @@ -163,7 +162,6 @@ public class StoreMailboxManager implements MailboxManager { this.messageIdFactory = messageIdFactory; this.delegatingListener = delegatingListener; this.dispatcher = mailboxEventDispatcher; - this.immutableMailboxMessageFactory = new ImmutableMailboxMessage.Factory(); this.storeRightManager = storeRightManager; } @@ -211,10 +209,6 @@ public class StoreMailboxManager implements MailboxManager { return batchSizes; } - public ImmutableMailboxMessage.Factory getImmutableMailboxMessageFactory() { - return immutableMailboxMessageFactory; - } - /** * Init the {@link MailboxManager} * @@ -438,7 +432,7 @@ public class StoreMailboxManager implements MailboxManager { return new StoreMessageManager(DEFAULT_NO_MESSAGE_CAPABILITIES, getMapperFactory(), getMessageSearchIndex(), getEventDispatcher(), getLocker(), mailbox, getQuotaManager(), getQuotaRootResolver(), getMessageParser(), getMessageIdFactory(), getBatchSizes(), - getImmutableMailboxMessageFactory(), getStoreRightManager()); + getStoreRightManager()); } /** http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/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 217940d..36cb3e8 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 @@ -152,12 +152,10 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana private BatchSizes batchSizes = BatchSizes.defaultValues(); - private final ImmutableMailboxMessage.Factory immutableMailboxMessageFactory; - 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) { + MailboxPathLocker locker, Mailbox mailbox, + QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, MessageParser messageParser, MessageId.Factory messageIdFactory, BatchSizes batchSizes, + StoreRightManager storeRightManager) { this.messageCapabilities = messageCapabilities; this.mailbox = mailbox; this.dispatcher = dispatcher; @@ -169,7 +167,6 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana this.messageParser = messageParser; this.messageIdFactory = messageIdFactory; this.batchSizes = batchSizes; - this.immutableMailboxMessageFactory = immutableMailboxMessageFactory; this.storeRightManager = storeRightManager; } http://git-wip-us.apache.org/repos/asf/james-project/blob/6b288041/mailbox/store/src/test/java/org/apache/james/mailbox/store/ImmutableMailboxMessageTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/ImmutableMailboxMessageTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/ImmutableMailboxMessageTest.java deleted file mode 100644 index 87fd38c..0000000 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/ImmutableMailboxMessageTest.java +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ -package org.apache.james.mailbox.store; - -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.EnumSet; - -import javax.mail.Flags; -import javax.mail.util.SharedByteArrayInputStream; - -import org.apache.commons.io.IOUtils; -import org.apache.james.mailbox.MailboxManager; -import org.apache.james.mailbox.MailboxManager.MessageCapabilities; -import org.apache.james.mailbox.model.TestId; -import org.apache.james.mailbox.store.mail.model.DefaultMessageId; -import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; -import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; -import org.assertj.core.api.JUnitSoftAssertions; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -public class ImmutableMailboxMessageTest { - - private ImmutableMailboxMessage.Factory messageFactory; - - @Rule - public JUnitSoftAssertions softly = new JUnitSoftAssertions(); - - @Before - public void setup() { - MailboxManager mailboxManager = mock(MailboxManager.class); - when(mailboxManager.getSupportedMessageCapabilities()).thenReturn(EnumSet.noneOf(MessageCapabilities.class)); - - messageFactory = new ImmutableMailboxMessage.Factory(); - } - - @Test - public void fullContentMayBeReadMultipleTimes() throws Exception { - String fullContent = "Subject: Test1 \n\nBody1\n.\n"; - int bodyStartOctet = 16; - SimpleMailboxMessage simpleMailboxMessage = new SimpleMailboxMessage(new DefaultMessageId(), - new Date(), - fullContent.length(), - bodyStartOctet, - new SharedByteArrayInputStream(fullContent.getBytes(StandardCharsets.UTF_8)), - new Flags(), - new PropertyBuilder(), TestId.of(1)); - - ImmutableMailboxMessage message = messageFactory.from(TestId.of(1), simpleMailboxMessage); - - softly.assertThat(IOUtils.toString(message.getFullContent(), StandardCharsets.UTF_8)).isEqualTo(fullContent); - softly.assertThat(IOUtils.toString(message.getFullContent(), StandardCharsets.UTF_8)).isEqualTo(fullContent); - } - - @Test - public void headersMayBeReadMultipleTimes() throws Exception { - String fullContent = "Subject: Test1 \n\nBody1\n.\n"; - int bodyStartOctet = 16; - SimpleMailboxMessage simpleMailboxMessage = new SimpleMailboxMessage(new DefaultMessageId(), - new Date(), - fullContent.length(), - bodyStartOctet, - new SharedByteArrayInputStream(fullContent.getBytes(StandardCharsets.UTF_8)), - new Flags(), - new PropertyBuilder(), TestId.of(1)); - - ImmutableMailboxMessage message = messageFactory.from(TestId.of(1), simpleMailboxMessage); - - String expectedHeaders = "Subject: Test1 \n"; - softly.assertThat(IOUtils.toString(message.getHeaderContent(), StandardCharsets.UTF_8)).isEqualTo(expectedHeaders); - softly.assertThat(IOUtils.toString(message.getHeaderContent(), StandardCharsets.UTF_8)).isEqualTo(expectedHeaders); - } - - @Test - public void bodyMayBeReadMultipleTimes() throws Exception { - String fullContent = "Subject: Test1 \n\nBody1\n.\n"; - int bodyStartOctet = 16; - SimpleMailboxMessage simpleMailboxMessage = new SimpleMailboxMessage(new DefaultMessageId(), - new Date(), - fullContent.length(), - bodyStartOctet, - new SharedByteArrayInputStream(fullContent.getBytes(StandardCharsets.UTF_8)), - new Flags(), - new PropertyBuilder(), TestId.of(1)); - - ImmutableMailboxMessage message = messageFactory.from(TestId.of(1), simpleMailboxMessage); - - String expectedBody = "\nBody1\n.\n"; - softly.assertThat(IOUtils.toString(message.getBodyContent(), StandardCharsets.UTF_8)).isEqualTo(expectedBody); - softly.assertThat(IOUtils.toString(message.getBodyContent(), StandardCharsets.UTF_8)).isEqualTo(expectedBody); - } -} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
