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 118418e6cb67adb9f2e1e6fe23e33717a486ed0e Author: Benoit Tellier <[email protected]> AuthorDate: Thu May 23 12:03:12 2019 +0700 MAILBOX-351 Factorize ReIndexing tasks details There was a lot of unnecessary code duplication --- .../mailbox/tools/indexer/FullReindexingTask.java | 38 +-------------- .../indexer/PreviousFailuresReIndexationTask.java | 35 ++------------ .../indexer/ReprocessingContextInformation.java | 56 ++++++++++++++++++++++ .../tools/indexer/SingleMailboxReindexingTask.java | 32 +------------ .../mailbox/tools/indexer/UserReindexingTask.java | 31 +----------- 5 files changed, 65 insertions(+), 127 deletions(-) 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 c5b5219..0999ee0 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 @@ -24,56 +24,22 @@ import java.util.Optional; import javax.inject.Inject; import org.apache.james.mailbox.exception.MailboxException; -import org.apache.james.mailbox.indexer.IndexingDetailInformation; -import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures; import org.apache.james.task.Task; import org.apache.james.task.TaskExecutionDetails; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - public class FullReindexingTask implements Task { public static final String FULL_RE_INDEXING = "FullReIndexing"; - public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation, IndexingDetailInformation { - private final ReprocessingContext reprocessingContext; - - AdditionalInformation(ReprocessingContext reprocessingContext) { - this.reprocessingContext = reprocessingContext; - } - - @Override - public int getSuccessfullyReprocessMailCount() { - return reprocessingContext.successfullyReprocessedMailCount(); - } - - @Override - public int getFailedReprocessedMailCount() { - return reprocessingContext.failedReprocessingMailCount(); - } - - @Override - @JsonIgnore - public ReIndexingExecutionFailures failures() { - return reprocessingContext.failures(); - } - - @JsonProperty - public SerializableReIndexingExecutionFailures failuresAsJson() { - return SerializableReIndexingExecutionFailures.from(failures()); - } - } - private final ReIndexerPerformer reIndexerPerformer; - private final AdditionalInformation additionalInformation; + private final ReprocessingContextInformation additionalInformation; private final ReprocessingContext reprocessingContext; @Inject public FullReindexingTask(ReIndexerPerformer reIndexerPerformer) { this.reIndexerPerformer = reIndexerPerformer; this.reprocessingContext = new ReprocessingContext(); - this.additionalInformation = new AdditionalInformation(reprocessingContext); + this.additionalInformation = new ReprocessingContextInformation(reprocessingContext); } @Override diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/PreviousFailuresReIndexationTask.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/PreviousFailuresReIndexationTask.java index 4bbeba4..faf513c 100644 --- a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/PreviousFailuresReIndexationTask.java +++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/PreviousFailuresReIndexationTask.java @@ -21,44 +21,15 @@ package org.apache.mailbox.tools.indexer; import java.util.Optional; -import org.apache.james.mailbox.indexer.IndexingDetailInformation; import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures; import org.apache.james.task.Task; import org.apache.james.task.TaskExecutionDetails; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - public class PreviousFailuresReIndexationTask implements Task { - public static final String PREVIOUS_FAILURES_INDEXING = "ReIndexPreviousFailures"; - - public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation, IndexingDetailInformation { - private final ReprocessingContext reprocessingContext; - - AdditionalInformation(ReprocessingContext reprocessingContext) { - this.reprocessingContext = reprocessingContext; - } - - public int getSuccessfullyReprocessMailCount() { - return reprocessingContext.successfullyReprocessedMailCount(); - } - - public int getFailedReprocessedMailCount() { - return reprocessingContext.failedReprocessingMailCount(); - } - @JsonIgnore - public ReIndexingExecutionFailures failures() { - return reprocessingContext.failures(); - } - - @JsonProperty("failures") - public SerializableReIndexingExecutionFailures failuresAsJson() { - return SerializableReIndexingExecutionFailures.from(failures()); - } - } + private static final String PREVIOUS_FAILURES_INDEXING = "ReIndexPreviousFailures"; private final ReIndexerPerformer reIndexerPerformer; - private final AdditionalInformation additionalInformation; + private final ReprocessingContextInformation additionalInformation; private final ReprocessingContext reprocessingContext; private final ReIndexingExecutionFailures previousFailures; @@ -66,7 +37,7 @@ public class PreviousFailuresReIndexationTask implements Task { this.reIndexerPerformer = reIndexerPerformer; this.previousFailures = previousFailures; this.reprocessingContext = new ReprocessingContext(); - this.additionalInformation = new AdditionalInformation(reprocessingContext); + this.additionalInformation = new ReprocessingContextInformation(reprocessingContext); } @Override 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 new file mode 100644 index 0000000..6590e43 --- /dev/null +++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/ReprocessingContextInformation.java @@ -0,0 +1,56 @@ +/**************************************************************** + * 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 org.apache.james.mailbox.indexer.IndexingDetailInformation; +import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures; +import org.apache.james.task.TaskExecutionDetails; + +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; + } + + @Override + public int getSuccessfullyReprocessMailCount() { + return reprocessingContext.successfullyReprocessedMailCount(); + } + + @Override + public int getFailedReprocessedMailCount() { + return reprocessingContext.failedReprocessingMailCount(); + } + + @Override + @JsonIgnore + public ReIndexingExecutionFailures failures() { + return reprocessingContext.failures(); + } + + @JsonProperty + public SerializableReIndexingExecutionFailures failuresAsJson() { + return SerializableReIndexingExecutionFailures.from(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 c3e26fb..c98337e 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 @@ -23,53 +23,25 @@ import java.util.Optional; import javax.inject.Inject; -import org.apache.james.mailbox.indexer.IndexingDetailInformation; -import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.task.Task; import org.apache.james.task.TaskExecutionDetails; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - public class SingleMailboxReindexingTask implements Task { public static final String MAILBOX_RE_INDEXING = "mailboxReIndexing"; - public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation, IndexingDetailInformation { + public static class AdditionalInformation extends ReprocessingContextInformation { private final MailboxId mailboxId; - private final ReprocessingContext reprocessingContext; AdditionalInformation(MailboxId mailboxId, ReprocessingContext reprocessingContext) { + super(reprocessingContext); this.mailboxId = mailboxId; - this.reprocessingContext = reprocessingContext; } - public String getMailboxId() { return mailboxId.serialize(); } - - @Override - public int getSuccessfullyReprocessMailCount() { - return reprocessingContext.successfullyReprocessedMailCount(); - } - - @Override - public int getFailedReprocessedMailCount() { - return reprocessingContext.failedReprocessingMailCount(); - } - - @Override - @JsonIgnore - public ReIndexingExecutionFailures failures() { - return reprocessingContext.failures(); - } - - @JsonProperty("failures") - public SerializableReIndexingExecutionFailures failuresAsJson() { - return SerializableReIndexingExecutionFailures.from(failures()); - } } private final ReIndexerPerformer reIndexerPerformer; 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 1f3a0a0..cf1f76e 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 @@ -25,48 +25,21 @@ import javax.inject.Inject; import org.apache.james.core.User; import org.apache.james.mailbox.exception.MailboxException; -import org.apache.james.mailbox.indexer.IndexingDetailInformation; -import org.apache.james.mailbox.indexer.ReIndexingExecutionFailures; import org.apache.james.task.Task; import org.apache.james.task.TaskExecutionDetails; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - public class UserReindexingTask implements Task { public static final String USER_RE_INDEXING = "userReIndexing"; - public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation, IndexingDetailInformation { - private final ReprocessingContext reprocessingContext; + public static class AdditionalInformation extends ReprocessingContextInformation { private final User user; AdditionalInformation(ReprocessingContext reprocessingContext, User user) { - this.reprocessingContext = reprocessingContext; + super(reprocessingContext); this.user = user; } - @Override - public int getSuccessfullyReprocessMailCount() { - return reprocessingContext.successfullyReprocessedMailCount(); - } - - @Override - public int getFailedReprocessedMailCount() { - return reprocessingContext.failedReprocessingMailCount(); - } - - @Override - @JsonIgnore - public ReIndexingExecutionFailures failures() { - return reprocessingContext.failures(); - } - - @JsonProperty("failures") - public SerializableReIndexingExecutionFailures failuresAsJson() { - return SerializableReIndexingExecutionFailures.from(failures()); - } - public String getUser() { return user.asString(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
