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