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 ad...@apache.org on 2017/11/16 13:20:34 UTC
[7/8] james-project git commit: JAMES-2219 Do only one store read
when resolving parent path
JAMES-2219 Do only one store read when resolving parent path
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/35663c29
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/35663c29
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/35663c29
Branch: refs/heads/master
Commit: 35663c29b523babc1ad96639644df8235694f4bc
Parents: 9c14a96
Author: benwa <bt...@linagora.com>
Authored: Thu Nov 16 10:18:56 2017 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Thu Nov 16 14:19:17 2017 +0100
----------------------------------------------------------------------
.../jmap/methods/SetMailboxesCreationProcessor.java | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/35663c29/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
----------------------------------------------------------------------
diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
index 39695b1..4dfa901 100644
--- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
+++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java
@@ -51,6 +51,7 @@ import org.apache.james.mailbox.model.MailboxId.Factory;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
+import org.apache.james.util.OptionalUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -189,15 +190,15 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor {
}
private MailboxPath getMailboxPath(Map<MailboxCreationId, MailboxId> creationIdsToCreatedMailboxId, MailboxSession mailboxSession, MailboxCreationId parentId) throws MailboxException {
- Optional<MailboxId> mailboxId = getMailboxIdFromCreationId(parentId);
- Optional<MailboxId> mailboxIdFromCreationId = Optional.ofNullable(creationIdsToCreatedMailboxId.get(parentId));
+ Optional<MailboxId> mailboxId = OptionalUtils.or(
+ readCreationIdAsMailboxId(parentId),
+ Optional.ofNullable(creationIdsToCreatedMailboxId.get(parentId)));
return getMailboxPathFromId(mailboxId, mailboxSession)
- .orElseGet(() -> getMailboxPathFromId(mailboxIdFromCreationId, mailboxSession)
- .orElseThrow(() -> new MailboxParentNotFoundException(parentId)));
+ .orElseThrow(() -> new MailboxParentNotFoundException(parentId));
}
- private Optional<MailboxId> getMailboxIdFromCreationId(MailboxCreationId creationId) {
+ private Optional<MailboxId> readCreationIdAsMailboxId(MailboxCreationId creationId) {
try {
return Optional.of(mailboxIdFactory.fromString(creationId.getCreationId()));
} catch (Exception e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org