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

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

commit 3764fa9cc76cfcc17e535f0475e8958504581c24
Author: Rémi Kowalski <rkowal...@linagora.com>
AuthorDate: Mon Sep 2 15:24:11 2019 +0200

    JAMES-2813 Extract MessageReindexingTask
---
 .../tools/indexer/MessageIdReIndexerImpl.java      |  83 ----------------
 .../tools/indexer/MessageIdReIndexingTask.java     | 109 +++++++++++++++++++++
 .../webadmin/routes/ReindexingRoutesTest.java      |   5 +-
 3 files changed, 112 insertions(+), 85 deletions(-)

diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImpl.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImpl.java
index 27ae4f4..1a95358 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImpl.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexerImpl.java
@@ -19,99 +19,16 @@
 
 package org.apache.mailbox.tools.indexer;
 
-import java.util.Optional;
-
 import javax.inject.Inject;
 
 import org.apache.james.mailbox.MailboxManager;
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.indexer.MessageIdReIndexer;
-import org.apache.james.mailbox.model.Mailbox;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
-import org.apache.james.mailbox.store.mail.MailboxMapper;
-import org.apache.james.mailbox.store.mail.MessageMapper;
-import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
 import org.apache.james.task.Task;
-import org.apache.james.task.TaskExecutionDetails;
-import org.apache.james.task.TaskType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.ImmutableList;
 
 public class MessageIdReIndexerImpl implements MessageIdReIndexer {
-    public static class MessageIdReIndexingTask implements Task {
-        private static final Logger LOGGER = 
LoggerFactory.getLogger(MessageIdReIndexingTask.class);
-
-        public static final TaskType TYPE = new 
TaskType("MessageIdReIndexingTask");
-
-        public final class AdditionalInformation implements 
TaskExecutionDetails.AdditionalInformation {
-            private final MessageId messageId;
-
-            AdditionalInformation(MessageId messageId) {
-                this.messageId = messageId;
-            }
-
-            public String getMessageId() {
-                return messageId.serialize();
-            }
-        }
-
-        private final MailboxManager mailboxManager;
-        private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
-        private final ListeningMessageSearchIndex index;
-        private final MessageId messageId;
-        private final AdditionalInformation additionalInformation;
-
-        MessageIdReIndexingTask(MailboxManager mailboxManager, 
MailboxSessionMapperFactory mailboxSessionMapperFactory, 
ListeningMessageSearchIndex index, MessageId messageId) {
-            this.mailboxManager = mailboxManager;
-            this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
-            this.index = index;
-            this.messageId = messageId;
-            this.additionalInformation = new AdditionalInformation(messageId);
-        }
-
-        @Override
-        public Result run() {
-            try {
-                MailboxSession session = 
mailboxManager.createSystemSession("MessageIdReIndexerImpl");
-
-                return mailboxSessionMapperFactory.getMessageIdMapper(session)
-                    .find(ImmutableList.of(messageId), 
MessageMapper.FetchType.Full)
-                    .stream()
-                    .map(mailboxMessage -> reIndex(mailboxMessage, session))
-                    .reduce(Task::combine)
-                    .orElse(Result.COMPLETED);
-            } catch (Exception e) {
-                LOGGER.warn("Failed to re-index {}", messageId, e);
-                return Result.PARTIAL;
-            }
-        }
-
-        public Result reIndex(MailboxMessage mailboxMessage, MailboxSession 
session) {
-            try {
-                MailboxMapper mailboxMapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
-                Mailbox mailbox = 
mailboxMapper.findMailboxById(mailboxMessage.getMailboxId());
-                index.add(session, mailbox, mailboxMessage);
-                return Result.COMPLETED;
-            } catch (Exception e) {
-                LOGGER.warn("Failed to re-index {} in {}", messageId, 
mailboxMessage.getMailboxId(), e);
-                return Result.PARTIAL;
-            }
-        }
-
-        @Override
-        public TaskType type() {
-            return TYPE;
-        }
-
-        @Override
-        public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-            return Optional.of(additionalInformation);
-        }
-    }
 
     private final MailboxManager mailboxManager;
     private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
