This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit cf4a4cc42116aec94b807f59ffe73145549aede6
Author: TungTV <vtt...@linagora.com>
AuthorDate: Mon Nov 4 08:29:24 2024 +0700

    JAMES-4082 Update bean for LuceneMessageSearchIndex (Spring/JPA app)
---
 .../src/main/resources/META-INF/spring/mailbox-index-lucene.xml   | 2 ++
 .../test/resources/META-INF/spring/mailbox-index-lucene-test.xml  | 2 ++
 .../src/main/java/org/apache/james/JPAJamesServerMain.java        | 8 +++++++-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/mailbox/lucene/src/main/resources/META-INF/spring/mailbox-index-lucene.xml 
b/mailbox/lucene/src/main/resources/META-INF/spring/mailbox-index-lucene.xml
index 16d332ef32..27f7e5e767 100644
--- a/mailbox/lucene/src/main/resources/META-INF/spring/mailbox-index-lucene.xml
+++ b/mailbox/lucene/src/main/resources/META-INF/spring/mailbox-index-lucene.xml
@@ -38,8 +38,10 @@
         <constructor-arg index="2" type="org.apache.lucene.store.Directory" 
ref="fsDirectory"/>
         <constructor-arg index="3" ref="messageIdFactory"/>
         <constructor-arg index="4" ref="sessionProvider"/>
+        <constructor-arg index="5" ref="textExtractor"/>
         <property name="enableSuffixMatch" value="true"/>
     </bean>
+    <bean id="textExtractor" 
class="org.apache.james.mailbox.store.extractor.DefaultTextExtractor"/>
     <bean id="fsDirectory"  class="org.apache.lucene.store.FSDirectory" 
factory-method="open">
         <constructor-arg index="0" value="../var/store/lucene"/>
     </bean>
diff --git 
a/mailbox/spring/src/test/resources/META-INF/spring/mailbox-index-lucene-test.xml
 
b/mailbox/spring/src/test/resources/META-INF/spring/mailbox-index-lucene-test.xml
index bf7036e3c9..b7a05fb6ed 100644
--- 
a/mailbox/spring/src/test/resources/META-INF/spring/mailbox-index-lucene-test.xml
+++ 
b/mailbox/spring/src/test/resources/META-INF/spring/mailbox-index-lucene-test.xml
@@ -33,11 +33,13 @@
         <constructor-arg index="2" type="org.apache.lucene.store.Directory" 
ref="fsDirectory"/>
         <constructor-arg index="3" ref="messageIdFactory"/>
         <constructor-arg index="4" ref="sessionProvider"/>
+        <constructor-arg index="5" ref="textExtractor"/>
         <property name="enableSuffixMatch" value="true"/>
     </bean>
     <bean id="fsDirectory"  class="org.apache.lucene.store.FSDirectory" 
factory-method="open">
         <constructor-arg index="0" value="../var/store/lucene"/>
     </bean>
+    <bean id="textExtractor" 
class="org.apache.james.mailbox.store.extractor.DefaultTextExtractor"/>
     <alias name="jpa-mailboxIdFactory" alias="mailboxIdFactory"/>
     <alias name="jpa-mailboxmanager" alias="mailboxmanager"/>
     <alias name="luceneIndex" alias="indexer"/>
diff --git 
a/server/apps/jpa-app/src/main/java/org/apache/james/JPAJamesServerMain.java 
b/server/apps/jpa-app/src/main/java/org/apache/james/JPAJamesServerMain.java
index aa0b291252..b41bd72e62 100644
--- a/server/apps/jpa-app/src/main/java/org/apache/james/JPAJamesServerMain.java
+++ b/server/apps/jpa-app/src/main/java/org/apache/james/JPAJamesServerMain.java
@@ -20,6 +20,8 @@
 package org.apache.james;
 
 import org.apache.james.data.UsersRepositoryModuleChooser;
+import org.apache.james.mailbox.extractor.TextExtractor;
+import org.apache.james.mailbox.store.extractor.JsoupTextExtractor;
 import org.apache.james.modules.MailboxModule;
 import org.apache.james.modules.MailetProcessingModule;
 import org.apache.james.modules.RunArgumentsModule;
@@ -82,7 +84,12 @@ public class JPAJamesServerMain implements JamesServerMain {
         new SMTPServerModule(),
         WEBADMIN);
 
+    private static final Module SEARCH_MODULE = Modules.combine(
+        new LuceneSearchMailboxModule(),
+        binder -> binder.bind(TextExtractor.class).toInstance(new 
JsoupTextExtractor()));
+
     private static final Module JPA_SERVER_MODULE = Modules.combine(
+        SEARCH_MODULE,
         new ActiveMQQueueModule(),
         new NaiveDelegationStoreModule(),
         new DefaultProcessorsConfigurationProviderModule(),
@@ -90,7 +97,6 @@ public class JPAJamesServerMain implements JamesServerMain {
         new JPAMailboxModule(),
         new MailboxModule(),
         new ReIndexingTaskSerializationModule(),
-        new LuceneSearchMailboxModule(),
         new NoJwtModule(),
         new RawPostDequeueDecoratorModule(),
         new SieveJPARepositoryModules(),


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to