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 rc...@apache.org on 2019/12/13 06:00:50 UTC

[james-project] 04/04: JAMES-2266 CassandraMailboxMergingRoutes should rely on standard error management

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 <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org