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 bea1b9ee9906d47b2f0ca475df680a9d267a7aea
Author: Benoit Tellier <[email protected]>
AuthorDate: Thu Dec 12 08:17:14 2019 +0100

    JAMES-3006 Use Task generator in cassandra alias projection routes
---
 .../webadmin/routes/CassandraMailboxMergingRoutes.java      | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git 
a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMailboxMergingRoutes.java
 
b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMailboxMergingRoutes.java
index 4086076..38c37b5 100644
--- 
a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMailboxMergingRoutes.java
+++ 
b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMailboxMergingRoutes.java
@@ -28,11 +28,12 @@ import org.apache.james.mailbox.cassandra.ids.CassandraId;
 import org.apache.james.mailbox.cassandra.mail.CassandraMailboxCounterDAO;
 import org.apache.james.mailbox.cassandra.mail.task.MailboxMergingTask;
 import org.apache.james.mailbox.cassandra.mail.task.MailboxMergingTaskRunner;
-import org.apache.james.task.TaskId;
+import org.apache.james.task.Task;
 import org.apache.james.task.TaskManager;
 import org.apache.james.webadmin.Routes;
 import org.apache.james.webadmin.dto.MailboxMergingRequest;
 import org.apache.james.webadmin.dto.TaskIdDto;
+import org.apache.james.webadmin.tasks.TaskGenerator;
 import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
@@ -48,7 +49,6 @@ import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import io.swagger.annotations.ResponseHeader;
 import spark.Request;
-import spark.Response;
 import spark.Service;
 
 @Api(tags = "Mailbox merging route for fixing Ghost mailbox bug described in 
MAILBOX-322")
@@ -84,7 +84,8 @@ public class CassandraMailboxMergingRoutes implements Routes {
 
     @Override
     public void define(Service service) {
-        service.post(BASE, this::mergeMailboxes, jsonTransformer);
+        TaskGenerator taskGenerator = this::mergeMailboxes;
+        service.post(BASE, taskGenerator.asRoute(taskManager), 
jsonTransformer);
     }
 
     @POST
@@ -106,15 +107,13 @@ public class CassandraMailboxMergingRoutes implements 
Routes {
             }),
             @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = "Error 
with supplied data (JSON parsing or invalid mailbox ids)")
         })
-    public Object mergeMailboxes(Request request, Response response) throws 
JsonExtractException {
+    public Task mergeMailboxes(Request request) throws JsonExtractException {
         LOGGER.debug("Cassandra upgrade launched");
         MailboxMergingRequest mailboxMergingRequest = 
jsonExtractor.parse(request.body());
         CassandraId originId = 
mailboxIdFactory.fromString(mailboxMergingRequest.getMergeOrigin());
         CassandraId destinationId = 
mailboxIdFactory.fromString(mailboxMergingRequest.getMergeDestination());
 
         long totalMessagesToMove = 
counterDAO.countMessagesInMailbox(originId).defaultIfEmpty(0L).block();
-        MailboxMergingTask task = new 
MailboxMergingTask(mailboxMergingTaskRunner, totalMessagesToMove, originId, 
destinationId);
-        TaskId taskId = taskManager.submit(task);
-        return TaskIdDto.respond(response, taskId);
+        return new MailboxMergingTask(mailboxMergingTaskRunner, 
totalMessagesToMove, originId, destinationId);
     }
 }


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

Reply via email to