This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 1e8480bb0903abca53c57c5839e62e59ab13e0e2 Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Wed Nov 13 11:28:00 2019 +0700 [Refactoring] StatusProcessor: Extract response computation --- .../james/imap/processor/StatusProcessor.java | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java index b0bed8f..84b9a7b 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java @@ -64,29 +64,31 @@ public class StatusProcessor extends AbstractMailboxProcessor<StatusRequest> { MessageManager mailbox = mailboxManager.getMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session)); MessageManager.MetaData.FetchGroup fetchGroup = computeFetchGroup(statusDataItems); MessageManager.MetaData metaData = mailbox.getMetaData(false, mailboxSession, fetchGroup); + MailboxStatusResponse response = computeStatusResponse(request, statusDataItems, metaData); - Long messages = messages(statusDataItems, metaData); - Long recent = recent(statusDataItems, metaData); - MessageUid uidNext = uidNext(statusDataItems, metaData); - Long uidValidity = uidValidity(statusDataItems, metaData); - Long unseen = unseen(statusDataItems, metaData); - Long highestModSeq = highestModSeq(statusDataItems, metaData); - // Enable CONDSTORE as this is a CONDSTORE enabling command - if (highestModSeq != null) { + if (response.getHighestModSeq() != null) { condstoreEnablingCommand(session, responder, metaData, false); } - MailboxStatusResponse response = new MailboxStatusResponse(messages, recent, uidNext, highestModSeq, uidValidity, unseen, request.getMailboxName()); responder.respond(response); unsolicitedResponses(session, responder, false); okComplete(command, tag, responder); - } catch (MailboxException e) { LOGGER.error("Status failed for mailbox {}", mailboxPath, e); no(command, tag, responder, HumanReadableText.SEARCH_FAILED); } } + private MailboxStatusResponse computeStatusResponse(StatusRequest request, StatusDataItems statusDataItems, MessageManager.MetaData metaData) { + Long messages = messages(statusDataItems, metaData); + Long recent = recent(statusDataItems, metaData); + MessageUid uidNext = uidNext(statusDataItems, metaData); + Long uidValidity = uidValidity(statusDataItems, metaData); + Long unseen = unseen(statusDataItems, metaData); + Long highestModSeq = highestModSeq(statusDataItems, metaData); + return new MailboxStatusResponse(messages, recent, uidNext, highestModSeq, uidValidity, unseen, request.getMailboxName()); + } + private MessageManager.MetaData.FetchGroup computeFetchGroup(StatusDataItems statusDataItems) { if (statusDataItems.isUnseen()) { return MessageManager.MetaData.FetchGroup.UNSEEN_COUNT; @@ -111,7 +113,6 @@ public class StatusProcessor extends AbstractMailboxProcessor<StatusRequest> { } } - private Long highestModSeq(StatusDataItems statusDataItems, MessageManager.MetaData metaData) { if (statusDataItems.isHighestModSeq()) { return metaData.getHighestModSeq(); @@ -119,7 +120,6 @@ public class StatusProcessor extends AbstractMailboxProcessor<StatusRequest> { return null; } } - private MessageUid uidNext(StatusDataItems statusDataItems, MessageManager.MetaData metaData) { if (statusDataItems.isUidNext()) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org