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 2019/01/15 03:21:50 UTC
[15/30] james-project git commit: JAMES-2641 Search indexes should
rely on SessionProvider
JAMES-2641 Search indexes should rely on SessionProvider
This again avoids a circular dependency
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7a2bf1eb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7a2bf1eb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7a2bf1eb
Branch: refs/heads/master
Commit: 7a2bf1eb3b4f5b85b466f7cbc79ae54fb3ce99c4
Parents: eb2d2cc
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Jan 9 09:22:39 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 10:10:04 2019 +0700
----------------------------------------------------------------------
.../events/ElasticSearchListeningMessageSearchIndex.java | 6 +++---
.../elasticsearch/ElasticSearchIntegrationTest.java | 5 ++++-
.../ElasticSearchListeningMessageSearchIndexTest.java | 6 +++---
.../mailbox/lucene/search/LuceneMessageSearchIndex.java | 9 +++++----
.../lucene/search/LuceneMessageSearchIndexTest.java | 5 ++++-
.../mailbox/store/search/LazyMessageSearchIndex.java | 5 +++--
.../mailbox/store/search/ListeningMessageSearchIndex.java | 10 +++++-----
.../elasticsearch/host/ElasticSearchHostSystem.java | 5 +++--
.../lucenesearch/host/LuceneSearchHostSystem.java | 2 +-
9 files changed, 31 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
index a925c04..6d4929e 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
@@ -32,7 +32,6 @@ import javax.inject.Named;
import org.apache.james.backends.es.ElasticSearchIndexer;
import org.apache.james.backends.es.UpdatedRepresentation;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxManager.MessageCapabilities;
import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
import org.apache.james.mailbox.MailboxSession;
@@ -47,6 +46,7 @@ import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.SearchQuery;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
@@ -71,8 +71,8 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
public ElasticSearchListeningMessageSearchIndex(MailboxSessionMapperFactory factory,
@Named(MailboxElasticSearchConstants.InjectionNames.MAILBOX) ElasticSearchIndexer indexer,
ElasticSearchSearcher searcher, MessageToElasticSearchJson messageToElasticSearchJson,
- MailboxManager mailboxManager) {
- super(factory, mailboxManager);
+ SessionProvider sessionProvider) {
+ super(factory, sessionProvider);
this.elasticSearchIndexer = indexer;
this.messageToElasticSearchJson = messageToElasticSearchJson;
this.searcher = searcher;
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
index 13aa203..e85582b 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIntegrationTest.java
@@ -44,6 +44,9 @@ import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
import org.apache.james.mailbox.model.ComposedMessageId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SearchQuery;
+import org.apache.james.mailbox.store.FakeAuthenticator;
+import org.apache.james.mailbox.store.FakeAuthorizator;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMessageIdManager;
import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest;
@@ -116,7 +119,7 @@ public class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest
MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS,
MailboxElasticSearchConstants.MESSAGE_TYPE),
new MessageToElasticSearchJson(textExtractor, ZoneId.of("Europe/Paris"), IndexAttachments.YES),
- storeMailboxManager);
+ new SessionProvider(new FakeAuthenticator(), FakeAuthorizator.defaultReject()));
QuotaComponents quotaComponents = storeMailboxManager.getQuotaComponents();
messageIdManager = new StoreMessageIdManager(
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
index 2d6f18d..de5f599 100644
--- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java
@@ -34,7 +34,6 @@ import javax.mail.Flags;
import org.apache.james.backends.es.ElasticSearchIndexer;
import org.apache.james.backends.es.UpdatedRepresentation;
import org.apache.james.core.User;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MailboxSessionUtil;
import org.apache.james.mailbox.MessageUid;
@@ -43,6 +42,7 @@ import org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearcher;
import org.apache.james.mailbox.model.TestId;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.elasticsearch.ElasticsearchException;
@@ -77,12 +77,12 @@ public class ElasticSearchListeningMessageSearchIndexTest {
MailboxSessionMapperFactory mapperFactory = mock(MailboxSessionMapperFactory.class);
messageToElasticSearchJson = mock(MessageToElasticSearchJson.class);
ElasticSearchSearcher elasticSearchSearcher = mock(ElasticSearchSearcher.class);
- MailboxManager mockMailboxManager = mock(MailboxManager.class);
+ SessionProvider mockSessionProvider = mock(SessionProvider.class);
elasticSearchIndexer = mock(ElasticSearchIndexer.class);
testee = new ElasticSearchListeningMessageSearchIndex(mapperFactory, elasticSearchIndexer, elasticSearchSearcher,
- messageToElasticSearchJson, mockMailboxManager);
+ messageToElasticSearchJson, mockSessionProvider);
session = MailboxSessionUtil.create(USERNAME);
users = ImmutableList.of(User.fromUsername(USERNAME));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
index 63af04e..9ff285f 100644
--- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
+++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
@@ -67,6 +67,7 @@ import org.apache.james.mailbox.model.SearchQuery.UidCriterion;
import org.apache.james.mailbox.model.SearchQuery.UidRange;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
@@ -367,8 +368,8 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
MailboxId.Factory mailboxIdFactory,
Directory directory,
MessageId.Factory messageIdFactory,
- MailboxManager mailboxManager) throws IOException {
- this(factory, mailboxIdFactory, directory, false, true, messageIdFactory, mailboxManager);
+ SessionProvider sessionProvider) throws IOException {
+ this(factory, mailboxIdFactory, directory, false, true, messageIdFactory, sessionProvider);
}
public LuceneMessageSearchIndex(
@@ -378,8 +379,8 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
boolean dropIndexOnStart,
boolean lenient,
MessageId.Factory messageIdFactory,
- MailboxManager mailboxManager) throws IOException {
- super(factory, mailboxManager);
+ SessionProvider sessionProvider) throws IOException {
+ super(factory, sessionProvider);
this.mailboxIdFactory = mailboxIdFactory;
this.messageIdFactory = messageIdFactory;
this.directory = directory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
index 7853d32..16b6b46 100644
--- a/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
+++ b/mailbox/lucene/src/test/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndexTest.java
@@ -24,6 +24,9 @@ import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.FakeAuthenticator;
+import org.apache.james.mailbox.store.FakeAuthorizator;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMessageIdManager;
import org.apache.james.mailbox.store.quota.QuotaComponents;
import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest;
@@ -52,7 +55,7 @@ public class LuceneMessageSearchIndexTest extends AbstractMessageSearchIndexTest
LuceneMessageSearchIndex luceneMessageSearchIndex = new LuceneMessageSearchIndex(
storeMailboxManager.getMapperFactory(), new InMemoryId.Factory(), new RAMDirectory(),
storeMailboxManager.getMessageIdFactory(),
- storeMailboxManager);
+ new SessionProvider(new FakeAuthenticator(), FakeAuthorizator.defaultReject()));
storeMailboxManager.setMessageSearchIndex(luceneMessageSearchIndex);
storeMailboxManager.addGlobalListener(luceneMessageSearchIndex, MailboxSessionUtil.create("admin"));
this.messageSearchIndex = luceneMessageSearchIndex;
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
index b1a53e5..32f9d32 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/LazyMessageSearchIndex.java
@@ -36,6 +36,7 @@ import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.SearchQuery;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
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;
@@ -62,8 +63,8 @@ public class LazyMessageSearchIndex extends ListeningMessageSearchIndex {
private final MailboxSessionMapperFactory factory;
- public LazyMessageSearchIndex(ListeningMessageSearchIndex index, MailboxSessionMapperFactory factory, MailboxManager mailboxManager) {
- super(factory, mailboxManager);
+ public LazyMessageSearchIndex(ListeningMessageSearchIndex index, MailboxSessionMapperFactory factory, SessionProvider sessionProvider) {
+ super(factory, sessionProvider);
this.index = index;
this.factory = factory;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
index b12eaa1..fe470ad 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ListeningMessageSearchIndex.java
@@ -24,13 +24,13 @@ import java.util.stream.Stream;
import org.apache.james.mailbox.Event;
import org.apache.james.mailbox.MailboxListener;
-import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MessageRange;
import org.apache.james.mailbox.model.UpdatedFlags;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.SessionProvider;
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;
@@ -48,11 +48,11 @@ public abstract class ListeningMessageSearchIndex implements MessageSearchIndex,
private static final int UNLIMITED = -1;
private final MailboxSessionMapperFactory factory;
- private final MailboxManager mailboxManager;
+ private final SessionProvider sessionProvider;
- public ListeningMessageSearchIndex(MailboxSessionMapperFactory factory, MailboxManager mailboxManager) {
+ public ListeningMessageSearchIndex(MailboxSessionMapperFactory factory, SessionProvider sessionProvider) {
this.factory = factory;
- this.mailboxManager = mailboxManager;
+ this.sessionProvider = sessionProvider;
}
/**
@@ -64,7 +64,7 @@ public abstract class ListeningMessageSearchIndex implements MessageSearchIndex,
try {
if (event instanceof MailboxEvent) {
handleMailboxEvent(event,
- mailboxManager.createSystemSession(event.getUser().asString()),
+ sessionProvider.createSystemSession(event.getUser().asString()),
(MailboxEvent) event);
}
} catch (MailboxException e) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
index 515d79d..8ddfac8 100644
--- a/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/elasticsearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/ElasticSearchHostSystem.java
@@ -52,6 +52,7 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.inmemory.InMemoryId;
import org.apache.james.mailbox.inmemory.InMemoryMessageId;
import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.store.SessionProvider;
import org.apache.james.mailbox.store.StoreMailboxManager;
import org.apache.james.mailbox.store.StoreSubscriptionManager;
import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
@@ -102,7 +103,7 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem {
ThreadFactory threadFactory = NamedThreadFactory.withClassName(getClass());
ElasticSearchListeningMessageSearchIndex searchIndex = new ElasticSearchListeningMessageSearchIndex(
- mailboxManager.getMapperFactory(),
+ mailboxSessionMapperFactory,
new ElasticSearchIndexer(client,
Executors.newSingleThreadExecutor(threadFactory),
MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS,
@@ -113,7 +114,7 @@ public class ElasticSearchHostSystem extends JamesImapHostSystem {
new InMemoryId.Factory(), messageIdFactory,
MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, MailboxElasticSearchConstants.MESSAGE_TYPE),
new MessageToElasticSearchJson(new DefaultTextExtractor(), ZoneId.systemDefault(), IndexAttachments.YES),
- mailboxManager);
+ new SessionProvider(authenticator, authorizator));
mailboxManager.setMessageSearchIndex(searchIndex);
mailboxManager.addGlobalListener(searchIndex, MailboxSessionUtil.create("admin"));
http://git-wip-us.apache.org/repos/asf/james-project/blob/7a2bf1eb/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index ae94e2a..6774134 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -114,7 +114,7 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
rightManager);
FSDirectory fsDirectory = FSDirectory.open(tempFile);
- searchIndex = new LuceneMessageSearchIndex(mapperFactory, new InMemoryId.Factory(), fsDirectory, messageIdFactory, mailboxManager);
+ searchIndex = new LuceneMessageSearchIndex(mapperFactory, new InMemoryId.Factory(), fsDirectory, messageIdFactory, sessionProvider);
searchIndex.setEnableSuffixMatch(true);
mailboxManager.setMessageSearchIndex(searchIndex);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org