new file mode 100644
index 0000000..0baec22
--- /dev/null
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/MessageIdReIndexingTask.java
@@ -0,0 +1,109 @@
+/****************************************************************
+ * 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.mailbox.tools.indexer;
+
+import java.util.Optional;
+
+import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.model.Mailbox;
+import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
+import org.apache.james.mailbox.store.mail.MailboxMapper;
+import org.apache.james.mailbox.store.mail.MessageMapper;
+import org.apache.james.mailbox.store.mail.model.MailboxMessage;
+import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
+import org.apache.james.task.Task;
+import org.apache.james.task.TaskExecutionDetails;
+import org.apache.james.task.TaskType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.ImmutableList;
+
+public class MessageIdReIndexingTask implements Task {
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(MessageIdReIndexingTask.class);
+
+    public static final TaskType TYPE = TaskType.of("MessageIdReIndexingTask");
+
+    public final class AdditionalInformation implements 
TaskExecutionDetails.AdditionalInformation {
+        private final MessageId messageId;
+
+        AdditionalInformation(MessageId messageId) {
+            this.messageId = messageId;
+        }
+
+        public String getMessageId() {
+            return messageId.serialize();
+        }
+    }
+
+    private final MailboxManager mailboxManager;
+    private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
+    private final ListeningMessageSearchIndex index;
+    private final MessageId messageId;
+    private final AdditionalInformation additionalInformation;
+
+    MessageIdReIndexingTask(MailboxManager mailboxManager, 
MailboxSessionMapperFactory mailboxSessionMapperFactory, 
ListeningMessageSearchIndex index, MessageId messageId) {
+        this.mailboxManager = mailboxManager;
+        this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
+        this.index = index;
+        this.messageId = messageId;
+        this.additionalInformation = new AdditionalInformation(messageId);
+    }
+
+    @Override
+    public Result run() {
+        try {
+            MailboxSession session = 
mailboxManager.createSystemSession("MessageIdReIndexerImpl");
+
+            return mailboxSessionMapperFactory.getMessageIdMapper(session)
+                .find(ImmutableList.of(messageId), 
MessageMapper.FetchType.Full)
+                .stream()
+                .map(mailboxMessage -> reIndex(mailboxMessage, session))
+                .reduce(Task::combine)
+                .orElse(Result.COMPLETED);
+        } catch (Exception e) {
+            LOGGER.warn("Failed to re-index {}", messageId, e);
+            return Result.PARTIAL;
+        }
+    }
+
+    public Result reIndex(MailboxMessage mailboxMessage, MailboxSession 
session) {
+        try {
+            MailboxMapper mailboxMapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
+            Mailbox mailbox = 
mailboxMapper.findMailboxById(mailboxMessage.getMailboxId());
+            index.add(session, mailbox, mailboxMessage);
+            return Result.COMPLETED;
+        } catch (Exception e) {
+            LOGGER.warn("Failed to re-index {} in {}", messageId, 
mailboxMessage.getMailboxId(), e);
+            return Result.PARTIAL;
+        }
+    }
+
+    @Override
+    public TaskType type() {
+        return TYPE;
+    }
+
+    @Override
+    public Optional<TaskExecutionDetails.AdditionalInformation> details() {
+        return Optional.of(additionalInformation);
+    }
+}
diff --git 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java
 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java
index e5925b6..b0cf840 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ReindexingRoutesTest.java
@@ -55,6 +55,7 @@ import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.mailbox.tools.indexer.FullReindexingTask;
 import org.apache.mailbox.tools.indexer.MessageIdReIndexerImpl;
+import org.apache.mailbox.tools.indexer.MessageIdReIndexingTask;
 import org.apache.mailbox.tools.indexer.ReIndexerImpl;
 import org.apache.mailbox.tools.indexer.ReIndexerPerformer;
 import org.apache.mailbox.tools.indexer.SingleMailboxReindexingTask;
@@ -860,7 +861,7 @@ class ReindexingRoutesTest {
                 .then()
                     .body("status", is("completed"))
                     .body("taskId", is(notNullValue()))
-                    .body("type", 
is(MessageIdReIndexerImpl.MessageIdReIndexingTask.TYPE))
+                    .body("type", is(MessageIdReIndexingTask.TYPE))
                     .body("additionalInformation.messageId", is("1"))
                     .body("startedDate", is(notNullValue()))
                     .body("submitDate", is(notNullValue()))
@@ -888,7 +889,7 @@ class ReindexingRoutesTest {
                 .then()
                     .body("status", is("completed"))
                     .body("taskId", is(notNullValue()))
-                    .body("type", 
is(MessageIdReIndexerImpl.MessageIdReIndexingTask.TYPE))
+                    .body("type", is(MessageIdReIndexingTask.TYPE))
                     .body("additionalInformation.messageId", 
is(composedMessageId.getMessageId().serialize()))
                     .body("startedDate", is(notNullValue()))
                     .body("submitDate", is(notNullValue()))


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

Reply via email to