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]

Reply via email to