Repository: james-project Updated Branches: refs/heads/master a17b49a64 -> 0ea95c34b
JAMES-1801 Replace ImmutableCollectors by Guavate Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0ea95c34 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0ea95c34 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0ea95c34 Branch: refs/heads/master Commit: 0ea95c34b663888f207c1bd5e37bd352024884c0 Parents: ce1fcea Author: Antoine Duprat <[email protected]> Authored: Tue Jul 19 11:28:12 2016 +0200 Committer: Antoine Duprat <[email protected]> Committed: Wed Jul 20 11:44:48 2016 +0200 ---------------------------------------------------------------------- .../init/CassandraModuleComposite.java | 8 +-- .../cassandra/init/CassandraTypesProvider.java | 4 +- .../mail/CassandraAttachmentMapper.java | 4 +- .../cassandra/mail/CassandraMessageMapper.java | 6 +-- server/container/util-java8/pom.xml | 4 ++ .../james/util/streams/ImmutableCollectors.java | 56 -------------------- .../util/streams/ImmutableCollectorsTest.java | 21 ++++---- server/pom.xml | 6 +++ server/protocols/jmap/pom.xml | 1 - .../jmap/methods/GetMessageListMethod.java | 10 ++-- .../james/jmap/methods/GetMessagesMethod.java | 4 +- .../jmap/methods/JmapResponseWriterImpl.java | 4 +- .../methods/SetMessagesCreationProcessor.java | 6 +-- .../james/jmap/model/GetMailboxesRequest.java | 4 +- .../apache/james/jmap/model/MessageFactory.java | 8 +-- .../james/jmap/model/MessageProperties.java | 11 ++-- .../james/jmap/model/SetMessagesRequest.java | 4 +- .../webadmin/service/UserMailboxesService.java | 4 +- .../james/webadmin/service/UserService.java | 4 +- 19 files changed, 61 insertions(+), 108 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java ---------------------------------------------------------------------- diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java index bd1a52e..e46d7b7 100644 --- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java +++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraModuleComposite.java @@ -26,8 +26,8 @@ import org.apache.james.backends.cassandra.components.CassandraIndex; import org.apache.james.backends.cassandra.components.CassandraModule; import org.apache.james.backends.cassandra.components.CassandraTable; import org.apache.james.backends.cassandra.components.CassandraType; -import org.apache.james.util.streams.ImmutableCollectors; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableList; public class CassandraModuleComposite implements CassandraModule { @@ -39,13 +39,13 @@ public class CassandraModuleComposite implements CassandraModule { public CassandraModuleComposite(CassandraModule... modules) { tables = Arrays.stream(modules) .flatMap(module -> module.moduleTables().stream()) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); index = Arrays.stream(modules) .flatMap(module -> module.moduleIndex().stream()) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); types = Arrays.stream(modules) .flatMap(module -> module.moduleTypes().stream()) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java ---------------------------------------------------------------------- diff --git a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java index 2618207..356c7ac 100644 --- a/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java +++ b/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java @@ -25,10 +25,10 @@ import javax.inject.Inject; import org.apache.james.backends.cassandra.components.CassandraModule; import org.apache.james.backends.cassandra.components.CassandraType; -import org.apache.james.util.streams.ImmutableCollectors; import com.datastax.driver.core.Session; import com.datastax.driver.core.UserType; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableMap; public class CassandraTypesProvider { @@ -38,7 +38,7 @@ public class CassandraTypesProvider { public CassandraTypesProvider(CassandraModule module, Session session) { userTypes = module.moduleTypes() .stream() - .collect(ImmutableCollectors.toImmutableMap( + .collect(Guavate.toImmutableMap( CassandraType::getName, type -> getSessionType(session, type))); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/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 bd764c3..e47ad93 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 @@ -43,13 +43,13 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.store.mail.AttachmentMapper; import org.apache.james.mailbox.store.mail.model.Attachment; import org.apache.james.mailbox.store.mail.model.AttachmentId; -import org.apache.james.util.streams.ImmutableCollectors; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; 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 com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; @@ -96,7 +96,7 @@ public class CassandraAttachmentMapper implements AttachmentMapper { Preconditions.checkArgument(attachmentIds != null); List<String> ids = attachmentIds.stream() .map(AttachmentId::getId) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); return cassandraAsyncExecutor.execute( select(FIELDS) .from(TABLE_NAME) http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/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 6bd1e5a..4e7bd9f 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 @@ -102,7 +102,6 @@ import org.apache.james.mailbox.store.mail.model.impl.Cid; import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; import org.apache.james.mailbox.store.mail.model.impl.SimpleProperty; -import org.apache.james.util.streams.ImmutableCollectors; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.Row; @@ -114,6 +113,7 @@ import com.datastax.driver.core.querybuilder.QueryBuilder; import com.datastax.driver.core.querybuilder.Select; import com.datastax.driver.core.querybuilder.Select.Where; import com.github.fge.lambdas.Throwing; +import com.github.steveash.guavate.Guavate; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; import com.google.common.io.ByteStreams; @@ -358,7 +358,7 @@ public class CassandraMessageMapper implements MessageMapper { .cid(com.google.common.base.Optional.fromNullable(x.getString(Attachments.CID)).transform(Cid::from)) .isInline(x.getBool(Attachments.IS_INLINE)) .build())) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); default: return ImmutableList.of(); } @@ -374,7 +374,7 @@ public class CassandraMessageMapper implements MessageMapper { private List<AttachmentId> attachmentIds(List<UDTValue> udtValues) { return udtValues.stream() .map(this::attachmentIdFrom) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private AttachmentId attachmentIdFrom(UDTValue udtValue) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/container/util-java8/pom.xml ---------------------------------------------------------------------- diff --git a/server/container/util-java8/pom.xml b/server/container/util-java8/pom.xml index 5558bd2..ed75944 100644 --- a/server/container/util-java8/pom.xml +++ b/server/container/util-java8/pom.xml @@ -128,6 +128,10 @@ </activation> <dependencies> <dependency> + <groupId>com.github.steveash.guavate</groupId> + <artifactId>guavate</artifactId> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/container/util-java8/src/main/java/org/apache/james/util/streams/ImmutableCollectors.java ---------------------------------------------------------------------- diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/streams/ImmutableCollectors.java b/server/container/util-java8/src/main/java/org/apache/james/util/streams/ImmutableCollectors.java deleted file mode 100644 index 90d7703..0000000 --- a/server/container/util-java8/src/main/java/org/apache/james/util/streams/ImmutableCollectors.java +++ /dev/null @@ -1,56 +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.streams; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Function; -import java.util.stream.Collector; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; - -public class ImmutableCollectors { - - public static <T> Collector<T, List<T>, ImmutableList<T>> toImmutableList() { - return Collector.of(ArrayList::new, List::add, (left, right) -> { - left.addAll(right); - return left; - }, ImmutableList::copyOf); - } - - public static <T> Collector<T, ImmutableSet.Builder<T>, ImmutableSet<T>> toImmutableSet() { - return Collector.of(ImmutableSet::builder, ImmutableSet.Builder::add, (left, right) -> { - left.addAll(right.build()); - return left; - }, ImmutableSet.Builder::build); - } - - public static <T, K, V> Collector<T, ImmutableMap.Builder<K, V>, ImmutableMap<K, V>> toImmutableMap( - Function<? super T, ? extends K> keyMapper, - Function<? super T, ? extends V> valueMapper) { - return Collector.of(ImmutableMap::<K,V>builder, - (acc, v) -> acc.put(keyMapper.apply(v), valueMapper.apply(v)), - (map1, map2) -> map1.putAll(map2.build()), - ImmutableMap.Builder::build); - } -} - http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java ---------------------------------------------------------------------- diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java index 31410d9..d22f984 100644 --- a/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java +++ b/server/container/util-java8/src/test/java/org/apache/james/util/streams/ImmutableCollectorsTest.java @@ -27,11 +27,12 @@ import java.util.List; import java.util.Map; import java.util.Set; -import com.google.common.collect.ImmutableSet; import org.junit.Test; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; public class ImmutableCollectorsTest { @@ -39,7 +40,7 @@ public class ImmutableCollectorsTest { public void immutableListCollectorShouldReturnEmptyImmutableListWhenEmptyStream() { String[] data = {}; List<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); assertThat(actual).isInstanceOf(ImmutableList.class); assertThat(actual).isEmpty(); } @@ -48,7 +49,7 @@ public class ImmutableCollectorsTest { public void immutableListCollectorShouldReturnImmutableListWhenOneElementStream() { String[] data = {"a"}; List<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); assertThat(actual).isInstanceOf(ImmutableList.class); assertThat(actual).containsExactly("a"); } @@ -57,7 +58,7 @@ public class ImmutableCollectorsTest { public void immutableListCollectorShouldReturnImmutableListWhen3ElementsStream() { String[] data = {"a", "b", "c"}; List<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); assertThat(actual).isInstanceOf(ImmutableList.class); assertThat(actual).containsExactly("a", "b", "c"); } @@ -66,7 +67,7 @@ public class ImmutableCollectorsTest { public void immutableSetCollectorShouldReturnEmptyImmutableSetWhenEmptyStream() { String[] data = {}; Set<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableSet()); + .collect(Guavate.toImmutableSet()); assertThat(actual).isInstanceOf(ImmutableSet.class); assertThat(actual).isEmpty(); } @@ -75,7 +76,7 @@ public class ImmutableCollectorsTest { public void immutableSetCollectorShouldReturnImmutableSetWhenOneElementStream() { String[] data = {"a"}; Set<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableSet()); + .collect(Guavate.toImmutableSet()); assertThat(actual).isInstanceOf(ImmutableSet.class); assertThat(actual).containsExactly("a"); } @@ -84,7 +85,7 @@ public class ImmutableCollectorsTest { public void immutableSetCollectorShouldReturnImmutableSetWhen3ElementsStream() { String[] data = {"a", "b", "c"}; Set<String> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableSet()); + .collect(Guavate.toImmutableSet()); assertThat(actual).isInstanceOf(ImmutableSet.class); assertThat(actual).containsExactly("a", "b", "c"); } @@ -94,7 +95,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnEmptyImmutableMapWhenEmptyStream() { String[] data = {}; Map<String, Integer> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).isEmpty(); } @@ -103,7 +104,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnAppliedImmutableMapWhenOneElementStream() { String[] data = {"a"}; Map<String, Integer> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).containsExactly(entry("A", 1)); } @@ -112,7 +113,7 @@ public class ImmutableCollectorsTest { public void immutableMapCollectorShouldReturnAppliedImmutableMapWhen3ElementsStream() { String[] data = {"a", "bb", "ccc"}; Map<String, Integer> actual = Arrays.stream(data) - .collect(ImmutableCollectors.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); + .collect(Guavate.toImmutableMap(x -> x.toUpperCase(), x -> x.length())); assertThat(actual).isInstanceOf(ImmutableMap.class); assertThat(actual).containsExactly(entry("A", 1), entry("BB", 2), entry("CCC", 3)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/pom.xml ---------------------------------------------------------------------- diff --git a/server/pom.xml b/server/pom.xml index c9e9bf3..f07d7bf 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -190,6 +190,7 @@ <assertj-1.version>1.7.1</assertj-1.version> <assertj-3.version>3.3.0</assertj-3.version> <testcontainers-version>1.0.2</testcontainers-version> + <guavate.version>1.0.0</guavate.version> </properties> <dependencyManagement> @@ -1292,6 +1293,11 @@ </dependency> <dependency> + <groupId>com.github.steveash.guavate</groupId> + <artifactId>guavate</artifactId> + <version>${guavate.version}</version> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/pom.xml ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/pom.xml b/server/protocols/jmap/pom.xml index 3e73bac..3b67c3a 100644 --- a/server/protocols/jmap/pom.xml +++ b/server/protocols/jmap/pom.xml @@ -256,7 +256,6 @@ <dependency> <groupId>com.github.steveash.guavate</groupId> <artifactId>guavate</artifactId> - <version>1.0.0</version> </dependency> <dependency> <groupId>com.googlecode.thread-weaver</groupId> http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java index 73edc6c..2a26fa9 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessageListMethod.java @@ -50,11 +50,11 @@ import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.MessageMapper.FetchType; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; -import org.apache.james.util.streams.ImmutableCollectors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.fge.lambdas.Throwing; +import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.base.Throwables; @@ -136,7 +136,7 @@ public class GetMessageListMethod implements Method { return mailboxManager.search(userMailboxesQuery, mailboxSession) .stream() .map(MailboxMetaData::getPath) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private Stream<JmapResponse> processGetMessages(GetMessageListRequest messageListRequest, GetMessageListResponse messageListResponse, ClientId clientId, MailboxSession mailboxSession) { @@ -189,7 +189,7 @@ public class GetMessageListMethod implements Method { return mailboxPaths.stream() .filter(inMailboxesPredicate) .filter(notInMailboxesPredicate) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private List<MailboxPath> mailboxIdsToMailboxPaths(List<String> mailboxIds, MailboxSession session) { @@ -197,7 +197,7 @@ public class GetMessageListMethod implements Method { .map(id -> mailboxUtils.mailboxPathFromMailboxId(id, session)) .filter(Optional::isPresent) .map(Optional::get) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private Optional<MessageManager> getMessageManager(MailboxPath mailboxPath, MailboxSession mailboxSession) { @@ -218,7 +218,7 @@ public class GetMessageListMethod implements Method { return ImmutableList.copyOf(messageManager.get().search(searchQuery, mailboxSession)) .stream() .map(Throwing.function(messageId -> getMessage(mailboxPath, mailboxSession, messageMapper, messageId))) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } catch (MailboxException e) { LOGGER.warn("Error when searching messages for query :" + searchQuery, e); return ImmutableList.of(); http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java index 5d6cb7e..08ca4ac 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetMessagesMethod.java @@ -48,12 +48,12 @@ import org.apache.james.mailbox.store.mail.MessageMapperFactory; 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.MessageAttachment; -import org.apache.james.util.streams.ImmutableCollectors; import org.javatuples.Pair; import com.fasterxml.jackson.databind.ser.PropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; import com.github.fge.lambdas.Throwing; +import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; @@ -122,7 +122,7 @@ public class GetMessagesMethod implements Method { List<Message> result = getMessagesRequest.getIds().stream() .flatMap(loadMessages) .map(convertToJmapMessage) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); return GetMessagesResponse.builder().messages(result).expectedMessageIds(getMessagesRequest.getIds()).build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java index 9e06977..c2c3d47 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/JmapResponseWriterImpl.java @@ -28,13 +28,13 @@ import javax.inject.Inject; import org.apache.james.jmap.json.ObjectMapperFactory; import org.apache.james.jmap.model.Property; import org.apache.james.jmap.model.ProtocolResponse; -import org.apache.james.util.streams.ImmutableCollectors; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ser.FilterProvider; import com.fasterxml.jackson.databind.ser.PropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; +import com.github.steveash.guavate.Guavate; public class JmapResponseWriterImpl implements JmapResponseWriter { @@ -82,6 +82,6 @@ public class JmapResponseWriterImpl implements JmapResponseWriter { private Set<String> toFieldNames(Set<? extends Property> properties) { return properties.stream() .map(Property::asFieldName) - .collect(ImmutableCollectors.toImmutableSet()); + .collect(Guavate.toImmutableSet()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/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 b541926..3e3eaff 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 @@ -74,11 +74,11 @@ import org.apache.james.mailbox.store.mail.model.MessageAttachment; import org.apache.james.mailbox.store.mail.model.impl.Cid; import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage; -import org.apache.james.util.streams.ImmutableCollectors; import org.apache.mailet.Mail; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Joiner; import com.google.common.base.Splitter; @@ -214,7 +214,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor { } catch (AttachmentNotFoundException e) { return Stream.of(attachment.getBlobId()); } - }).collect(ImmutableCollectors.toImmutableList()); + }).collect(Guavate.toImmutableList()); } private AttachmentId getAttachmentId(Attachment attachment) { @@ -321,7 +321,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor { AttachmentMapper attachmentMapper = attachmentMapperFactory.getAttachmentMapper(session); return attachments.stream() .map(att -> messageAttachment(attachmentMapper, att)) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private MessageAttachment messageAttachment(AttachmentMapper attachmentMapper, Attachment attachment) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesRequest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesRequest.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesRequest.java index d735d3b..a8f59d8 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesRequest.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/GetMailboxesRequest.java @@ -23,10 +23,10 @@ import java.util.Optional; import org.apache.commons.lang.NotImplementedException; import org.apache.james.jmap.methods.JmapRequest; -import org.apache.james.util.streams.ImmutableCollectors; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -69,7 +69,7 @@ public class GetMailboxesRequest implements JmapRequest { .map(MailboxProperty::findProperty) .filter(Optional::isPresent) .map(Optional::get) - .collect(ImmutableCollectors.toImmutableSet())); + .collect(Guavate.toImmutableSet())); return this; } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java index 1c592bf..fb3571d 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageFactory.java @@ -35,8 +35,8 @@ import org.apache.james.mailbox.store.extractor.DefaultTextExtractor; import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.model.MessageAttachment; import org.apache.james.mailbox.store.mail.model.impl.Cid; -import org.apache.james.util.streams.ImmutableCollectors; +import com.github.steveash.guavate.Guavate; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -114,7 +114,7 @@ public class MessageFactory { private ImmutableList<Emailer> fromElasticSearchEmailers(Set<EMailer> emailers) { return emailers.stream() .map(this::fromElasticSearchEmailer) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private Emailer fromElasticSearchEmailer(EMailer emailer) { @@ -129,7 +129,7 @@ public class MessageFactory { .asMap() .entrySet() .stream() - .collect(ImmutableCollectors.toImmutableMap(Map.Entry::getKey, x -> joinOnComma(x.getValue()))); + .collect(Guavate.toImmutableMap(Map.Entry::getKey, x -> joinOnComma(x.getValue()))); } private String getHeaderAsSingleValue(IndexableMessage im, String header) { @@ -155,7 +155,7 @@ public class MessageFactory { private List<Attachment> getAttachments(List<MessageAttachment> attachments) { return attachments.stream() .map(this::fromMailboxAttachment) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } private Attachment fromMailboxAttachment(MessageAttachment attachment) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java index f9485ee..d3f095b 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/MessageProperties.java @@ -24,11 +24,10 @@ import java.util.Objects; import java.util.Optional; import java.util.stream.Stream; -import com.google.common.collect.Sets; -import org.apache.james.util.streams.ImmutableCollectors; - +import com.github.steveash.guavate.Guavate; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Sets; public class MessageProperties { @@ -49,11 +48,11 @@ public class MessageProperties { } private ImmutableSet<MessageProperty> toMessageProperties(ImmutableSet<String> properties) { - return properties.stream().flatMap(MessageProperty::find).collect(ImmutableCollectors.toImmutableSet()); + return properties.stream().flatMap(MessageProperty::find).collect(Guavate.toImmutableSet()); } private ImmutableSet<HeaderProperty> toHeadersProperties(ImmutableSet<String> properties) { - return properties.stream().flatMap(HeaderProperty::find).collect(ImmutableCollectors.toImmutableSet()); + return properties.stream().flatMap(HeaderProperty::find).collect(Guavate.toImmutableSet()); } public Optional<ImmutableSet<HeaderProperty>> getOptionalHeadersProperties() { @@ -168,7 +167,7 @@ public class MessageProperties { } public static ImmutableSet<MessageProperty> allOutputProperties() { - return Arrays.stream(values()).filter(MessageProperty::outputProperty).collect(ImmutableCollectors.toImmutableSet()); + return Arrays.stream(values()).filter(MessageProperty::outputProperty).collect(Guavate.toImmutableSet()); } private static boolean outputProperty(MessageProperty p) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesRequest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesRequest.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesRequest.java index a064102..3de592a 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesRequest.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/model/SetMessagesRequest.java @@ -29,11 +29,11 @@ import org.apache.commons.lang.NotImplementedException; import org.apache.james.jmap.methods.JmapRequest; import org.apache.james.jmap.methods.UpdateMessagePatchConverter; import org.apache.james.jmap.methods.ValueWithId.CreationMessageEntry; -import org.apache.james.util.streams.ImmutableCollectors; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.fasterxml.jackson.databind.node.ObjectNode; +import com.github.steveash.guavate.Guavate; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -104,7 +104,7 @@ public class SetMessagesRequest implements JmapRequest { private ImmutableList<CreationMessageEntry> messageCreations() { return create.entrySet().stream() .map(entry -> new CreationMessageEntry(entry.getKey(), entry.getValue())) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java index 076675a..469bdfb 100644 --- a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java +++ b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserMailboxesService.java @@ -34,7 +34,6 @@ import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MailboxQuery; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.api.UsersRepositoryException; -import org.apache.james.util.streams.ImmutableCollectors; import org.apache.james.webadmin.dto.MailboxResponse; import org.apache.james.webadmin.utils.MailboxHaveChildrenException; import org.apache.james.webadmin.validation.MailboxName; @@ -42,6 +41,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.fge.lambdas.Throwing; +import com.github.steveash.guavate.Guavate; import com.google.common.base.Preconditions; import com.google.common.base.Strings; @@ -85,7 +85,7 @@ public class UserMailboxesService { MailboxSession mailboxSession = mailboxManager.createSystemSession(USER_NAME, LOGGER); return listUserMailboxes(username, mailboxSession) .map(mailboxMetaData -> new MailboxResponse(mailboxMetaData.getPath().getName())) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } public boolean testMailboxExists(String username, MailboxName mailboxName) throws MailboxException, UsersRepositoryException { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ea95c34/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserService.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserService.java b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserService.java index 1eb8ae1..ee0952d 100644 --- a/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserService.java +++ b/server/protocols/webadmin/src/main/java/org/apache/james/webadmin/service/UserService.java @@ -28,12 +28,12 @@ import javax.inject.Inject; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.api.UsersRepositoryException; import org.apache.james.user.api.model.User; -import org.apache.james.util.streams.ImmutableCollectors; import org.apache.james.util.streams.Iterators; import org.apache.james.webadmin.dto.UserResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.github.steveash.guavate.Guavate; import com.google.common.base.Preconditions; import com.google.common.base.Strings; @@ -57,7 +57,7 @@ public class UserService { .map(Iterators::toStream) .orElse(Stream.of()) .map(UserResponse::new) - .collect(ImmutableCollectors.toImmutableList()); + .collect(Guavate.toImmutableList()); } public void removeUser(String username) throws UsersRepositoryException { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
