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

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

commit 9791db19d7ad7c2d1c6bb329460b77db6cee4546
Author: Benoit Tellier <[email protected]>
AuthorDate: Wed Dec 11 17:54:54 2019 +0700

    JAMES-2266 CassandraMailboxMergingRoutes should rely on standard error 
management
---
 .../routes/CassandraMailboxMergingRoutes.java      | 36 ++++++----------------
 1 file changed, 9 insertions(+), 27 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 e0019a6..4086076 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
@@ -33,8 +33,6 @@ 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.utils.ErrorResponder;
-import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
@@ -108,31 +106,15 @@ 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) {
-        try {
-            LOGGER.debug("Cassandra upgrade launched");
-            MailboxMergingRequest mailboxMergingRequest = 
jsonExtractor.parse(request.body());
-            CassandraId originId = 
mailboxIdFactory.fromString(mailboxMergingRequest.getMergeOrigin());
-            CassandraId destinationId = 
mailboxIdFactory.fromString(mailboxMergingRequest.getMergeDestination());
+    public Object mergeMailboxes(Request request, Response response) 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);
-        } catch (JsonExtractException e) {
-            throw ErrorResponder.builder()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .type(ErrorType.INVALID_ARGUMENT)
-                .cause(e)
-                .message("Failed to parse JSON request")
-                .haltError();
-        } catch (IllegalArgumentException e) {
-            throw ErrorResponder.builder()
-                .statusCode(HttpStatus.BAD_REQUEST_400)
-                .type(ErrorType.INVALID_ARGUMENT)
-                .cause(e)
-                .message("Invalid mailbox id")
-                .haltError();
-        }
+        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);
     }
 }


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

Reply via email to