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:38 UTC
[james-project] 08/18: JAMES-2813 Extract
SingleMailboxReindexingTaskDTO
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 e264e9a37afd176d8de591a6f8543b399f7ca25e
Author: Rémi Kowalski <rk...@linagora.com>
AuthorDate: Fri Sep 20 16:41:10 2019 +0200
JAMES-2813 Extract SingleMailboxReindexingTaskDTO
---
.../tools/indexer/SingleMailboxReindexingTask.java | 44 ++--------------
.../indexer/SingleMailboxReindexingTaskDTO.java | 61 ++++++++++++++++++++++
...ngleMailboxReindexingTaskSerializationTest.java | 2 +-
3 files changed, 66 insertions(+), 41 deletions(-)
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 4ad0106..b29f000 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
@@ -20,59 +20,19 @@
package org.apache.mailbox.tools.indexer;
import java.util.Optional;
-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;
import org.apache.james.task.Task;
import org.apache.james.task.TaskExecutionDetails;
import org.apache.james.task.TaskType;
-import com.fasterxml.jackson.annotation.JsonProperty;
-
public class SingleMailboxReindexingTask implements Task {
- public static class SingleMailboxReindexingTaskDTO implements TaskDTO {
-
- public static SingleMailboxReindexingTask.SingleMailboxReindexingTaskDTO of(SingleMailboxReindexingTask task, String typeName) {
- return new SingleMailboxReindexingTask.SingleMailboxReindexingTaskDTO(typeName, task.mailboxId.serialize());
- }
-
- private final String type;
- private final String mailboxId;
-
- public SingleMailboxReindexingTaskDTO(@JsonProperty("type") String type, @JsonProperty("mailboxId") String mailboxId) {
- this.type = type;
- this.mailboxId = mailboxId;
- }
-
- @Override
- public String getType() {
- return type;
- }
-
- public String getMailboxId() {
- return mailboxId;
- }
-
- }
-
public static final TaskType MAILBOX_RE_INDEXING = TaskType.of("mailboxReIndexing");
- public static final Function<Factory, TaskDTOModule<SingleMailboxReindexingTask, SingleMailboxReindexingTaskDTO>> MODULE = (factory) ->
- DTOModule
- .forDomainObject(SingleMailboxReindexingTask.class)
- .convertToDTO(SingleMailboxReindexingTaskDTO.class)
- .toDomainObjectConverter(factory::create)
- .toDTOConverter(SingleMailboxReindexingTaskDTO::of)
- .typeName(MAILBOX_RE_INDEXING.asString())
- .withFactory(TaskDTOModule::new);
-
public static class AdditionalInformation extends ReprocessingContextInformation {
private final MailboxId mailboxId;
@@ -123,6 +83,10 @@ public class SingleMailboxReindexingTask implements Task {
}
}
+ public MailboxId getMailboxId() {
+ return mailboxId;
+ }
+
@Override
public TaskType type() {
return MAILBOX_RE_INDEXING;
diff --git a/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskDTO.java b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskDTO.java
new file mode 100644
index 0000000..6d16df5
--- /dev/null
+++ b/mailbox/tools/indexer/src/main/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskDTO.java
@@ -0,0 +1,61 @@
+/****************************************************************
+ * 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 java.util.function.Function;
+
+import org.apache.james.json.DTOModule;
+import org.apache.james.server.task.json.dto.TaskDTO;
+import org.apache.james.server.task.json.dto.TaskDTOModule;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class SingleMailboxReindexingTaskDTO implements TaskDTO {
+
+ public static final Function<SingleMailboxReindexingTask.Factory, TaskDTOModule<SingleMailboxReindexingTask, SingleMailboxReindexingTaskDTO>> MODULE = (factory) ->
+ DTOModule
+ .forDomainObject(SingleMailboxReindexingTask.class)
+ .convertToDTO(SingleMailboxReindexingTaskDTO.class)
+ .toDomainObjectConverter(factory::create)
+ .toDTOConverter(SingleMailboxReindexingTaskDTO::of)
+ .typeName(SingleMailboxReindexingTask.MAILBOX_RE_INDEXING.asString())
+ .withFactory(TaskDTOModule::new);
+
+ public static SingleMailboxReindexingTaskDTO of(SingleMailboxReindexingTask task, String typeName) {
+ return new SingleMailboxReindexingTaskDTO(typeName, task.getMailboxId().serialize());
+ }
+
+ private final String type;
+ private final String mailboxId;
+
+ public SingleMailboxReindexingTaskDTO(@JsonProperty("type") String type, @JsonProperty("mailboxId") String mailboxId) {
+ this.type = type;
+ this.mailboxId = mailboxId;
+ }
+
+ @Override
+ public String getType() {
+ return type;
+ }
+
+ public String getMailboxId() {
+ return mailboxId;
+ }
+
+}
diff --git a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
index d117303..6fa7c3a 100644
--- a/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
+++ b/mailbox/tools/indexer/src/test/java/org/apache/mailbox/tools/indexer/SingleMailboxReindexingTaskSerializationTest.java
@@ -41,7 +41,7 @@ class SingleMailboxReindexingTaskSerializationTest {
void setUp() {
reIndexerPerformer = mock(ReIndexerPerformer.class);
SingleMailboxReindexingTask.Factory factory = new SingleMailboxReindexingTask.Factory(reIndexerPerformer, new TestId.Factory());
- taskSerializer = new JsonTaskSerializer(SingleMailboxReindexingTask.MODULE.apply(factory));
+ taskSerializer = new JsonTaskSerializer(SingleMailboxReindexingTaskDTO.MODULE.apply(factory));
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org