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]

Reply via email to