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