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 2017/08/31 01:32:17 UTC
[05/22] james-project git commit: JAMES-2127 No more OptionalConverter
JAMES-2127 No more OptionalConverter
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4ce918b8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4ce918b8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4ce918b8
Branch: refs/heads/master
Commit: 4ce918b8857b2065042115ca51a4592acf777b59
Parents: 1629c5a
Author: quynhn <qn...@linagora.com>
Authored: Wed Aug 23 10:58:21 2017 +0700
Committer: quynhn <qn...@linagora.com>
Committed: Wed Aug 30 11:08:48 2017 +0700
----------------------------------------------------------------------
.../cassandra/mail/AttachmentLoader.java | 5 +-
.../mail/CassandraAttachmentMapper.java | 12 +-
.../cassandra/mail/CassandraBlobsDAO.java | 14 +-
.../cassandra/mail/CassandraMailboxMapper.java | 11 +-
.../cassandra/mail/CassandraMessageDAO.java | 4 +-
.../cassandra/mail/CassandraMessageMapper.java | 4 +-
.../cassandra/mail/CassandraUidProvider.java | 3 +-
.../mail/MessageAttachmentRepresentation.java | 3 +-
.../cassandra/mail/AttachmentLoaderTest.java | 17 +--
.../search/ElasticSearchSearcher.java | 5 +-
.../mailbox/store/StoreMessageIdManager.java | 22 ++--
.../store/mail/model/impl/MessageParser.java | 3 +-
.../apache/james/util/FluentFutureStream.java | 2 +-
.../apache/james/util/OptionalConverter.java | 50 --------
.../org/apache/james/util/OptionalUtils.java | 42 ++++++
.../james/util/OptionalConverterTest.java | 127 -------------------
.../apache/james/util/OptionalUtilsTest.java | 85 +++++++++++++
.../james/jmap/methods/GetMailboxesMethod.java | 7 +-
.../methods/SetMailboxesCreationProcessor.java | 9 +-
.../methods/SetMessagesCreationProcessor.java | 4 +-
.../SetMessagesCreationProcessorTest.java | 9 +-
21 files changed, 180 insertions(+), 258 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoader.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoader.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoader.java
index 17c4539..c7eeb46 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoader.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoader.java
@@ -25,14 +25,13 @@ import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.stream.Stream;
-import org.apache.commons.lang3.tuple.Pair;
import org.apache.james.mailbox.model.Attachment;
import org.apache.james.mailbox.model.AttachmentId;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
+import org.apache.commons.lang3.tuple.Pair;
import com.github.steveash.guavate.Guavate;
import com.google.common.annotations.VisibleForTesting;
@@ -80,7 +79,7 @@ public class AttachmentLoader {
return MessageAttachment.builder()
.attachment(attachment)
.name(messageAttachmentRepresentation.getName().orElse(null))
- .cid(OptionalConverter.toGuava(messageAttachmentRepresentation.getCid()))
+ .cid(messageAttachmentRepresentation.getCid())
.isInline(messageAttachmentRepresentation.isInline())
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
index 6c15999..f1e79d5 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraAttachmentMapper.java
@@ -28,7 +28,6 @@ import static org.apache.james.mailbox.cassandra.table.CassandraAttachmentTable.
import static org.apache.james.mailbox.cassandra.table.CassandraAttachmentTable.SIZE;
import static org.apache.james.mailbox.cassandra.table.CassandraAttachmentTable.TABLE_NAME;
import static org.apache.james.mailbox.cassandra.table.CassandraAttachmentTable.TYPE;
-
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Collection;
@@ -36,7 +35,6 @@ import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Stream;
-
import javax.inject.Inject;
import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
@@ -46,9 +44,7 @@ import org.apache.james.mailbox.model.Attachment;
import org.apache.james.mailbox.model.AttachmentId;
import org.apache.james.mailbox.store.mail.AttachmentMapper;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.james.util.OptionalUtils;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
@@ -56,6 +52,8 @@ import com.github.fge.lambdas.Throwing;
import com.github.fge.lambdas.ThrownByLambdaException;
import com.github.steveash.guavate.Guavate;
import com.google.common.base.Preconditions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class CassandraAttachmentMapper implements AttachmentMapper {
@@ -111,7 +109,7 @@ public class CassandraAttachmentMapper implements AttachmentMapper {
return FluentFutureStream
.of(attachments)
- .flatMap(OptionalConverter::toStream)
+ .flatMap(OptionalUtils::toStream)
.completableFuture()
.thenApply(stream ->
stream.collect(Guavate.toImmutableList()));
@@ -125,7 +123,7 @@ public class CassandraAttachmentMapper implements AttachmentMapper {
.from(TABLE_NAME)
.where(eq(ID, id)))
.thenApply(optional ->
- OptionalConverter.ifEmpty(
+ OptionalUtils.ifEmpty(
optional.map(this::attachment),
() -> LOGGER.warn("Failed retrieving attachment {}", attachmentId)));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAO.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAO.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAO.java
index 819d427..89173a7 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAO.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAO.java
@@ -23,16 +23,13 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.bindMarker;
import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
import static com.datastax.driver.core.querybuilder.QueryBuilder.insertInto;
import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
-
import java.nio.ByteBuffer;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.stream.IntStream;
import java.util.stream.Stream;
-
import javax.inject.Inject;
-import org.apache.commons.lang3.tuple.Pair;
import org.apache.james.backends.cassandra.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
import org.apache.james.mailbox.cassandra.ids.BlobId;
@@ -40,9 +37,8 @@ import org.apache.james.mailbox.cassandra.mail.utils.DataChunker;
import org.apache.james.mailbox.cassandra.table.BlobTable;
import org.apache.james.mailbox.cassandra.table.BlobTable.BlobParts;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.james.util.OptionalUtils;
+import org.apache.commons.lang3.tuple.Pair;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.Row;
@@ -52,6 +48,8 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.primitives.Bytes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class CassandraBlobsDAO {
private static final Logger LOGGER = LoggerFactory.getLogger(CassandraBlobsDAO.class);
@@ -169,10 +167,10 @@ public class CassandraBlobsDAO {
private byte[] concatenateDataParts(Stream<BlobPart> blobParts) {
ImmutableList<byte[]> parts = blobParts
- .map(blobPart -> OptionalConverter.ifEmpty(
+ .map(blobPart -> OptionalUtils.ifEmpty(
blobPart.row,
() -> LOGGER.warn("Missing blob part for blobId {} and position {}", blobPart.blobId, blobPart.position)))
- .flatMap(OptionalConverter::toStream)
+ .flatMap(OptionalUtils::toStream)
.map(this::rowToData)
.collect(Guavate.toImmutableList());
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
index 13feba8..2e407ec 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
@@ -27,10 +27,8 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-
import javax.inject.Inject;
-import org.apache.commons.lang3.StringUtils;
import org.apache.james.backends.cassandra.CassandraConfiguration;
import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
import org.apache.james.mailbox.cassandra.ids.CassandraId;
@@ -46,14 +44,15 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
import org.apache.james.util.CompletableFutureUtil;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.james.util.OptionalUtils;
+import org.apache.commons.lang3.StringUtils;
import com.datastax.driver.core.Session;
import com.datastax.driver.core.exceptions.InvalidQueryException;
import com.github.steveash.guavate.Guavate;
import com.google.common.base.Preconditions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class CassandraMailboxMapper implements MailboxMapper {
@@ -128,7 +127,7 @@ public class CassandraMailboxMapper implements MailboxMapper {
private CompletableFuture<Optional<SimpleMailbox>> retrieveMailbox(CassandraMailboxPathDAO.CassandraIdAndPath idAndPath) {
return mailboxDAO.retrieveMailbox(idAndPath.getCassandraId())
- .thenApply(optional -> OptionalConverter.ifEmpty(optional,
+ .thenApply(optional -> OptionalUtils.ifEmpty(optional,
() -> LOGGER.warn("Could not retrieve mailbox {} with path {} in mailbox table.", idAndPath.getCassandraId(), idAndPath.getMailboxPath())));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
index 2fe0daf..e2a63f4 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java
@@ -70,7 +70,6 @@ import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
import org.apache.james.mailbox.store.mail.model.impl.SimpleProperty;
import org.apache.james.util.CompletableFutureUtil;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
import org.apache.james.util.streams.JamesCollectors;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.tuple.Pair;
@@ -292,8 +291,7 @@ public class CassandraMessageDAO {
return MessageAttachmentRepresentation.builder()
.attachmentId(AttachmentId.from(udtValue.getString(Attachments.ID)))
.name(udtValue.getString(Attachments.NAME))
- .cid(OptionalConverter.fromGuava(
- cidParser.parse(udtValue.getString(CassandraMessageV2Table.Attachments.CID))))
+ .cid(cidParser.parse(udtValue.getString(CassandraMessageV2Table.Attachments.CID)))
.isInline(udtValue.getBool(Attachments.IS_INLINE))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/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 445660b..2ae4928 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
@@ -53,7 +53,7 @@ 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.SimpleMailboxMessage;
import org.apache.james.util.FluentFutureStream;
-import org.apache.james.util.OptionalConverter;
+import org.apache.james.util.OptionalUtils;
import org.apache.james.util.streams.JamesCollectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -225,7 +225,7 @@ public class CassandraMessageMapper implements MessageMapper {
private CompletableFuture<Optional<ComposedMessageIdWithMetaData>> retrieveComposedId(CassandraId mailboxId, MessageUid uid) {
return messageIdDAO.retrieve(mailboxId, uid)
- .thenApply(optional -> OptionalConverter.ifEmpty(optional,
+ .thenApply(optional -> OptionalUtils.ifEmpty(optional,
() -> LOGGER.warn("Could not retrieve message {} {}", mailboxId, uid)));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
index 6f3fa25..4f061c2 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
@@ -42,7 +42,6 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.store.mail.UidProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
-import org.apache.james.util.OptionalConverter;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.Session;
@@ -124,7 +123,7 @@ public class CassandraUidProvider implements UidProvider {
@Override
public Optional<MessageUid> lastUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException {
- return OptionalConverter.toGuava(findHighestUid((CassandraId) mailbox.getMailboxId()).join());
+ return findHighestUid((CassandraId) mailbox.getMailboxId()).join();
}
private CompletableFuture<Optional<MessageUid>> findHighestUid(CassandraId mailboxId) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java
index 1eb3f0b..af33569 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java
@@ -24,7 +24,6 @@ import java.util.Optional;
import org.apache.james.mailbox.model.AttachmentId;
import org.apache.james.mailbox.model.Cid;
import org.apache.james.mailbox.model.MessageAttachment;
-import org.apache.james.util.OptionalConverter;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
@@ -40,7 +39,7 @@ public class MessageAttachmentRepresentation {
public static MessageAttachmentRepresentation fromAttachment(MessageAttachment attachment) {
return builder()
.attachmentId(attachment.getAttachmentId())
- .cid(OptionalConverter.fromGuava(attachment.getCid()))
+ .cid(attachment.getCid())
.isInline(attachment.isInline())
.name(attachment.getName().orElse(null))
.build();
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoaderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoaderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoaderTest.java
index 048ef7b..f667729 100644
--- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoaderTest.java
+++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/AttachmentLoaderTest.java
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.cassandra.mail;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
@@ -32,15 +31,13 @@ import org.apache.james.mailbox.model.Attachment;
import org.apache.james.mailbox.model.AttachmentId;
import org.apache.james.mailbox.model.Cid;
import org.apache.james.mailbox.model.MessageAttachment;
-import org.apache.james.util.OptionalConverter;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import org.assertj.core.data.MapEntry;
import org.junit.Before;
import org.junit.Test;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-
public class AttachmentLoaderTest {
private CassandraAttachmentMapper attachmentMapper;
@@ -73,7 +70,7 @@ public class AttachmentLoaderTest {
Collection<MessageAttachment> attachments = testee.getAttachments(ImmutableList.of(attachmentRepresentation, attachmentRepresentation))
.join();
- MessageAttachment expectedAttachment = new MessageAttachment(attachment, OptionalConverter.toGuava(name), OptionalConverter.toGuava(cid), isInlined);
+ MessageAttachment expectedAttachment = new MessageAttachment(attachment, name, cid, isInlined);
assertThat(attachments).hasSize(2)
.containsOnly(expectedAttachment, expectedAttachment);
}
@@ -102,8 +99,8 @@ public class AttachmentLoaderTest {
.join();
assertThat(attachments).hasSize(2)
- .containsOnly(new MessageAttachment(attachment, OptionalConverter.toGuava(name1), OptionalConverter.toGuava(cid), isInlined),
- new MessageAttachment(attachment, OptionalConverter.toGuava(name2), OptionalConverter.toGuava(cid), isInlined));
+ .containsOnly(new MessageAttachment(attachment, name1, cid, isInlined),
+ new MessageAttachment(attachment, name2, cid, isInlined));
}
@Test
@@ -136,8 +133,8 @@ public class AttachmentLoaderTest {
.join();
assertThat(attachments).hasSize(2)
- .containsOnly(new MessageAttachment(attachment1, OptionalConverter.toGuava(name1), OptionalConverter.toGuava(cid), isInlined),
- new MessageAttachment(attachment2, OptionalConverter.toGuava(name2), OptionalConverter.toGuava(cid), isInlined));
+ .containsOnly(new MessageAttachment(attachment1, name1, cid, isInlined),
+ new MessageAttachment(attachment2, name2, cid, isInlined));
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
index 726980c..eb35456 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
-
import javax.inject.Inject;
import org.apache.james.backends.es.search.ScrollIterable;
@@ -38,7 +37,7 @@ import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.MultimailboxesSearchQuery;
import org.apache.james.mailbox.store.search.MessageSearchIndex;
-import org.apache.james.util.OptionalConverter;
+
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
@@ -114,7 +113,7 @@ public class ElasticSearchSearcher {
Number uidAsNumber = uid.getValue();
return Optional.of(
new MessageSearchIndex.SearchResult(
- OptionalConverter.toGuava(id.map(field -> messageIdFactory.fromString(field.getValue()))),
+ id.map(field -> messageIdFactory.fromString(field.getValue())),
mailboxIdFactory.fromString(mailboxId.getValue()),
MessageUid.of(uidAsNumber.longValue())));
} else {
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/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 16dab9d..46b65bc 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
@@ -60,7 +60,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.github.steveash.guavate.Guavate;
-import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
@@ -112,12 +111,12 @@ public class StoreMessageIdManager implements MessageIdManager {
MessageIdMapper messageIdMapper = mailboxSessionMapperFactory.getMessageIdMapper(mailboxSession);
final MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
List<MailboxMessage> messageList = messageIdMapper.find(messageIds, MessageMapper.FetchType.Full);
- ImmutableSet<MailboxId> mailboxIds = FluentIterable.from(messageList)
- .transform(MailboxMessage::getMailboxId)
- .toSet();
- final ImmutableSet<MailboxId> allowedMailboxIds = mailboxIds.stream()
+
+ final ImmutableSet<MailboxId> allowedMailboxIds = messageList.stream()
+ .map(MailboxMessage::getMailboxId)
.filter(mailboxBelongsToUser(mailboxSession, mailboxMapper))
.collect(Guavate.toImmutableSet());
+
return messageList.stream()
.filter(inMailboxes(allowedMailboxIds))
.map(messageResultConverter(fetchGroup))
@@ -158,19 +157,14 @@ public class StoreMessageIdManager implements MessageIdManager {
List<MailboxMessage> mailboxMessages = messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Full)
.stream()
- .filter(new Predicate<MailboxMessage>() {
- @Override
- public boolean test(MailboxMessage message) {
- return false;
- }
- })
.filter(messageBelongsToUser(mailboxSession, mailboxMapper))
.collect(Guavate.toImmutableList());
if (!mailboxMessages.isEmpty()) {
- ImmutableSet<MailboxId> currentMailboxes = FluentIterable.from(mailboxMessages)
- .transform(MailboxMessage::getMailboxId)
- .toSet();
+ ImmutableSet<MailboxId> currentMailboxes = mailboxMessages
+ .stream()
+ .map(MailboxMessage::getMailboxId)
+ .collect(Guavate.toImmutableSet());
HashSet<MailboxId> targetMailboxes = Sets.newHashSet(mailboxIds);
List<MailboxId> mailboxesToRemove = ImmutableList.copyOf(Sets.difference(currentMailboxes, targetMailboxes));
SetView<MailboxId> mailboxesToAdd = Sets.difference(targetMailboxes, currentMailboxes);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
index 000dc08..529442e 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
@@ -46,7 +46,6 @@ import org.apache.james.mime4j.message.DefaultMessageWriter;
import org.apache.james.mime4j.stream.Field;
import org.apache.james.mime4j.stream.MimeConfig;
import org.apache.james.mime4j.util.MimeUtil;
-import org.apache.james.util.OptionalConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -188,7 +187,7 @@ public class MessageParser {
}
private Function<ContentIdField, Optional<Cid>> toCid() {
- return contentIdField -> OptionalConverter.fromGuava(cidParser.parse(contentIdField.getId()));
+ return contentIdField -> cidParser.parse(contentIdField.getId());
}
private boolean isMultipart(Entity entity) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/container/util-java8/src/main/java/org/apache/james/util/FluentFutureStream.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/FluentFutureStream.java b/server/container/util-java8/src/main/java/org/apache/james/util/FluentFutureStream.java
index fbdd1c2..530bc09 100644
--- a/server/container/util-java8/src/main/java/org/apache/james/util/FluentFutureStream.java
+++ b/server/container/util-java8/src/main/java/org/apache/james/util/FluentFutureStream.java
@@ -109,7 +109,7 @@ public class FluentFutureStream<T> {
*/
public <U> FluentFutureStream<U> flatMapOptional(Function<T, Optional<U>> function) {
return map(function)
- .flatMap(OptionalConverter::toStream);
+ .flatMap(OptionalUtils::toStream);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
deleted file mode 100644
index 528268e..0000000
--- a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
+++ /dev/null
@@ -1,50 +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.util;
-
-import java.util.Optional;
-import java.util.stream.Stream;
-
-public class OptionalConverter {
-
- @FunctionalInterface
- public interface Operation {
- void perform();
- }
-
- public static <T> Optional<T> ifEmpty(Optional<T> optional, Operation operation) {
- if (!optional.isPresent()) {
- operation.perform();
- }
- return optional;
- }
-
- public static <T> Optional<T> fromGuava(Optional<T> guava) {
- return Optional.ofNullable(guava.orElse(null));
- }
-
- public static <T> Optional<T> toGuava(Optional<T> java) {
- return Optional.ofNullable(java.orElse(null));
- }
-
- public static <T> Stream<T> toStream(Optional<T> optional) {
- return optional.map(Stream::of)
- .orElse(Stream.of());
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
new file mode 100644
index 0000000..709981b
--- /dev/null
+++ b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
@@ -0,0 +1,42 @@
+/****************************************************************
+ * 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.util;
+
+import java.util.Optional;
+import java.util.stream.Stream;
+
+public class OptionalUtils {
+
+ @FunctionalInterface
+ public interface Operation {
+ void perform();
+ }
+
+ public static <T> Optional<T> ifEmpty(Optional<T> optional, Operation operation) {
+ if (!optional.isPresent()) {
+ operation.perform();
+ }
+ return optional;
+ }
+
+ public static <T> Stream<T> toStream(Optional<T> optional) {
+ return optional.map(Stream::of)
+ .orElse(Stream.of());
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
deleted file mode 100644
index 63f68e9..0000000
--- a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
+++ /dev/null
@@ -1,127 +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.util;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import java.util.Optional;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import com.github.steveash.guavate.Guavate;
-
-public class OptionalConverterTest {
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
-
- @Test
- public void ifEmptyShouldPreserveValueOfEmptyOptionals() {
- Optional<Object> expected = OptionalConverter.ifEmpty(Optional.empty(), () -> { });
-
- assertThat(expected).isEmpty();
- }
-
- @Test
- public void ifEmptyShouldPreserveValueOfPresentOptionals() {
- String value = "value";
- Optional<String> expected = OptionalConverter.ifEmpty(Optional.of(value), () -> { });
-
- assertThat(expected).contains(value);
- }
-
- @Test
- public void ifEmptyShouldPerformOperationIfEmpty() {
- AtomicInteger operationCounter = new AtomicInteger(0);
-
- OptionalConverter.ifEmpty(Optional.empty(), operationCounter::incrementAndGet);
-
- assertThat(operationCounter.get()).isEqualTo(1);
- }
-
- @Test
- public void ifEmptyShouldNotPerformOperationIfPresent() {
- AtomicInteger operationCounter = new AtomicInteger(0);
-
- OptionalConverter.ifEmpty(Optional.of("value"), operationCounter::incrementAndGet);
-
- assertThat(operationCounter.get()).isEqualTo(0);
- }
-
- @Test
- public void toStreamShouldConvertEmptyOptionalToEmptyStream() {
- assertThat(
- OptionalConverter.toStream(Optional.empty())
- .collect(Guavate.toImmutableList()))
- .isEmpty();
- }
-
- @Test
- public void toStreamShouldConvertFullOptionalToStream() {
- long value = 18L;
- assertThat(
- OptionalConverter.toStream(Optional.of(value))
- .collect(Guavate.toImmutableList()))
- .containsExactly(value);
- }
-
- @Test
- public void fromGuavaShouldThrowWhenGuavaIsNull() {
- expectedException.expect(NullPointerException.class);
- OptionalConverter.fromGuava(null);
- }
-
- @Test
- public void fromGuavaShouldReturnEmptyWhenGuavaIsEmpty() {
- Optional<String> fromGuava = OptionalConverter.fromGuava(Optional.<String> empty());
-
- assertThat(fromGuava).isEmpty();
- }
-
- @Test
- public void fromGuavaShouldReturnNonEmptyWhenGuavaIsNonEmpty() {
- String value = "my string";
- Optional<String> fromGuava = OptionalConverter.fromGuava(Optional.of(value));
-
- assertThat(fromGuava).contains(value);
- }
-
- @Test
- public void toGuavaShouldThrowWhenGuavaIsNull() {
- expectedException.expect(NullPointerException.class);
- OptionalConverter.toGuava(null);
- }
-
- @Test
- public void toGuavaShouldReturnEmptyWhenGuavaIsEmpty() {
- Optional<String> toGuava = OptionalConverter.toGuava(Optional.<String> empty());
-
- assertThat(toGuava.isPresent()).isFalse();
- }
-
- @Test
- public void toGuavaShouldReturnNonEmptyWhenGuavaIsNonEmpty() {
- String value = "my string";
- Optional<String> toGuava = OptionalConverter.toGuava(Optional.of(value));
-
- assertThat(toGuava.get()).isEqualTo(value);
- }
-}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
new file mode 100644
index 0000000..79b993c
--- /dev/null
+++ b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
@@ -0,0 +1,85 @@
+/****************************************************************
+ * 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.util;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import java.util.Optional;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import com.github.steveash.guavate.Guavate;
+
+public class OptionalUtilsTest {
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Test
+ public void ifEmptyShouldPreserveValueOfEmptyOptionals() {
+ Optional<Object> expected = OptionalUtils.ifEmpty(Optional.empty(), () -> { });
+
+ assertThat(expected).isEmpty();
+ }
+
+ @Test
+ public void ifEmptyShouldPreserveValueOfPresentOptionals() {
+ String value = "value";
+ Optional<String> expected = OptionalUtils.ifEmpty(Optional.of(value), () -> { });
+
+ assertThat(expected).contains(value);
+ }
+
+ @Test
+ public void ifEmptyShouldPerformOperationIfEmpty() {
+ AtomicInteger operationCounter = new AtomicInteger(0);
+
+ OptionalUtils.ifEmpty(Optional.empty(), operationCounter::incrementAndGet);
+
+ assertThat(operationCounter.get()).isEqualTo(1);
+ }
+
+ @Test
+ public void ifEmptyShouldNotPerformOperationIfPresent() {
+ AtomicInteger operationCounter = new AtomicInteger(0);
+
+ OptionalUtils.ifEmpty(Optional.of("value"), operationCounter::incrementAndGet);
+
+ assertThat(operationCounter.get()).isEqualTo(0);
+ }
+
+ @Test
+ public void toStreamShouldConvertEmptyOptionalToEmptyStream() {
+ assertThat(
+ OptionalUtils.toStream(Optional.empty())
+ .collect(Guavate.toImmutableList()))
+ .isEmpty();
+ }
+
+ @Test
+ public void toStreamShouldConvertFullOptionalToStream() {
+ long value = 18L;
+ assertThat(
+ OptionalUtils.toStream(Optional.of(value))
+ .collect(Guavate.toImmutableList()))
+ .containsExactly(value);
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
index b15a17e..1b042af 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMailboxesMethod.java
@@ -26,7 +26,6 @@ import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Stream;
-
import javax.inject.Inject;
import org.apache.james.jmap.model.ClientId;
@@ -44,7 +43,7 @@ import org.apache.james.mailbox.model.MailboxQuery;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
import org.apache.james.util.MDCBuilder;
-import org.apache.james.util.OptionalConverter;
+import org.apache.james.util.OptionalUtils;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
@@ -128,7 +127,7 @@ public class GetMailboxesMethod implements Method {
.id(mailboxId)
.session(mailboxSession)
.build())
- .flatMap(OptionalConverter::toStream);
+ .flatMap(OptionalUtils::toStream);
} else {
List<MailboxMetaData> userMailboxes = mailboxManager.search(
MailboxQuery.builder(mailboxSession).privateUserMailboxes().build(),
@@ -141,7 +140,7 @@ public class GetMailboxesMethod implements Method {
.session(mailboxSession)
.usingPreloadedMailboxesMetadata(userMailboxes)
.build())
- .flatMap(OptionalConverter::toStream);
+ .flatMap(OptionalUtils::toStream);
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
index b88f282..071eefd 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
@@ -20,11 +20,9 @@
package org.apache.james.jmap.methods;
import static org.apache.james.jmap.methods.Method.JMAP_PREFIX;
-
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
-
import javax.inject.Inject;
import org.apache.james.jmap.exceptions.MailboxParentNotFoundException;
@@ -50,13 +48,12 @@ import org.apache.james.mailbox.model.MailboxId.Factory;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
-import org.apache.james.util.OptionalConverter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import com.github.fge.lambdas.Throwing;
import com.github.fge.lambdas.functions.ThrowingFunction;
import com.google.common.annotations.VisibleForTesting;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
@@ -115,7 +112,7 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
try {
ensureValidMailboxName(mailboxRequest, mailboxSession);
MailboxPath mailboxPath = getMailboxPath(mailboxRequest, creationIdsToCreatedMailboxId, mailboxSession);
- Optional<MailboxId> mailboxId = OptionalConverter.fromGuava(mailboxManager.createMailbox(mailboxPath, mailboxSession));
+ Optional<MailboxId> mailboxId = mailboxManager.createMailbox(mailboxPath, mailboxSession);
Optional<Mailbox> mailbox = mailboxId.flatMap(id -> mailboxFactory.builder()
.id(id)
.session(mailboxSession)
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
index bb9f189..d89b050 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java
@@ -67,7 +67,7 @@ import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MessageAttachment;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
-import org.apache.james.util.OptionalConverter;
+import org.apache.james.util.OptionalUtils;
import org.apache.mailet.Mail;
import org.slf4j.Logger;
@@ -315,7 +315,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor {
ThrowingFunction<Attachment, Optional<MessageAttachment>> toMessageAttachment = att -> messageAttachment(session, att);
return attachments.stream()
.map(Throwing.function(toMessageAttachment).sneakyThrow())
- .flatMap(OptionalConverter::toStream)
+ .flatMap(OptionalUtils::toStream)
.collect(Guavate.toImmutableList());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4ce918b8/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
index c2c36e6..84bf14d 100644
--- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
+++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/methods/SetMessagesCreationProcessorTest.java
@@ -26,13 +26,11 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-
import java.io.InputStream;
import java.sql.Date;
import java.util.Optional;
import java.util.function.Supplier;
import java.util.stream.Stream;
-
import javax.mail.Flags;
import org.apache.james.jmap.exceptions.AttachmentsNotFoundException;
@@ -42,7 +40,6 @@ import org.apache.james.jmap.model.BlobId;
import org.apache.james.jmap.model.CreationMessage;
import org.apache.james.jmap.model.CreationMessage.DraftEmailer;
import org.apache.james.jmap.model.CreationMessageId;
-import org.apache.james.jmap.model.Keyword;
import org.apache.james.jmap.model.MessageFactory;
import org.apache.james.jmap.model.MessagePreviewGenerator;
import org.apache.james.jmap.model.MessageProperties.MessageProperty;
@@ -68,7 +65,7 @@ import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.TestMessageId;
import org.apache.james.metrics.api.NoopMetricFactory;
-import org.apache.james.util.OptionalConverter;
+import org.apache.james.util.OptionalUtils;
import org.apache.james.util.mime.MessageContentExtractor;
import org.apache.mailet.Mail;
import org.junit.Before;
@@ -360,9 +357,9 @@ public class SetMessagesCreationProcessorTest {
@Override
public Stream<MessageManager> getMailboxByRole(Role aRole, MailboxSession session) {
if (aRole.equals(Role.OUTBOX)) {
- return OptionalConverter.toStream(outboxSupplier.get());
+ return OptionalUtils.toStream(outboxSupplier.get());
} else if (aRole.equals(Role.DRAFTS)) {
- return OptionalConverter.toStream(draftsSupplier.get());
+ return OptionalUtils.toStream(draftsSupplier.get());
}
return Stream.empty();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org