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 dc6cbb273596f46bb2e033e7babfc7af5a3b15aa Author: Rene Cordier <rcord...@linagora.com> AuthorDate: Wed Jun 4 14:26:12 2025 +0700 JAMES-4135 Add the possibility to add custom IndexSettings to MailboxMappingFactory --- .../james/mailbox/opensearch/DefaultMailboxMappingFactory.java | 7 +++++++ .../apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java | 4 +++- .../org/apache/james/mailbox/opensearch/MailboxMappingFactory.java | 5 +++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/DefaultMailboxMappingFactory.java b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/DefaultMailboxMappingFactory.java index e106f347d5..8f7b42c5d7 100644 --- a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/DefaultMailboxMappingFactory.java +++ b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/DefaultMailboxMappingFactory.java @@ -25,6 +25,7 @@ import static org.apache.james.backends.opensearch.IndexCreationFactory.KEYWORD; import static org.apache.james.backends.opensearch.IndexCreationFactory.RAW; import java.util.Map; +import java.util.Optional; import org.apache.james.mailbox.opensearch.json.JsonMessageConstants; import org.opensearch.client.opensearch._types.mapping.BooleanProperty; @@ -38,6 +39,7 @@ import org.opensearch.client.opensearch._types.mapping.Property; import org.opensearch.client.opensearch._types.mapping.RoutingField; import org.opensearch.client.opensearch._types.mapping.TextProperty; import org.opensearch.client.opensearch._types.mapping.TypeMapping; +import org.opensearch.client.opensearch.indices.IndexSettings; import com.google.common.collect.ImmutableMap; @@ -290,4 +292,9 @@ public class DefaultMailboxMappingFactory implements MailboxMappingFactory { .build()) .build(); } + + @Override + public Optional<IndexSettings> getIndexSettings() { + return Optional.empty(); + } } diff --git a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java index 536ae29cf7..a4c4ef3a17 100644 --- a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java +++ b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java @@ -19,6 +19,8 @@ package org.apache.james.mailbox.opensearch; +import java.util.Optional; + import org.apache.james.backends.opensearch.IndexCreationFactory; import org.apache.james.backends.opensearch.IndexName; import org.apache.james.backends.opensearch.OpenSearchConfiguration; @@ -38,7 +40,7 @@ public class MailboxIndexCreationUtil { .useIndex(indexName) .addAlias(readAlias) .addAlias(writeAlias) - .createIndexAndAliases(client, mailboxMappingFactory.getMappingContent()); + .createIndexAndAliases(client, mailboxMappingFactory.getIndexSettings(), Optional.of(mailboxMappingFactory.getMappingContent())); } public static ReactorOpenSearchClient prepareDefaultClient(ReactorOpenSearchClient client, OpenSearchConfiguration configuration) { diff --git a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxMappingFactory.java b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxMappingFactory.java index d58789e884..c97a7a58c8 100644 --- a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxMappingFactory.java +++ b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxMappingFactory.java @@ -19,8 +19,13 @@ package org.apache.james.mailbox.opensearch; +import java.util.Optional; + import org.opensearch.client.opensearch._types.mapping.TypeMapping; +import org.opensearch.client.opensearch.indices.IndexSettings; public interface MailboxMappingFactory { TypeMapping getMappingContent(); + + Optional<IndexSettings> getIndexSettings(); } --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org