This is an automated email from the ASF dual-hosted git repository.

rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 1a6010adf56d676329cc631b2b616513fec84427
Author: Gautier DI FOLCO <[email protected]>
AuthorDate: Tue Sep 3 17:12:14 2019 +0200

    JAMES-2813 Extract DeletedMessagesVaultRestoreTaskDTO
---
 .../routes/DeletedMessagesVaultRestoreTask.java    | 72 +---------------
 .../routes/DeletedMessagesVaultRestoreTaskDTO.java | 95 ++++++++++++++++++++++
 ...dMessagesVaultRestoreTaskSerializationTest.java |  4 +-
 .../WebadminApiQuerySerializationContractTest.java |  4 +-
 4 files changed, 103 insertions(+), 72 deletions(-)

diff --git 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTask.java
 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTask.java
index 75249d5..ffe95d9 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTask.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTask.java
@@ -23,90 +23,22 @@ import static 
org.apache.james.webadmin.vault.routes.RestoreService.RestoreResul
 
 import java.util.Optional;
 import java.util.concurrent.atomic.AtomicLong;
-import java.util.function.Function;
-
-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.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 org.apache.james.vault.dto.query.QueryDTO;
-import org.apache.james.vault.dto.query.QueryTranslator;
 import org.apache.james.vault.search.Query;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.annotations.VisibleForTesting;
 
 class DeletedMessagesVaultRestoreTask implements Task {
 
     static final TaskType TYPE = TaskType.of("deletedMessages/restore");
 
-    public static final Function<DeletedMessagesVaultRestoreTask.Factory, 
TaskDTOModule<DeletedMessagesVaultRestoreTask, 
DeletedMessagesVaultRestoreTaskDTO>> MODULE = (factory) ->
-        DTOModule
-            .forDomainObject(DeletedMessagesVaultRestoreTask.class)
-            
.convertToDTO(DeletedMessagesVaultRestoreTask.DeletedMessagesVaultRestoreTaskDTO.class)
-            .toDomainObjectConverter(factory::create)
-            .toDTOConverter(factory::createDTO)
-            .typeName(TYPE.asString())
-            .withFactory(TaskDTOModule::new);
-
-    public static class DeletedMessagesVaultRestoreTaskDTO implements TaskDTO {
-
-        private final String type;
-        private final String userToRestore;
-        private final QueryDTO query;
-
-        public DeletedMessagesVaultRestoreTaskDTO(@JsonProperty("type") String 
type,
-                                                  
@JsonProperty("userToRestore") String userToRestore,
-                                                  @JsonProperty("query") 
QueryDTO query) {
-            this.type = type;
-            this.userToRestore = userToRestore;
-            this.query = query;
-        }
-
-        public String getUserToRestore() {
-            return userToRestore;
-        }
-
-        public QueryDTO getQuery() {
-            return query;
-        }
-
-        public String getType() {
-            return type;
-        }
-
-    }
-
-    public static class Factory {
-
-        private final RestoreService restoreService;
-        private final QueryTranslator queryTranslator;
-
-        @Inject
-        public Factory(RestoreService restoreService, QueryTranslator 
queryTranslator) {
-            this.restoreService = restoreService;
-            this.queryTranslator = queryTranslator;
-        }
-
-        public DeletedMessagesVaultRestoreTask 
create(DeletedMessagesVaultRestoreTask.DeletedMessagesVaultRestoreTaskDTO dto) {
-            User userToRestore = User.fromUsername(dto.userToRestore);
-            Query query = queryTranslator.translate(dto.query);
-            return new DeletedMessagesVaultRestoreTask(restoreService, 
userToRestore, query);
-        }
-
-        public 
DeletedMessagesVaultRestoreTask.DeletedMessagesVaultRestoreTaskDTO 
createDTO(DeletedMessagesVaultRestoreTask task, String type) {
-            return new 
DeletedMessagesVaultRestoreTask.DeletedMessagesVaultRestoreTaskDTO(type, 
task.userToRestore.asString(), queryTranslator.toDTO(task.query));
-        }
-    }
-
     public static class AdditionalInformation implements 
TaskExecutionDetails.AdditionalInformation {
         private final User user;
         private final AtomicLong successfulRestoreCount;
@@ -195,4 +127,8 @@ class DeletedMessagesVaultRestoreTask implements Task {
     public Optional<TaskExecutionDetails.AdditionalInformation> details() {
         return Optional.of(additionalInformation);
     }
+
+    User getUserToRestore() {
+        return userToRestore;
+    }
 }
diff --git 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskDTO.java
 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskDTO.java
new file mode 100644
index 0000000..2b13f11
--- /dev/null
+++ 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/main/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskDTO.java
@@ -0,0 +1,95 @@
+/**
+ * *************************************************************
+ * 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.james.webadmin.vault.routes;
+
+import java.util.function.Function;
+
+import javax.inject.Inject;
+
+import org.apache.james.core.User;
+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 org.apache.james.vault.dto.query.QueryDTO;
+import org.apache.james.vault.dto.query.QueryTranslator;
+import org.apache.james.vault.search.Query;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class DeletedMessagesVaultRestoreTaskDTO implements TaskDTO {
+
+    public static class Factory {
+
+        private final RestoreService restoreService;
+        private final QueryTranslator queryTranslator;
+
+        @Inject
+        public Factory(RestoreService restoreService, QueryTranslator 
queryTranslator) {
+            this.restoreService = restoreService;
+            this.queryTranslator = queryTranslator;
+        }
+
+        public DeletedMessagesVaultRestoreTask 
create(DeletedMessagesVaultRestoreTaskDTO dto) {
+            User userToRestore = User.fromUsername(dto.userToRestore);
+            Query query = queryTranslator.translate(dto.query);
+            return new DeletedMessagesVaultRestoreTask(restoreService, 
userToRestore, query);
+        }
+
+        public DeletedMessagesVaultRestoreTaskDTO 
createDTO(DeletedMessagesVaultRestoreTask task, String type) {
+            return new DeletedMessagesVaultRestoreTaskDTO(type, 
task.getUserToRestore().asString(), queryTranslator.toDTO(task.query));
+        }
+    }
+
+    public static final Function<DeletedMessagesVaultRestoreTaskDTO.Factory, 
TaskDTOModule<DeletedMessagesVaultRestoreTask, 
DeletedMessagesVaultRestoreTaskDTO>> MODULE = (factory) ->
+        DTOModule
+            .forDomainObject(DeletedMessagesVaultRestoreTask.class)
+            .convertToDTO(DeletedMessagesVaultRestoreTaskDTO.class)
+            .toDomainObjectConverter(factory::create)
+            .toDTOConverter(factory::createDTO)
+            .typeName(DeletedMessagesVaultRestoreTask.TYPE.asString())
+            .withFactory(TaskDTOModule::new);
+
+
+    private final String type;
+    private final String userToRestore;
+    private final QueryDTO query;
+
+    public DeletedMessagesVaultRestoreTaskDTO(@JsonProperty("type") String 
type,
+                                              @JsonProperty("userToRestore") 
String userToRestore,
+                                              @JsonProperty("query") QueryDTO 
query) {
+        this.type = type;
+        this.userToRestore = userToRestore;
+        this.query = query;
+    }
+
+    public String getUserToRestore() {
+        return userToRestore;
+    }
+
+    public QueryDTO getQuery() {
+        return query;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+}
diff --git 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskSerializationTest.java
 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskSerializationTest.java
index 48a82ec..d2bb22e 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskSerializationTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRestoreTaskSerializationTest.java
@@ -56,8 +56,8 @@ class DeletedMessagesVaultRestoreTaskSerializationTest {
     @BeforeEach
     void setUp() {
         exportService = mock(RestoreService.class);
-        DeletedMessagesVaultRestoreTask.Factory factory = new 
DeletedMessagesVaultRestoreTask.Factory(exportService, queryTranslator);
-        taskSerializer = new 
JsonTaskSerializer(DeletedMessagesVaultRestoreTask.MODULE.apply(factory));
+        DeletedMessagesVaultRestoreTaskDTO.Factory factory = new 
DeletedMessagesVaultRestoreTaskDTO.Factory(exportService, queryTranslator);
+        taskSerializer = new 
JsonTaskSerializer(DeletedMessagesVaultRestoreTaskDTO.MODULE.apply(factory));
     }
 
     @Test
diff --git 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/WebadminApiQuerySerializationContractTest.java
 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/WebadminApiQuerySerializationContractTest.java
index 967ef88..f2e45d5 100644
--- 
a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/WebadminApiQuerySerializationContractTest.java
+++ 
b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/WebadminApiQuerySerializationContractTest.java
@@ -93,8 +93,8 @@ class WebadminApiQuerySerializationContractTest {
     private final static TestId.Factory mailboxIdFactory = new 
TestId.Factory();
     private final static QueryTranslator queryTranslator = new 
QueryTranslator(mailboxIdFactory);
     private final static RestoreService restoreService = 
Mockito.mock(RestoreService.class);
-    private final static DeletedMessagesVaultRestoreTask.Factory factory = new 
DeletedMessagesVaultRestoreTask.Factory(restoreService, queryTranslator);
-    private final static JsonTaskSerializer taskSerializer = new 
JsonTaskSerializer(DeletedMessagesVaultRestoreTask.MODULE.apply(factory));
+    private final static DeletedMessagesVaultRestoreTaskDTO.Factory factory = 
new DeletedMessagesVaultRestoreTaskDTO.Factory(restoreService, queryTranslator);
+    private final static JsonTaskSerializer taskSerializer = new 
JsonTaskSerializer(DeletedMessagesVaultRestoreTaskDTO.MODULE.apply(factory));
 
     /**
      * Enforce that the format of the query serialized in json in the body of 
the request to the webadmin is stable.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to