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/09/25 03:31:33 UTC
[james-project] 03/18: JAMES-2813 make reprocessing context
additional informations immutable
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 <rk...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org