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 d091eb37676d61cc7457b7c16aaa9ba1c9fbf4c7 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Nov 11 12:41:54 2019 +0700 [Refactoring] Merge some AbstractMailboxProcessor process methods --- .../imap/processor/AbstractMailboxProcessor.java | 29 ++++++---------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java index 53b114f..e212b26 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java @@ -28,10 +28,8 @@ import java.util.stream.Stream; import javax.mail.Flags; -import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.ImapSessionUtils; -import org.apache.james.imap.api.Tag; import org.apache.james.imap.api.display.HumanReadableText; import org.apache.james.imap.api.message.IdRange; import org.apache.james.imap.api.message.UidRange; @@ -88,41 +86,28 @@ public abstract class AbstractMailboxProcessor<M extends ImapRequest> extends Ab @Override protected final void doProcess(M acceptableMessage, Responder responder, ImapSession session) { - process(acceptableMessage, responder, session); - } - - protected final void process(M message, Responder responder, ImapSession session) { - ImapCommand command = message.getCommand(); - Tag tag = message.getTag(); - - TimeMetric timeMetric = metricFactory.timer(IMAP_PREFIX + command.getName()); - doProcess(message, command, tag, responder, session); - timeMetric.stopAndPublish(); - } - - final void doProcess(M message, ImapCommand command, Tag tag, Responder responder, ImapSession session) { + TimeMetric timeMetric = metricFactory.timer(IMAP_PREFIX + acceptableMessage.getCommand().getName()); try { - if (!command.validForState(session.getState())) { - ImapResponseMessage response = factory.taggedNo(tag, command, HumanReadableText.INVALID_COMMAND); + if (!acceptableMessage.getCommand().validForState(session.getState())) { + ImapResponseMessage response = factory.taggedNo(acceptableMessage.getTag(), acceptableMessage.getCommand(), HumanReadableText.INVALID_COMMAND); responder.respond(response); } else { getMailboxManager().startProcessingRequest(ImapSessionUtils.getMailboxSession(session)); - processMessage(message, session, responder); + processMessage(acceptableMessage, session, responder); getMailboxManager().endProcessingRequest(ImapSessionUtils.getMailboxSession(session)); - } } catch (DeniedAccessOnSharedMailboxException e) { - no(message, responder, HumanReadableText.DENIED_SHARED_MAILBOX); + no(acceptableMessage, responder, HumanReadableText.DENIED_SHARED_MAILBOX); } catch (Exception unexpectedException) { LOGGER.error("Unexpected error during IMAP processing", unexpectedException); - no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING); + no(acceptableMessage, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING); } + timeMetric.stopAndPublish(); } - protected void flags(Responder responder, SelectedMailbox selected) { responder.respond(new FlagsResponse(selected.getApplicableFlags())); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
