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/05/30 07:22:19 UTC
[james-project] 08/19: MAILBOX-351 Factorize ReIndexing tasks
details
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 <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org