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