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 bt...@apache.org on 2017/03/22 00:12:35 UTC
[2/7] james-project git commit: JAMES-1968 Improve a bit code in
MailboxMapper
JAMES-1968 Improve a bit code in MailboxMapper
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/01e5e4b1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/01e5e4b1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/01e5e4b1
Branch: refs/heads/master
Commit: 01e5e4b11091afafa1a9d1094348e87de96bc396
Parents: 73c5554
Author: benwa <bt...@linagora.com>
Authored: Thu Mar 16 22:03:27 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Mar 22 07:10:55 2017 +0700
----------------------------------------------------------------------
.../cassandra/mail/CassandraMailboxMapper.java | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/01e5e4b1/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
index f863523..6c0d484 100644
--- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
+++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java
@@ -141,18 +141,13 @@ public class CassandraMailboxMapper implements MailboxMapper {
private CompletableFuture<Boolean> trySave(SimpleMailbox cassandraMailbox, CassandraId cassandraId) {
return mailboxPathDAO.save(cassandraMailbox.generateAssociatedPath(), cassandraId)
- .thenCompose(result -> {
- if (result) {
- return mailboxDAO.retrieveMailbox(cassandraId)
- .thenCompose(optional -> CompletableFuture
- .allOf(optional
- .map(storedMailbox -> mailboxPathDAO.delete(storedMailbox.generateAssociatedPath()))
- .orElse(CompletableFuture.completedFuture(null)),
- mailboxDAO.save(cassandraMailbox))
- .thenApply(any -> result));
- }
- return CompletableFuture.completedFuture(result);
- });
+ .thenCompose(CompletableFutureUtil.composeIfTrue(
+ () -> mailboxDAO.retrieveMailbox(cassandraId)
+ .thenCompose(optional -> CompletableFuture
+ .allOf(optional
+ .map(storedMailbox -> mailboxPathDAO.delete(storedMailbox.generateAssociatedPath()))
+ .orElse(CompletableFuture.completedFuture(null)),
+ mailboxDAO.save(cassandraMailbox)))));
}
private void manageException(CompletionException e) throws MailboxException {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org