You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/06/14 08:35:22 UTC
[04/13] james-project git commit: JAMES-2418 Rely on Stream rather
than on collections for getUrls
JAMES-2418 Rely on Stream rather than on collections for getUrls
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/87b3b185
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/87b3b185
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/87b3b185
Branch: refs/heads/master
Commit: 87b3b1850d5365240289887568505ff266e9aa23
Parents: fb4e7c6
Author: benwa <bt...@linagora.com>
Authored: Tue Jun 12 09:52:58 2018 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Jun 14 15:16:59 2018 +0700
----------------------------------------------------------------------
.../org/apache/james/utils/InMemoryMailRepositoryStore.java | 5 +++--
.../org/apache/james/utils/MailRepositoryProbeImpl.java | 4 +++-
.../mailrepositorystore/MailRepositoryStoreBeanFactory.java | 6 +++---
.../james/mailrepository/api/MailRepositoryStore.java | 3 ++-
.../james/mailrepository/api/MailRepositoryUrlStore.java | 4 ++--
.../cassandra/CassandraMailRepositoryUrlStore.java | 9 +++------
.../james/mailrepository/jpa/JPAMailRepositoryUrlStore.java | 9 +++------
.../james/mailrepository/mock/MockMailRepositoryStore.java | 7 +++----
.../mailrepository/memory/MemoryMailRepositoryUrlStore.java | 6 +++---
.../james/webadmin/service/MailRepositoryStoreService.java | 1 -
.../james/webadmin/routes/MailRepositoriesRoutesTest.java | 7 +++++--
.../webadmin/service/MailRepositoryStoreServiceTest.java | 9 +++++----
12 files changed, 35 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
index 6ec37a4..1d809f5 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java
@@ -26,6 +26,7 @@ import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import java.util.stream.Stream;
import org.apache.commons.configuration.CombinedConfiguration;
import org.apache.commons.configuration.ConfigurationException;
@@ -65,8 +66,8 @@ public class InMemoryMailRepositoryStore implements MailRepositoryStore, Configu
}
@Override
- public List<MailRepositoryUrl> getUrls() {
- return ImmutableList.copyOf(urlStore.list());
+ public Stream<MailRepositoryUrl> getUrls() {
+ return urlStore.list();
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/container/guice/guice-common/src/main/java/org/apache/james/utils/MailRepositoryProbeImpl.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/MailRepositoryProbeImpl.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/MailRepositoryProbeImpl.java
index 71f7dec..b908450 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/MailRepositoryProbeImpl.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/MailRepositoryProbeImpl.java
@@ -27,6 +27,7 @@ import org.apache.james.mailrepository.api.MailKey;
import org.apache.james.mailrepository.api.MailRepositoryStore;
import org.apache.james.mailrepository.api.MailRepositoryUrl;
+import com.github.steveash.guavate.Guavate;
import com.google.common.collect.ImmutableList;
public class MailRepositoryProbeImpl implements GuiceProbe {
@@ -56,7 +57,8 @@ public class MailRepositoryProbeImpl implements GuiceProbe {
}
public List<MailRepositoryUrl> listRepositoryUrls() {
- return ImmutableList.copyOf(repositoryStore.getUrls());
+ return repositoryStore.getUrls()
+ .collect(Guavate.toImmutableList());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
index b83af66..a05b3ca 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/MailRepositoryStoreBeanFactory.java
@@ -18,11 +18,11 @@
****************************************************************/
package org.apache.james.container.spring.bean.factory.mailrepositorystore;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Stream;
import javax.annotation.PostConstruct;
@@ -201,8 +201,8 @@ public class MailRepositoryStoreBeanFactory extends AbstractBeanFactory implemen
}
@Override
- public synchronized List<MailRepositoryUrl> getUrls() {
- return new ArrayList<>(repositories.keySet());
+ public synchronized Stream<MailRepositoryUrl> getUrls() {
+ return repositories.keySet().stream();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryStore.java b/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryStore.java
index e13c31c..1ae2b5d 100644
--- a/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryStore.java
+++ b/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryStore.java
@@ -21,6 +21,7 @@ package org.apache.james.mailrepository.api;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Stream;
public interface MailRepositoryStore {
@@ -53,7 +54,7 @@ public interface MailRepositoryStore {
*
* @return urls
*/
- List<MailRepositoryUrl> getUrls();
+ Stream<MailRepositoryUrl> getUrls();
class MailRepositoryStoreException extends Exception {
public MailRepositoryStoreException(String msg, Throwable t) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryUrlStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryUrlStore.java b/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryUrlStore.java
index d16232a..f30b332 100644
--- a/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryUrlStore.java
+++ b/server/data/data-api/src/main/java/org/apache/james/mailrepository/api/MailRepositoryUrlStore.java
@@ -19,13 +19,13 @@
package org.apache.james.mailrepository.api;
-import java.util.Set;
+import java.util.stream.Stream;
public interface MailRepositoryUrlStore {
void add(MailRepositoryUrl url);
- Set<MailRepositoryUrl> list();
+ Stream<MailRepositoryUrl> list();
boolean contains(MailRepositoryUrl url);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStore.java b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStore.java
index 65296fc..9d9fc02 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStore.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/mailrepository/cassandra/CassandraMailRepositoryUrlStore.java
@@ -19,15 +19,13 @@
package org.apache.james.mailrepository.cassandra;
-import java.util.Set;
+import java.util.stream.Stream;
import javax.inject.Inject;
import org.apache.james.mailrepository.api.MailRepositoryUrl;
import org.apache.james.mailrepository.api.MailRepositoryUrlStore;
-import com.github.steveash.guavate.Guavate;
-
public class CassandraMailRepositoryUrlStore implements MailRepositoryUrlStore {
private final UrlsDao urlsDao;
@@ -43,10 +41,9 @@ public class CassandraMailRepositoryUrlStore implements MailRepositoryUrlStore {
}
@Override
- public Set<MailRepositoryUrl> list() {
+ public Stream<MailRepositoryUrl> list() {
return urlsDao.retrieveUsedUrls()
- .join()
- .collect(Guavate.toImmutableSet());
+ .join();
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-jpa/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryUrlStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryUrlStore.java b/server/data/data-jpa/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryUrlStore.java
index 576b774..068c4f6 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryUrlStore.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/mailrepository/jpa/JPAMailRepositoryUrlStore.java
@@ -19,7 +19,7 @@
package org.apache.james.mailrepository.jpa;
-import java.util.Set;
+import java.util.stream.Stream;
import javax.inject.Inject;
import javax.persistence.EntityManagerFactory;
@@ -28,8 +28,6 @@ import org.apache.james.backends.jpa.TransactionRunner;
import org.apache.james.mailrepository.api.MailRepositoryUrl;
import org.apache.james.mailrepository.api.MailRepositoryUrlStore;
-import com.github.steveash.guavate.Guavate;
-
public class JPAMailRepositoryUrlStore implements MailRepositoryUrlStore {
private final TransactionRunner transactionRunner;
@@ -45,14 +43,13 @@ public class JPAMailRepositoryUrlStore implements MailRepositoryUrlStore {
}
@Override
- public Set<MailRepositoryUrl> list() {
+ public Stream<MailRepositoryUrl> list() {
return transactionRunner.runAndRetrieveResult(entityManager ->
entityManager
.createNamedQuery("listUrls", JPAUrl.class)
.getResultList()
.stream()
- .map(JPAUrl::toMailRepositoryUrl)
- .collect(Guavate.toImmutableSet()));
+ .map(JPAUrl::toMailRepositoryUrl));
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java b/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
index f232e43..dc3e1d9 100644
--- a/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
+++ b/server/data/data-library/src/test/java/org/apache/james/mailrepository/mock/MockMailRepositoryStore.java
@@ -19,11 +19,10 @@
package org.apache.james.mailrepository.mock;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Stream;
import org.apache.james.mailrepository.api.MailRepository;
import org.apache.james.mailrepository.api.MailRepositoryStore;
@@ -48,8 +47,8 @@ public class MockMailRepositoryStore implements MailRepositoryStore {
}
@Override
- public List<MailRepositoryUrl> getUrls() {
- return new ArrayList<>(storedObjectMap.keySet());
+ public Stream<MailRepositoryUrl> getUrls() {
+ return storedObjectMap.keySet().stream();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryUrlStore.java
----------------------------------------------------------------------
diff --git a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryUrlStore.java b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryUrlStore.java
index c6ab960..130bd5d 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryUrlStore.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/mailrepository/memory/MemoryMailRepositoryUrlStore.java
@@ -20,11 +20,11 @@
package org.apache.james.mailrepository.memory;
import java.util.Set;
+import java.util.stream.Stream;
import org.apache.james.mailrepository.api.MailRepositoryUrl;
import org.apache.james.mailrepository.api.MailRepositoryUrlStore;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
public class MemoryMailRepositoryUrlStore implements MailRepositoryUrlStore {
@@ -40,8 +40,8 @@ public class MemoryMailRepositoryUrlStore implements MailRepositoryUrlStore {
}
@Override
- public Set<MailRepositoryUrl> list() {
- return ImmutableSet.copyOf(urls);
+ public Stream<MailRepositoryUrl> list() {
+ return urls.stream();
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
index 7a0d691..d8e0e95 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/service/MailRepositoryStoreService.java
@@ -55,7 +55,6 @@ public class MailRepositoryStoreService {
public List<MailRepositoryResponse> listMailRepositories() {
return mailRepositoryStore.getUrls()
- .stream()
.map(MailRepositoryResponse::new)
.collect(Guavate.toImmutableList());
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
index 73f8539..2fdcea3 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/routes/MailRepositoriesRoutesTest.java
@@ -42,6 +42,7 @@ import static org.mockito.Mockito.when;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Optional;
+import java.util.stream.Stream;
import org.apache.james.mailrepository.api.MailKey;
import org.apache.james.mailrepository.api.MailRepositoryStore;
@@ -170,6 +171,8 @@ public class MailRepositoriesRoutesTest {
@Test
public void getMailRepositoriesShouldReturnEmptyWhenEmpty() {
+ when(mailRepositoryStore.getUrls()).thenReturn(Stream.empty());
+
List<Object> mailRepositories =
when()
.get()
@@ -187,7 +190,7 @@ public class MailRepositoriesRoutesTest {
@Test
public void getMailRepositoriesShouldReturnRepositoryWhenOne() {
when(mailRepositoryStore.getUrls())
- .thenReturn(ImmutableList.of(URL_MY_REPO));
+ .thenReturn(Stream.of(URL_MY_REPO));
when()
.get()
@@ -202,7 +205,7 @@ public class MailRepositoriesRoutesTest {
public void getMailRepositoriesShouldReturnTwoRepositoriesWhenTwo() {
ImmutableList<MailRepositoryUrl> myRepositories = ImmutableList.of(URL_MY_REPO, MailRepositoryUrl.from("url://mySecondRepo"));
when(mailRepositoryStore.getUrls())
- .thenReturn(myRepositories);
+ .thenReturn(myRepositories.stream());
List<String> mailRepositories =
when()
http://git-wip-us.apache.org/repos/asf/james-project/blob/87b3b185/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/MailRepositoryStoreServiceTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/MailRepositoryStoreServiceTest.java b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/MailRepositoryStoreServiceTest.java
index 927c5136..b505244 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/MailRepositoryStoreServiceTest.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/test/java/org/apache/james/webadmin/service/MailRepositoryStoreServiceTest.java
@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
+import java.util.stream.Stream;
import javax.mail.internet.MimeMessage;
@@ -43,8 +44,6 @@ import org.apache.mailet.base.test.FakeMail;
import org.junit.Before;
import org.junit.Test;
-import com.google.common.collect.ImmutableList;
-
public class MailRepositoryStoreServiceTest {
private static final MailRepositoryUrl FIRST_REPOSITORY = MailRepositoryUrl.from("url://repository");
private static final MailRepositoryUrl SECOND_REPOSITORY = MailRepositoryUrl.from("url://repository2");
@@ -64,13 +63,15 @@ public class MailRepositoryStoreServiceTest {
@Test
public void listMailRepositoriesShouldReturnEmptyWhenEmpty() {
+ when(mailRepositoryStore.getUrls()).thenReturn(Stream.empty());
+
assertThat(testee.listMailRepositories()).isEmpty();
}
@Test
public void listMailRepositoriesShouldReturnOneRepositoryWhenOne() {
when(mailRepositoryStore.getUrls())
- .thenReturn(ImmutableList.of(FIRST_REPOSITORY));
+ .thenReturn(Stream.of(FIRST_REPOSITORY));
assertThat(testee.listMailRepositories())
.extracting(MailRepositoryResponse::getRepository)
.containsOnly(FIRST_REPOSITORY.asString());
@@ -79,7 +80,7 @@ public class MailRepositoryStoreServiceTest {
@Test
public void listMailRepositoriesShouldReturnTwoRepositoriesWhentwo() {
when(mailRepositoryStore.getUrls())
- .thenReturn(ImmutableList.of(FIRST_REPOSITORY, SECOND_REPOSITORY));
+ .thenReturn(Stream.of(FIRST_REPOSITORY, SECOND_REPOSITORY));
assertThat(testee.listMailRepositories())
.extracting(MailRepositoryResponse::getRepository)
.containsOnly(FIRST_REPOSITORY.asString(), SECOND_REPOSITORY.asString());
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org