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 19908020b170c71231310e8287c8767dc03bb6cf
Author: RĂ©mi Kowalski <rkowal...@linagora.com>
AuthorDate: Wed Sep 18 15:03:21 2019 +0200

    JAMES-2813 make reprocessing context additional informations immutable
---
 .../tools/indexer/ErrorRecoveryIndexationTask.java  |  4 +---
 .../mailbox/tools/indexer/FullReindexingTask.java   |  4 +---
 .../indexer/ReprocessingContextInformation.java     | 21 +++++++++++++++------
 .../tools/indexer/SingleMailboxReindexingTask.java  | 15 ++++++++++-----
 .../mailbox/tools/indexer/UserReindexingTask.java   | 14 +++++++++-----
 5 files changed, 36 insertions(+), 22 deletions(-)

diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
index 01bf9b4..fe08031 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ErrorRecoveryIndexationTask.java
@@ -140,7 +140,6 @@ public class ErrorRecoveryIndexationTask implements Task {
     }
 
     private final ReIndexerPerformer reIndexerPerformer;
-    private final ReprocessingContextInformation additionalInformation;
     private final ReprocessingContext reprocessingContext;
     private final ReIndexingExecutionFailures previousFailures;
 
@@ -148,7 +147,6 @@ public class ErrorRecoveryIndexationTask implements Task {
         this.reIndexerPerformer = reIndexerPerformer;
         this.previousFailures = previousFailures;
         this.reprocessingContext = new ReprocessingContext();
-        this.additionalInformation = new 
ReprocessingContextInformation(reprocessingContext);
     }
 
     @Override
@@ -163,6 +161,6 @@ public class ErrorRecoveryIndexationTask implements Task {
 
     @Override
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-        return Optional.of(additionalInformation);
+        return 
Optional.of(ReprocessingContextInformation.from(reprocessingContext));
     }
 }
diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
index b30cb5d..0177a6a 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/FullReindexingTask.java
@@ -39,7 +39,6 @@ public class FullReindexingTask implements Task {
     public static final TaskType FULL_RE_INDEXING = 
TaskType.of("FullReIndexing");
 
     private final ReIndexerPerformer reIndexerPerformer;
-    private final ReprocessingContextInformation additionalInformation;
     private final ReprocessingContext reprocessingContext;
 
     public static final Function<FullReindexingTask.Factory, 
TaskDTOModule<FullReindexingTask, FullReindexingTaskDTO>> MODULE = (factory) ->
@@ -84,7 +83,6 @@ public class FullReindexingTask implements Task {
     public FullReindexingTask(ReIndexerPerformer reIndexerPerformer) {
         this.reIndexerPerformer = reIndexerPerformer;
         this.reprocessingContext = new ReprocessingContext();
-        this.additionalInformation = new 
ReprocessingContextInformation(reprocessingContext);
     }
 
     @Override
@@ -103,6 +101,6 @@ public class FullReindexingTask implements Task {
 
     @Override
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-        return Optional.of(additionalInformation);
+        return 
Optional.of(ReprocessingContextInformation.from(reprocessingContext));
     }
 }
diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReprocessingContextInformation.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReprocessingContextInformation.java
index 4ab24d3..cad7c52 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReprocessingContextInformation.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReprocessingContextInformation.java
@@ -27,26 +27,35 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 public class ReprocessingContextInformation implements 
TaskExecutionDetails.AdditionalInformation, IndexingDetailInformation {
-    private final ReprocessingContext reprocessingContext;
 
-    ReprocessingContextInformation(ReprocessingContext reprocessingContext) {
-        this.reprocessingContext = reprocessingContext;
+    public static ReprocessingContextInformation from(ReprocessingContext 
reprocessingContext) {
+        return new 
ReprocessingContextInformation(reprocessingContext.successfullyReprocessedMailCount(),
 reprocessingContext.failedReprocessingMailCount(), 
reprocessingContext.failures());
+    }
+
+    private final int successfullyReprocessedMailCount;
+    private final int failedReprocessedMailCount;
+    private final ReIndexingExecutionFailures failures;
+
+    ReprocessingContextInformation(int successfullyReprocessedMailCount, int 
failedReprocessedMailCount, ReIndexingExecutionFailures failures) {
+        this.successfullyReprocessedMailCount = 
successfullyReprocessedMailCount;
+        this.failedReprocessedMailCount = failedReprocessedMailCount;
+        this.failures = failures;
     }
 
     @Override
     public int getSuccessfullyReprocessedMailCount() {
-        return reprocessingContext.successfullyReprocessedMailCount();
+        return successfullyReprocessedMailCount;
     }
 
     @Override
     public int getFailedReprocessedMailCount() {
-        return reprocessingContext.failedReprocessingMailCount();
+        return failedReprocessedMailCount;
     }
 
     @Override
     @JsonIgnore
     public ReIndexingExecutionFailures failures() {
-        return reprocessingContext.failures();
+        return failures;
     }
 
     @JsonProperty("failures")
diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
index 71cb0db..4ad0106 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTask.java
@@ -25,6 +25,7 @@ import java.util.function.Function;
 import javax.inject.Inject;
 
 import org.apache.james.json.DTOModule;
+import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
 import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.server.task.json.dto.TaskDTO;
 import org.apache.james.server.task.json.dto.TaskDTOModule;
@@ -75,8 +76,8 @@ public class SingleMailboxReindexingTask implements Task {
     public static class AdditionalInformation extends 
ReprocessingContextInformation {
         private final MailboxId mailboxId;
 
-        AdditionalInformation(MailboxId mailboxId, ReprocessingContext 
reprocessingContext) {
-            super(reprocessingContext);
+        AdditionalInformation(MailboxId mailboxId, int 
successfullyReprocessedMailCount, int failedReprocessedMailCount, 
ReIndexingExecutionFailures failures) {
+            super(successfullyReprocessedMailCount, 
failedReprocessedMailCount, failures);
             this.mailboxId = mailboxId;
         }
 
@@ -104,7 +105,6 @@ public class SingleMailboxReindexingTask implements Task {
 
     private final ReIndexerPerformer reIndexerPerformer;
     private final MailboxId mailboxId;
-    private final AdditionalInformation additionalInformation;
     private final ReprocessingContext reprocessingContext;
 
     @Inject
@@ -112,7 +112,6 @@ public class SingleMailboxReindexingTask implements Task {
         this.reIndexerPerformer = reIndexerPerformer;
         this.mailboxId = mailboxId;
         this.reprocessingContext = new ReprocessingContext();
-        this.additionalInformation = new AdditionalInformation(mailboxId, 
reprocessingContext);
     }
 
     @Override
@@ -131,7 +130,13 @@ public class SingleMailboxReindexingTask implements Task {
 
     @Override
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-        return Optional.of(additionalInformation);
+        return Optional.of(
+            new SingleMailboxReindexingTask.AdditionalInformation(
+                mailboxId,
+                reprocessingContext.successfullyReprocessedMailCount(),
+                reprocessingContext.failedReprocessingMailCount(),
+                reprocessingContext.failures())
+        );
     }
 
 }
diff --git 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
index 9be6734..53d9275 100644
--- 
a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
+++ 
b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/UserReindexingTask.java
@@ -27,6 +27,7 @@ import javax.inject.Inject;
 import org.apache.james.core.User;
 import org.apache.james.json.DTOModule;
 import org.apache.james.mailbox.exception.MailboxException;
+import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures;
 import org.apache.james.server.task.json.dto.TaskDTO;
 import org.apache.james.server.task.json.dto.TaskDTOModule;
 import org.apache.james.task.Task;
@@ -76,19 +77,19 @@ public class UserReindexingTask implements Task {
     public static class AdditionalInformation extends 
ReprocessingContextInformation {
         private final User user;
 
-        AdditionalInformation(ReprocessingContext reprocessingContext, User 
user) {
-            super(reprocessingContext);
+        AdditionalInformation(User user, int successfullyReprocessedMailCount, 
int failedReprocessedMailCount, ReIndexingExecutionFailures failures) {
+            super(successfullyReprocessedMailCount, 
failedReprocessedMailCount, failures);
             this.user = user;
         }
 
         public String getUser() {
             return user.asString();
         }
+
     }
 
     private final ReIndexerPerformer reIndexerPerformer;
     private final User user;
-    private final AdditionalInformation additionalInformation;
     private final ReprocessingContext reprocessingContext;
 
     @Inject
@@ -96,7 +97,6 @@ public class UserReindexingTask implements Task {
         this.reIndexerPerformer = reIndexerPerformer;
         this.user = user;
         this.reprocessingContext = new ReprocessingContext();
-        this.additionalInformation = new 
AdditionalInformation(reprocessingContext, user);
     }
 
     public static class Factory {
@@ -130,6 +130,10 @@ public class UserReindexingTask implements Task {
 
     @Override
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
-        return Optional.of(additionalInformation);
+        return Optional.of(new UserReindexingTask.AdditionalInformation(user,
+            reprocessingContext.successfullyReprocessedMailCount(),
+            reprocessingContext.failedReprocessingMailCount(),
+            reprocessingContext.failures())
+        );
     }
 }


---------------------------------------------------------------------
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