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 2019/12/13 02:39:31 UTC

[james-project] 15/27: PROTOCOLS-120 Simplify branching logic in IMAP command parsers

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 e624fcd016db8ae4a008e8be4830f093a8ddc957
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Dec 9 10:24:21 2019 +0700

    PROTOCOLS-120 Simplify branching logic in IMAP command parsers
---
 .../imap/decode/base/AbstractImapCommandParser.java   | 13 ++++++-------
 .../james/imap/decode/main/DefaultImapDecoder.java    | 19 ++++++++-----------
 2 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/base/AbstractImapCommandParser.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/base/AbstractImapCommandParser.java
index 46466f5..0e17dc2 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/base/AbstractImapCommandParser.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/base/AbstractImapCommandParser.java
@@ -64,13 +64,12 @@ public abstract class AbstractImapCommandParser implements ImapCommandParser {
     public final ImapMessage parse(ImapRequestLineReader request, Tag tag, ImapSession session) {
         if (!command.validForState(session.getState())) {
             return statusResponseFactory.taggedNo(tag, command, HumanReadableText.INVALID_COMMAND);
-        } else {
-            try {
-                return decode(command, request, tag, session);
-            } catch (DecodingException e) {
-                LOGGER.debug("Cannot parse protocol ", e);
-                return statusResponseFactory.taggedBad(tag, command, e.getKey());
-            }
+        }
+        try {
+            return decode(command, request, tag, session);
+        } catch (DecodingException e) {
+            LOGGER.debug("Cannot parse protocol ", e);
+            return statusResponseFactory.taggedBad(tag, command, e.getKey());
         }
     }
 
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java
index 296a7c5..cce1b01 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/DefaultImapDecoder.java
@@ -90,14 +90,12 @@ public class DefaultImapDecoder implements ImapDecoder {
             ImapMessage message = responseFactory.bye(HumanReadableText.BYE_UNKNOWN_COMMAND);
             session.logout();
             return message;
-        } else {
-            session.setAttribute(INVALID_COMMAND_COUNT, count);
-            if (tag == null) {
-                return responseFactory.untaggedBad(HumanReadableText.UNKNOWN_COMMAND);
-            } else {
-                return responseFactory.taggedBad(tag, null, HumanReadableText.UNKNOWN_COMMAND);
-            }
         }
+        session.setAttribute(INVALID_COMMAND_COUNT, count);
+        if (tag == null) {
+            return responseFactory.untaggedBad(HumanReadableText.UNKNOWN_COMMAND);
+        }
+        return responseFactory.taggedBad(tag, null, HumanReadableText.UNKNOWN_COMMAND);
     }
 
     private int retrieveUnknownCommandCount(ImapSession session) {
@@ -112,10 +110,9 @@ public class DefaultImapDecoder implements ImapDecoder {
         if (command == null) {
             LOGGER.info("Missing command implementation for commmand {}", commandName);
             return unknownCommand(tag, session);
-        } else {
-            ImapMessage message = command.parse(request, tag, session);
-            session.setAttribute(INVALID_COMMAND_COUNT, 0);
-            return message;
         }
+        ImapMessage message = command.parse(request, tag, session);
+        session.setAttribute(INVALID_COMMAND_COUNT, 0);
+        return message;
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org