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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to