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/11/15 02:41:16 UTC
[james-project] 07/30: [Refactoring] AbstractMailboxProcessor
response methods should accept IMAP request
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 f5de467dfa278121c713dd95bf654123993517f3
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Nov 11 12:21:21 2019 +0700
[Refactoring] AbstractMailboxProcessor response methods should accept IMAP request
This limits the count of arguments
---
.../imap/processor/AbstractAuthProcessor.java | 26 ++++++++++------------
.../imap/processor/AbstractMailboxProcessor.java | 24 ++++++++++----------
.../processor/AbstractMessageRangeProcessor.java | 8 +++----
.../imap/processor/AbstractSelectionProcessor.java | 19 ++++++++--------
.../james/imap/processor/AppendProcessor.java | 24 +++++++++-----------
.../imap/processor/AuthenticateProcessor.java | 15 +++++++------
.../james/imap/processor/CapabilityProcessor.java | 2 +-
.../james/imap/processor/CheckProcessor.java | 2 +-
.../james/imap/processor/CloseProcessor.java | 4 ++--
.../james/imap/processor/CreateProcessor.java | 8 +++----
.../james/imap/processor/DeleteACLProcessor.java | 12 +++++-----
.../james/imap/processor/DeleteProcessor.java | 8 +++----
.../james/imap/processor/EnableProcessor.java | 4 ++--
.../james/imap/processor/ExpungeProcessor.java | 10 ++++-----
.../james/imap/processor/GetACLProcessor.java | 14 ++++++------
.../imap/processor/GetAnnotationProcessor.java | 17 +++++++-------
.../james/imap/processor/GetQuotaProcessor.java | 6 ++---
.../imap/processor/GetQuotaRootProcessor.java | 6 ++---
.../apache/james/imap/processor/IdleProcessor.java | 2 +-
.../apache/james/imap/processor/LSubProcessor.java | 4 ++--
.../apache/james/imap/processor/ListProcessor.java | 4 ++--
.../james/imap/processor/ListRightsProcessor.java | 10 ++++-----
.../james/imap/processor/LoginProcessor.java | 4 ++--
.../james/imap/processor/LogoutProcessor.java | 4 ++--
.../james/imap/processor/MyRightsProcessor.java | 8 +++----
.../james/imap/processor/NamespaceProcessor.java | 2 +-
.../apache/james/imap/processor/NoopProcessor.java | 2 +-
.../james/imap/processor/RenameProcessor.java | 10 ++++-----
.../james/imap/processor/SearchProcessor.java | 6 ++---
.../james/imap/processor/SetACLProcessor.java | 12 +++++-----
.../imap/processor/SetAnnotationProcessor.java | 8 +++----
.../james/imap/processor/SetQuotaProcessor.java | 2 +-
.../james/imap/processor/StatusProcessor.java | 5 +++--
.../james/imap/processor/StoreProcessor.java | 8 +++----
.../james/imap/processor/SubscribeProcessor.java | 4 ++--
.../james/imap/processor/UnselectProcessor.java | 4 ++--
.../james/imap/processor/UnsubscribeProcessor.java | 4 ++--
.../james/imap/processor/fetch/FetchProcessor.java | 10 ++++-----
38 files changed, 160 insertions(+), 162 deletions(-)
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
index 58a430b..94ccf20 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
@@ -20,9 +20,7 @@ package org.apache.james.imap.processor;
import java.util.Optional;
-import org.apache.james.imap.api.ImapCommand;
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.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -59,7 +57,7 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
super(acceptableClass, next, mailboxManager, factory, metricFactory);
}
- protected void doAuth(AuthenticationAttempt authenticationAttempt, ImapSession session, Tag tag, ImapCommand command, Responder responder, HumanReadableText failed) {
+ protected void doAuth(AuthenticationAttempt authenticationAttempt, ImapSession session, ImapRequest request, Responder responder, HumanReadableText failed) {
Preconditions.checkArgument(!authenticationAttempt.isDelegation());
try {
boolean authFailure = false;
@@ -74,21 +72,21 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
session.authenticated();
session.setAttribute(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY, mailboxSession);
provisionInbox(session, mailboxManager, mailboxSession);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (BadCredentialsException e) {
authFailure = true;
}
}
if (authFailure) {
- manageFailureCount(session, tag, command, responder, failed);
+ manageFailureCount(session, request, responder, failed);
}
} catch (MailboxException e) {
LOGGER.error("Error encountered while login", e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
- protected void doAuthWithDelegation(AuthenticationAttempt authenticationAttempt, ImapSession session, Tag tag, ImapCommand command, Responder responder, HumanReadableText failed) {
+ protected void doAuthWithDelegation(AuthenticationAttempt authenticationAttempt, ImapSession session, ImapRequest request, Responder responder, HumanReadableText failed) {
Preconditions.checkArgument(authenticationAttempt.isDelegation());
try {
boolean authFailure = false;
@@ -104,23 +102,23 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
session.authenticated();
session.setAttribute(ImapSessionUtils.MAILBOX_SESSION_ATTRIBUTE_SESSION_KEY, mailboxSession);
provisionInbox(session, mailboxManager, mailboxSession);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (BadCredentialsException e) {
authFailure = true;
}
}
if (authFailure) {
- manageFailureCount(session, tag, command, responder, failed);
+ manageFailureCount(session, request, responder, failed);
}
} catch (UserDoesNotExistException e) {
LOGGER.info("User {} does not exist", authenticationAttempt.getAuthenticationId(), e);
- no(command, tag, responder, HumanReadableText.USER_DOES_NOT_EXIST);
+ no(request, responder, HumanReadableText.USER_DOES_NOT_EXIST);
} catch (NotAdminException e) {
LOGGER.info("User {} is not an admin", authenticationAttempt.getDelegateUserName(), e);
- no(command, tag, responder, HumanReadableText.NOT_AN_ADMIN);
+ no(request, responder, HumanReadableText.NOT_AN_ADMIN);
} catch (MailboxException e) {
LOGGER.info("Login failed", e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
@@ -139,7 +137,7 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
}
}
- protected void manageFailureCount(ImapSession session, Tag tag, ImapCommand command, Responder responder, HumanReadableText failed) {
+ protected void manageFailureCount(ImapSession session, ImapRequest request, Responder responder, HumanReadableText failed) {
final Integer currentNumberOfFailures = (Integer) session.getAttribute(ATTRIBUTE_NUMBER_OF_FAILURES);
final int failures;
if (currentNumberOfFailures == null) {
@@ -149,7 +147,7 @@ public abstract class AbstractAuthProcessor<M extends ImapRequest> extends Abstr
}
if (failures < MAX_FAILURES) {
session.setAttribute(ATTRIBUTE_NUMBER_OF_FAILURES, failures);
- no(command, tag, responder, failed);
+ no(request, responder, failed);
} else {
LOGGER.info("Too many authentication failures. Closing connection.");
bye(responder, HumanReadableText.TOO_MANY_FAILURES);
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 9134494..ffd20e6 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
@@ -115,10 +115,10 @@ public abstract class AbstractMailboxProcessor<M extends ImapRequest> extends Ab
}
} catch (DeniedAccessOnSharedMailboxException e) {
- no(command, tag, responder, HumanReadableText.DENIED_SHARED_MAILBOX);
+ no(message, responder, HumanReadableText.DENIED_SHARED_MAILBOX);
} catch (Exception unexpectedException) {
LOGGER.error("Unexpected error during IMAP processing", unexpectedException);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
@@ -334,28 +334,28 @@ public abstract class AbstractMailboxProcessor<M extends ImapRequest> extends Ab
responder.respond(response);
}
- protected void okComplete(ImapCommand command, Tag tag, ImapProcessor.Responder responder) {
- final StatusResponse response = factory.taggedOk(tag, command, HumanReadableText.COMPLETED);
+ protected void okComplete(ImapRequest request, ImapProcessor.Responder responder) {
+ final StatusResponse response = factory.taggedOk(request.getTag(), request.getCommand(), HumanReadableText.COMPLETED);
responder.respond(response);
}
- protected void okComplete(ImapCommand command, Tag tag, ResponseCode code, ImapProcessor.Responder responder) {
- final StatusResponse response = factory.taggedOk(tag, command, HumanReadableText.COMPLETED, code);
+ protected void okComplete(ImapRequest request, ResponseCode code, ImapProcessor.Responder responder) {
+ final StatusResponse response = factory.taggedOk(request.getTag(), request.getCommand(), HumanReadableText.COMPLETED, code);
responder.respond(response);
}
- protected void no(ImapCommand command, Tag tag, ImapProcessor.Responder responder, HumanReadableText displayTextKey) {
- final StatusResponse response = factory.taggedNo(tag, command, displayTextKey);
+ protected void no(ImapRequest request, ImapProcessor.Responder responder, HumanReadableText displayTextKey) {
+ StatusResponse response = factory.taggedNo(request.getTag(), request.getCommand(), displayTextKey);
responder.respond(response);
}
- protected void no(ImapCommand command, Tag tag, ImapProcessor.Responder responder, HumanReadableText displayTextKey, StatusResponse.ResponseCode responseCode) {
- final StatusResponse response = factory.taggedNo(tag, command, displayTextKey, responseCode);
+ protected void no(ImapRequest request, ImapProcessor.Responder responder, HumanReadableText displayTextKey, StatusResponse.ResponseCode responseCode) {
+ StatusResponse response = factory.taggedNo(request.getTag(), request.getCommand(), displayTextKey, responseCode);
responder.respond(response);
}
- protected void taggedBad(ImapCommand command, Tag tag, ImapProcessor.Responder responder, HumanReadableText e) {
- StatusResponse response = factory.taggedBad(tag, command, e);
+ protected void taggedBad(ImapRequest request, ImapProcessor.Responder responder, HumanReadableText e) {
+ StatusResponse response = factory.taggedBad(request.getTag(), request.getCommand(), e);
responder.respond(response);
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
index 919999e..c95afcf 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMessageRangeProcessor.java
@@ -73,7 +73,7 @@ public abstract class AbstractMessageRangeProcessor<M extends AbstractMessageRan
final boolean mailboxExists = mailboxManager.mailboxExists(targetMailbox, mailboxSession);
if (!mailboxExists) {
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
+ no(request, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
} else {
final MessageManager mailbox = mailboxManager.getMailbox(targetMailbox, mailboxSession);
@@ -104,16 +104,16 @@ public abstract class AbstractMessageRangeProcessor<M extends AbstractMessageRan
Long uidValidity = mailbox.getMetaData(false, mailboxSession, MessageManager.MetaData.FetchGroup.NO_UNSEEN).getUidValidity();
unsolicitedResponses(session, responder, useUids);
- okComplete(command, tag, StatusResponse.ResponseCode.copyUid(uidValidity, idSet, resultUids), responder);
+ okComplete(request, StatusResponse.ResponseCode.copyUid(uidValidity, idSet, resultUids), responder);
}
} catch (MessageRangeException e) {
LOGGER.debug("{} failed from mailbox {} to {} for invalid sequence-set {}",
getOperationName(), currentMailbox.getMailboxId(), targetMailbox, idSet, e);
- taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET);
+ taggedBad(request, responder, HumanReadableText.INVALID_MESSAGESET);
} catch (MailboxException e) {
LOGGER.error("{} failed from mailbox {} to {} for sequence-set {}",
getOperationName(), currentMailbox.getMailboxId(), targetMailbox, idSet, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index af7d916..7f23302 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -30,6 +30,7 @@ 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;
+import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponse;
import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -83,7 +84,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
try {
final MailboxPath fullMailboxPath = PathConverter.forSession(session).buildFullPath(mailboxName);
- respond(tag, command, session, fullMailboxPath, request, responder);
+ respond(session, fullMailboxPath, request, responder);
} catch (MailboxNotFoundException e) {
@@ -91,11 +92,11 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
responder.respond(statusResponseFactory.taggedNo(tag, command, HumanReadableText.FAILURE_NO_SUCH_MAILBOX));
} catch (MailboxException e) {
LOGGER.error("Select failed for mailbox {}", mailboxName, e);
- no(command, tag, responder, HumanReadableText.SELECT);
+ no(request, responder, HumanReadableText.SELECT);
}
}
- private void respond(Tag tag, ImapCommand command, ImapSession session, MailboxPath fullMailboxPath, AbstractMailboxSelectionRequest request, Responder responder) throws MailboxException, MessageRangeException {
+ private void respond(ImapSession session, MailboxPath fullMailboxPath, AbstractMailboxSelectionRequest request, Responder responder) throws MailboxException, MessageRangeException {
Long lastKnownUidValidity = request.getLastKnownUidValidity();
Long modSeq = request.getKnownModSeq();
@@ -112,7 +113,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
// and the client hasn't issued "ENABLE QRESYNC" in the current
// connection.
if (lastKnownUidValidity != null && !EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC)) {
- taggedBad(command, tag, responder, HumanReadableText.QRESYNC_NOT_ENABLED);
+ taggedBad(request, responder, HumanReadableText.QRESYNC_NOT_ENABLED);
return;
}
@@ -299,13 +300,13 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
//
respondVanished(mailboxSession, mailbox, ranges, modSeq, metaData, responder);
}
- taggedOk(responder, tag, command, metaData, HumanReadableText.SELECT);
+ taggedOk(responder, request, metaData, HumanReadableText.SELECT);
} else {
- taggedOk(responder, tag, command, metaData, HumanReadableText.QRESYNC_UIDVALIDITY_MISMATCH);
+ taggedOk(responder, request, metaData, HumanReadableText.QRESYNC_UIDVALIDITY_MISMATCH);
}
} else {
- taggedOk(responder, tag, command, metaData, HumanReadableText.SELECT);
+ taggedOk(responder, request, metaData, HumanReadableText.SELECT);
}
// Reset the saved sequence-set after successful SELECT / EXAMINE
@@ -332,7 +333,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
responder.respond(untaggedOk);
}
- private void taggedOk(Responder responder, Tag tag, ImapCommand command, MetaData metaData, HumanReadableText text) {
+ private void taggedOk(Responder responder, ImapRequest request, MetaData metaData, HumanReadableText text) {
final boolean writeable = metaData.isWriteable() && !openReadOnly;
final ResponseCode code;
if (writeable) {
@@ -340,7 +341,7 @@ abstract class AbstractSelectionProcessor<M extends AbstractMailboxSelectionRequ
} else {
code = ResponseCode.readOnly();
}
- final StatusResponse taggedOk = statusResponseFactory.taggedOk(tag, command, text, code);
+ final StatusResponse taggedOk = statusResponseFactory.taggedOk(request.getTag(), request.getCommand(), text, code);
responder.respond(taggedOk);
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
index ccd6047..316ca10 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
@@ -75,7 +75,7 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
final MailboxManager mailboxManager = getMailboxManager();
final MessageManager mailbox = mailboxManager.getMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session));
- appendToMailbox(messageIn, datetime, flags, session, tag, command, mailbox, responder, mailboxPath);
+ appendToMailbox(messageIn, datetime, flags, session, request, mailbox, responder, mailboxPath);
} catch (MailboxNotFoundException e) {
// consume message on exception
consume(messageIn);
@@ -84,7 +84,7 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
// Indicates that the mailbox does not exist
// So TRY CREATE
- tryCreate(session, tag, command, responder, e);
+ tryCreate(request, responder, e);
} catch (MailboxException e) {
// consume message on exception
@@ -93,7 +93,7 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
LOGGER.error("Append failed for mailbox {}", mailboxPath, e);
// Some other issue
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
@@ -112,24 +112,20 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
/**
* Issues a TRY CREATE response.
*
- * @param session
- * not null
- * @param tag
- * not null
- * @param command
+ * @param request
* not null
* @param responder
* not null
* @param e
* not null
*/
- private void tryCreate(ImapSession session, Tag tag, ImapCommand command, Responder responder, MailboxNotFoundException e) {
+ private void tryCreate(AppendRequest request, Responder responder, MailboxNotFoundException e) {
LOGGER.debug("Cannot open mailbox: ", e);
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
+ no(request, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
}
- private void appendToMailbox(InputStream message, Date datetime, Flags flagsToBeSet, ImapSession session, Tag tag, ImapCommand command, MessageManager mailbox, Responder responder, MailboxPath mailboxPath) {
+ private void appendToMailbox(InputStream message, Date datetime, Flags flagsToBeSet, ImapSession session, AppendRequest request, MessageManager mailbox, Responder responder, MailboxPath mailboxPath) {
try {
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
final SelectedMailbox selectedMailbox = session.getSelected();
@@ -146,15 +142,15 @@ public class AppendProcessor extends AbstractMailboxProcessor<AppendRequest> {
unsolicitedResponses(session, responder, false);
// in case of MULTIAPPEND support we will push more then one UID here
- okComplete(command, tag, ResponseCode.appendUid(uidValidity, new UidRange[] { new UidRange(messageId.getUid()) }), responder);
+ okComplete(request, ResponseCode.appendUid(uidValidity, new UidRange[] { new UidRange(messageId.getUid()) }), responder);
} catch (MailboxNotFoundException e) {
// Indicates that the mailbox does not exist
// So TRY CREATE
- tryCreate(session, tag, command, responder, e);
+ tryCreate(request, responder, e);
} catch (MailboxException e) {
LOGGER.error("Unable to append message to mailbox {}", mailboxPath, e);
// Some other issue
- no(command, tag, responder, HumanReadableText.SAVE_FAILED);
+ no(request, responder, HumanReadableText.SAVE_FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index 2752674..b56fc44 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -29,6 +29,7 @@ import java.util.StringTokenizer;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.Tag;
import org.apache.james.imap.api.display.HumanReadableText;
+import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
@@ -61,18 +62,18 @@ public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateReq
if (authType.equalsIgnoreCase(PLAIN)) {
// See if AUTH=PLAIN is allowed. See IMAP-304
if (session.isPlainAuthDisallowed() && session.isTLSActive() == false) {
- no(command, tag, responder, HumanReadableText.DISABLED_LOGIN);
+ no(request, responder, HumanReadableText.DISABLED_LOGIN);
} else {
if (request instanceof IRAuthenticateRequest) {
IRAuthenticateRequest irRequest = (IRAuthenticateRequest) request;
- doPlainAuth(irRequest.getInitialClientResponse(), session, tag, command, responder);
+ doPlainAuth(irRequest.getInitialClientResponse(), session, request, responder);
} else {
responder.respond(new AuthenticateResponse());
session.pushLineHandler((requestSession, data) -> {
// cut of the CRLF
String initialClientResponse = new String(data, 0, data.length - 2, Charset.forName("US-ASCII"));
- doPlainAuth(initialClientResponse, requestSession, tag, command, responder);
+ doPlainAuth(initialClientResponse, requestSession, request, responder);
// remove the handler now
requestSession.popLineHandler();
@@ -81,19 +82,19 @@ public class AuthenticateProcessor extends AbstractAuthProcessor<AuthenticateReq
}
} else {
LOGGER.debug("Unsupported authentication mechanism '{}'", authType);
- no(command, tag, responder, HumanReadableText.UNSUPPORTED_AUTHENTICATION_MECHANISM);
+ no(request, responder, HumanReadableText.UNSUPPORTED_AUTHENTICATION_MECHANISM);
}
}
/**
* Parse the initialClientResponse and do a PLAIN AUTH with it
*/
- protected void doPlainAuth(String initialClientResponse, ImapSession session, Tag tag, ImapCommand command, Responder responder) {
+ protected void doPlainAuth(String initialClientResponse, ImapSession session, ImapRequest request, Responder responder) {
AuthenticationAttempt authenticationAttempt = parseDelegationAttempt(initialClientResponse);
if (authenticationAttempt.isDelegation()) {
- doAuthWithDelegation(authenticationAttempt, session, tag, command, responder, HumanReadableText.AUTHENTICATION_FAILED);
+ doAuthWithDelegation(authenticationAttempt, session, request, responder, HumanReadableText.AUTHENTICATION_FAILED);
} else {
- doAuth(authenticationAttempt, session, tag, command, responder, HumanReadableText.AUTHENTICATION_FAILED);
+ doAuth(authenticationAttempt, session, request, responder, HumanReadableText.AUTHENTICATION_FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
index 5054009..3642f35 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CapabilityProcessor.java
@@ -84,7 +84,7 @@ public class CapabilityProcessor extends AbstractMailboxProcessor<CapabilityRequ
final CapabilityResponse result = new CapabilityResponse(getSupportedCapabilities(session));
responder.respond(result);
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
}
/**
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
index 12089b6..da80013 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CheckProcessor.java
@@ -41,7 +41,7 @@ public class CheckProcessor extends AbstractMailboxProcessor<CheckRequest> {
@Override
protected void doProcess(CheckRequest message, ImapSession session, Tag tag, ImapCommand command, Responder responder) {
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
index 07cb7d7..110daf5 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
@@ -60,13 +60,13 @@ public class CloseProcessor extends AbstractMailboxProcessor<CloseRequest> {
// Don't send HIGHESTMODSEQ when close. Like correct in the ERRATA of RFC5162
//
// See http://www.rfc-editor.org/errata_search.php?rfc=5162
- okComplete(command, tag, responder);
+ okComplete(message, responder);
}
} catch (MailboxException e) {
LOGGER.error("Close failed for mailbox {}", session.getSelected().getMailboxId(), e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
index 6d77247..c243440 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
@@ -55,16 +55,16 @@ public class CreateProcessor extends AbstractMailboxProcessor<CreateRequest> {
final MailboxManager mailboxManager = getMailboxManager();
mailboxManager.createMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session));
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MailboxExistsException e) {
LOGGER.debug("Create failed for mailbox {} as it already exists", mailboxPath, e);
- no(command, tag, responder, HumanReadableText.MAILBOX_EXISTS);
+ no(request, responder, HumanReadableText.MAILBOX_EXISTS);
} catch (TooLongMailboxNameException e) {
LOGGER.debug("The mailbox name length is over limit: {}", mailboxPath.getName(), e);
- taggedBad(command, tag, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
+ taggedBad(request, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
} catch (MailboxException e) {
LOGGER.error("Create failed for mailbox {}", mailboxPath, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
index 04ff93e..8a631c2 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteACLProcessor.java
@@ -83,7 +83,7 @@ public class DeleteACLProcessor extends AbstractMailboxProcessor<DeleteACLReques
* existence information, much less the mailbox’s ACL.
*/
if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Lookup, mailboxSession)) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} else if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Administer, mailboxSession)) {
/* RFC 4314 section 4. */
Object[] params = new Object[] {
@@ -92,7 +92,7 @@ public class DeleteACLProcessor extends AbstractMailboxProcessor<DeleteACLReques
mailboxName
};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, text);
+ no(message, responder, text);
} else {
EntryKey key = EntryKey.deserialize(identifier);
@@ -113,7 +113,7 @@ public class DeleteACLProcessor extends AbstractMailboxProcessor<DeleteACLReques
mailboxSession
);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
// FIXME should we send unsolicited responses here?
// unsolicitedResponses(session, responder, false);
}
@@ -126,12 +126,12 @@ public class DeleteACLProcessor extends AbstractMailboxProcessor<DeleteACLReques
* */
Object[] params = new Object[] {e.getUnsupportedRight()};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUPPORTED_RIGHT_KEY, HumanReadableText.UNSUPPORTED_RIGHT_DEFAULT_VALUE, params);
- taggedBad(command, tag, responder, text);
+ taggedBad(message, responder, text);
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
index a80c1ff..d15eb6a 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
@@ -61,16 +61,16 @@ public class DeleteProcessor extends AbstractMailboxProcessor<DeleteRequest> {
final MailboxManager mailboxManager = getMailboxManager();
mailboxManager.deleteMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session));
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MailboxNotFoundException e) {
LOGGER.debug("Delete failed for mailbox {} as it doesn't exist", mailboxPath, e);
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
+ no(request, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
} catch (TooLongMailboxNameException e) {
LOGGER.debug("The mailbox name length is over limit: {}", mailboxPath.getName(), e);
- taggedBad(command, tag, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
+ taggedBad(request, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
} catch (MailboxException e) {
LOGGER.error("Delete failed for mailbox {}", mailboxPath, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
index 98c283c..f653a05 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/EnableProcessor.java
@@ -77,10 +77,10 @@ public class EnableProcessor extends AbstractMailboxProcessor<EnableRequest> imp
responder.respond(new EnableResponse(enabledCaps));
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (EnableException e) {
LOGGER.info("Unable to enable extension", e);
- taggedBad(command, tag, responder, HumanReadableText.FAILED);
+ taggedBad(request, responder, HumanReadableText.FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
index 1f1e6b7..7d50868 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
@@ -71,7 +71,7 @@ public class ExpungeProcessor extends AbstractMailboxProcessor<ExpungeRequest> i
MetaData mdata = mailbox.getMetaData(false, mailboxSession, FetchGroup.NO_COUNT);
if (!mdata.isWriteable()) {
- no(command, tag, responder, HumanReadableText.MAILBOX_IS_READ_ONLY);
+ no(request, responder, HumanReadableText.MAILBOX_IS_READ_ONLY);
} else {
IdRange[] ranges = request.getUidSet();
if (ranges == null) {
@@ -95,17 +95,17 @@ public class ExpungeProcessor extends AbstractMailboxProcessor<ExpungeRequest> i
//
// See RFC5162 3.3 EXPUNGE Command 3.5. UID EXPUNGE Command
if (EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC) && expunged > 0) {
- okComplete(command, tag, ResponseCode.highestModSeq(mdata.getHighestModSeq()), responder);
+ okComplete(request, ResponseCode.highestModSeq(mdata.getHighestModSeq()), responder);
} else {
- okComplete(command, tag, responder);
+ okComplete(request, responder);
}
}
} catch (MessageRangeException e) {
LOGGER.debug("Expunge failed", e);
- taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET);
+ taggedBad(request, responder, HumanReadableText.INVALID_MESSAGESET);
} catch (MailboxException e) {
LOGGER.error("Expunge failed for mailbox {}", session.getSelected().getMailboxId(), e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
index abdfeb7..ce61b5c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetACLProcessor.java
@@ -84,29 +84,29 @@ public class GetACLProcessor extends AbstractMailboxProcessor<GetACLRequest> imp
* existence information, much less the mailbox’s ACL.
*/
if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Lookup, mailboxSession)) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} else if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Administer, mailboxSession)) {
/* RFC 4314 section 4. */
Object[] params = new Object[] {
MailboxACL.Right.Administer.toString(),
- command.getName(),
+ message.getCommand().getName(),
mailboxName
};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, text);
+ no(message, responder, text);
} else {
MetaData metaData = messageManager.getMetaData(false, mailboxSession, FetchGroup.NO_COUNT);
ACLResponse aclResponse = new ACLResponse(mailboxName, metaData.getACL());
responder.respond(aclResponse);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
// FIXME should we send unsolicited responses here?
// unsolicitedResponses(session, responder, false);
}
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
- LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ LOGGER.error("{} failed for mailbox {}", message.getCommand().getName(), mailboxName, e);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
index dcd843d..0cce69e 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
@@ -32,6 +32,7 @@ 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.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
@@ -72,17 +73,17 @@ public class GetAnnotationProcessor extends AbstractMailboxProcessor<GetAnnotati
protected void doProcess(GetAnnotationRequest message, ImapSession session, Tag tag, ImapCommand command,
Responder responder) {
try {
- proceed(message, session, tag, command, responder);
+ proceed(message, session, responder);
} catch (MailboxNotFoundException e) {
LOGGER.info("The command: {} is failed because not found mailbox {}", command.getName(), message.getMailboxName());
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, ResponseCode.tryCreate());
+ no(message, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, ResponseCode.tryCreate());
} catch (MailboxException e) {
LOGGER.error("GetAnnotation on mailbox {} failed for user {}", message.getMailboxName(), ImapSessionUtils.getUserName(session), e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
- private void proceed(GetAnnotationRequest message, ImapSession session, Tag tag, ImapCommand command, Responder responder) throws MailboxException {
+ private void proceed(GetAnnotationRequest message, ImapSession session, Responder responder) throws MailboxException {
String mailboxName = message.getMailboxName();
Optional<Integer> maxsize = message.getMaxsize();
MailboxPath mailboxPath = PathConverter.forSession(session).buildFullPath(mailboxName);
@@ -90,17 +91,17 @@ public class GetAnnotationProcessor extends AbstractMailboxProcessor<GetAnnotati
List<MailboxAnnotation> mailboxAnnotations = getMailboxAnnotations(session, message.getKeys(), message.getDepth(), mailboxPath);
Optional<Integer> maximumOversizedSize = getMaxSizeValue(mailboxAnnotations, maxsize);
- respond(tag, command, responder, mailboxName, mailboxAnnotations, maxsize, maximumOversizedSize);
+ respond(message, responder, mailboxName, mailboxAnnotations, maxsize, maximumOversizedSize);
}
- private void respond(Tag tag, ImapCommand command, Responder responder, String mailboxName,
+ private void respond(ImapRequest request, Responder responder, String mailboxName,
List<MailboxAnnotation> mailboxAnnotations, Optional<Integer> maxsize, Optional<Integer> maximumOversizedSize) {
if (maximumOversizedSize.isPresent()) {
responder.respond(new AnnotationResponse(mailboxName, filterItemsBySize(mailboxAnnotations, maxsize)));
- okComplete(command, tag, ResponseCode.longestMetadataEntry(maximumOversizedSize.get()), responder);
+ okComplete(request, ResponseCode.longestMetadataEntry(maximumOversizedSize.get()), responder);
} else {
responder.respond(new AnnotationResponse(mailboxName, mailboxAnnotations));
- okComplete(command, tag, responder);
+ okComplete(request, responder);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
index 7ee3113..174cdbe 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaProcessor.java
@@ -83,7 +83,7 @@ public class GetQuotaProcessor extends AbstractMailboxProcessor<GetQuotaRequest>
if (storageQuota.getLimit().isLimited()) {
responder.respond(new QuotaResponse(ImapConstants.STORAGE_QUOTA_RESOURCE, quotaRoot.getValue(), storageQuota));
}
- okComplete(command, tag, responder);
+ okComplete(message, responder);
} else {
Object[] params = new Object[]{
MailboxACL.Right.Read.toString(),
@@ -91,10 +91,10 @@ public class GetQuotaProcessor extends AbstractMailboxProcessor<GetQuotaRequest>
"Any mailbox of this user USER"
};
HumanReadableText humanReadableText = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, humanReadableText);
+ no(message, responder, humanReadableText);
}
} catch (MailboxException me) {
- taggedBad(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
+ taggedBad(message, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
index c7a2db2..f38832d 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetQuotaRootProcessor.java
@@ -91,7 +91,7 @@ public class GetQuotaRootProcessor extends AbstractMailboxProcessor<GetQuotaRoot
if (storageQuota.getLimit().isLimited()) {
responder.respond(new QuotaResponse(ImapConstants.STORAGE_QUOTA_RESOURCE, quotaRoot.getValue(), storageQuota));
}
- okComplete(command, tag, responder);
+ okComplete(message, responder);
} else {
Object[] params = new Object[]{
MailboxACL.Right.Read.toString(),
@@ -99,10 +99,10 @@ public class GetQuotaRootProcessor extends AbstractMailboxProcessor<GetQuotaRoot
message.getMailboxName()
};
HumanReadableText humanReadableText = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, humanReadableText);
+ no(message, responder, humanReadableText);
}
} catch (MailboxException me) {
- taggedBad(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
+ taggedBad(message, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
index a26dde5..1c0843f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/IdleProcessor.java
@@ -115,7 +115,7 @@ public class IdleProcessor extends AbstractMailboxProcessor<IdleRequest> impleme
StatusResponse response = getStatusResponseFactory().taggedBad(tag, command, HumanReadableText.INVALID_COMMAND);
responder.respond(response);
} else {
- okComplete(command, tag, responder);
+ okComplete(message, responder);
}
idleActive.set(false);
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
index 6a138c7..ef7f299 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
@@ -61,10 +61,10 @@ public class LSubProcessor extends AbstractSubscriptionProcessor<LsubRequest> {
try {
listSubscriptions(session, responder, referenceName, mailboxPattern);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MailboxException e) {
LOGGER.error("LSub failed for reference {} and pattern {}", referenceName, mailboxPattern, e);
- no(command, tag, responder, HumanReadableText.GENERIC_LSUB_FAILURE);
+ no(request, responder, HumanReadableText.GENERIC_LSUB_FAILURE);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
index eb6ad4d..7f05af7 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java
@@ -81,10 +81,10 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
} else {
respondMailboxList(baseReferenceName, mailboxPatternString, session, responder, mailboxSession);
}
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MailboxException e) {
LOGGER.error("List failed for mailboxName {}", mailboxPatternString, e);
- no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
+ no(request, responder, HumanReadableText.SEARCH_FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
index f889fc9..8a6a5cf 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListRightsProcessor.java
@@ -85,7 +85,7 @@ public class ListRightsProcessor extends AbstractMailboxProcessor<ListRightsRequ
* existence information, much less the mailbox’s ACL.
*/
if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Lookup, mailboxSession)) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} else if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Administer, mailboxSession)) {
/* RFC 4314 section 4. */
Object[] params = new Object[] {
@@ -94,7 +94,7 @@ public class ListRightsProcessor extends AbstractMailboxProcessor<ListRightsRequ
mailboxName
};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, text);
+ no(message, responder, text);
} else {
EntryKey key = EntryKey.deserialize(identifier);
@@ -112,15 +112,15 @@ public class ListRightsProcessor extends AbstractMailboxProcessor<ListRightsRequ
Rfc4314Rights[] rights = mailboxManager.listRights(mailboxPath, key, mailboxSession);
ListRightsResponse aclResponse = new ListRightsResponse(mailboxName, identifier, rights);
responder.respond(aclResponse);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
// FIXME should we send unsolicited responses here?
// unsolicitedResponses(session, responder, false);
}
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LoginProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LoginProcessor.java
index e7f960b..959fc15 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LoginProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LoginProcessor.java
@@ -52,10 +52,10 @@ public class LoginProcessor extends AbstractAuthProcessor<LoginRequest> implemen
protected void doProcess(LoginRequest request, ImapSession session, Tag tag, ImapCommand command, Responder responder) {
// check if the login is allowed with LOGIN command. See IMAP-304
if (session.isPlainAuthDisallowed() && session.isTLSActive() == false) {
- no(command, tag, responder, HumanReadableText.DISABLED_LOGIN);
+ no(request, responder, HumanReadableText.DISABLED_LOGIN);
} else {
doAuth(noDelegation(request.getUserid(), request.getPassword()),
- session, tag, command, responder, HumanReadableText.INVALID_LOGIN);
+ session, request, responder, HumanReadableText.INVALID_LOGIN);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
index 8fcc486..b0bd7ce 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
@@ -52,10 +52,10 @@ public class LogoutProcessor extends AbstractMailboxProcessor<LogoutRequest> {
getMailboxManager().logout(mailboxSession, false);
session.logout();
bye(responder);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MailboxException e) {
LOGGER.error("Logout failed for user {}", mailboxSession.getUser().asString(), e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
index 3eedf3b..01ecf51 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/MyRightsProcessor.java
@@ -91,19 +91,19 @@ public class MyRightsProcessor extends AbstractMailboxProcessor<MyRightsRequest>
&& !myRights.contains(MailboxACL.Right.CreateMailbox)
&& !myRights.contains(MailboxACL.Right.DeleteMailbox)
&& !myRights.contains(MailboxACL.Right.Administer)) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} else {
MyRightsResponse myRightsResponse = new MyRightsResponse(mailboxName, myRights);
responder.respond(myRightsResponse);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
// FIXME should we send unsolicited responses here?
// unsolicitedResponses(session, responder, false);
}
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
index 30cac09..6c6457a 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
@@ -61,7 +61,7 @@ public class NamespaceProcessor extends AbstractMailboxProcessor<NamespaceReques
final NamespaceResponse response = new NamespaceResponse(personalNamespaces, otherUsersNamespaces, sharedNamespaces);
responder.respond(response);
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
}
/**
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/NoopProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/NoopProcessor.java
index ff8b404..b5e4ad4 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/NoopProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/NoopProcessor.java
@@ -42,7 +42,7 @@ public class NoopProcessor extends AbstractMailboxProcessor<NoopRequest> {
protected void doProcess(NoopRequest message, ImapSession session, Tag tag, ImapCommand command, Responder responder) {
// So, unsolicated responses are returned to check for new mail
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
index 62c932c..7b41df6 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
@@ -64,20 +64,20 @@ public class RenameProcessor extends AbstractMailboxProcessor<RenameRequest> {
if (existingPath.getName().equalsIgnoreCase(ImapConstants.INBOX_NAME) && !mailboxManager.mailboxExists(existingPath, mailboxsession)) {
mailboxManager.createMailbox(existingPath, mailboxsession);
}
- okComplete(command, tag, responder);
+ okComplete(request, responder);
unsolicitedResponses(session, responder, false);
} catch (MailboxExistsException e) {
LOGGER.debug("Rename from {} to {} failed because the target mailbox exists", existingPath, newPath, e);
- no(command, tag, responder, HumanReadableText.FAILURE_MAILBOX_EXISTS);
+ no(request, responder, HumanReadableText.FAILURE_MAILBOX_EXISTS);
} catch (MailboxNotFoundException e) {
LOGGER.debug("Rename from {} to {} failed because the source mailbox doesn't exist", existingPath, newPath, e);
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(request, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (TooLongMailboxNameException e) {
LOGGER.debug("The mailbox name length is over limit: {}", newPath.getName(), e);
- taggedBad(command, tag, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
+ taggedBad(request, responder, HumanReadableText.FAILURE_MAILBOX_NAME);
} catch (MailboxException e) {
LOGGER.error("Rename from {} to {} failed", existingPath, newPath, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(request, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
index 77a71ad..134218e 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
@@ -186,13 +186,13 @@ public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> imp
boolean omitExpunged = (!useUids);
unsolicitedResponses(session, responder, omitExpunged, useUids);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MessageRangeException e) {
LOGGER.debug("Search failed in mailbox {} because of an invalid sequence-set ", session.getSelected().getMailboxId(), e);
- taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET);
+ taggedBad(request, responder, HumanReadableText.INVALID_MESSAGESET);
} catch (MailboxException e) {
LOGGER.error("Search failed in mailbox {}", session.getSelected().getMailboxId(), e);
- no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
+ no(request, responder, HumanReadableText.SEARCH_FAILED);
if (resultOptions.contains(SearchResultOption.SAVE)) {
// Reset the saved sequence-set on a BAD response if the SAVE option was used.
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
index ec4bdd7..b135f7f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetACLProcessor.java
@@ -102,7 +102,7 @@ public class SetACLProcessor extends AbstractMailboxProcessor<SetACLRequest> imp
* existence information, much less the mailbox’s ACL.
*/
if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Lookup, mailboxSession)) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} else if (!mailboxManager.hasRight(mailboxPath, MailboxACL.Right.Administer, mailboxSession)) {
/* RFC 4314 section 4. */
Object[] params = new Object[] {
@@ -111,7 +111,7 @@ public class SetACLProcessor extends AbstractMailboxProcessor<SetACLRequest> imp
mailboxName
};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, text);
+ no(message, responder, text);
} else {
EntryKey key = EntryKey.deserialize(identifier);
@@ -130,7 +130,7 @@ public class SetACLProcessor extends AbstractMailboxProcessor<SetACLRequest> imp
MailboxACL.command().key(key).mode(editMode).rights(mailboxAclRights).build(),
mailboxSession);
- okComplete(command, tag, responder);
+ okComplete(message, responder);
// FIXME should we send unsolicited responses here?
// unsolicitedResponses(session, responder, false);
}
@@ -143,12 +143,12 @@ public class SetACLProcessor extends AbstractMailboxProcessor<SetACLRequest> imp
* */
Object[] params = new Object[] {e.getUnsupportedRight()};
HumanReadableText text = new HumanReadableText(HumanReadableText.UNSUPPORTED_RIGHT_KEY, HumanReadableText.UNSUPPORTED_RIGHT_DEFAULT_VALUE, params);
- taggedBad(command, tag, responder, text);
+ taggedBad(message, responder, text);
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
+ no(message, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
index 1665e98..6c64145 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetAnnotationProcessor.java
@@ -70,16 +70,16 @@ public class SetAnnotationProcessor extends AbstractMailboxProcessor<SetAnnotati
mailboxManager.updateAnnotations(mailboxPath, mailboxSession, message.getMailboxAnnotations());
- okComplete(command, tag, responder);
+ okComplete(message, responder);
} catch (MailboxNotFoundException e) {
LOGGER.info("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
+ no(message, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX, StatusResponse.ResponseCode.tryCreate());
} catch (AnnotationException e) {
LOGGER.info("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, new HumanReadableText(HumanReadableText.MAILBOX_ANNOTATION_KEY, e.getMessage()));
+ no(message, responder, new HumanReadableText(HumanReadableText.MAILBOX_ANNOTATION_KEY, e.getMessage()));
} catch (MailboxException e) {
LOGGER.error("{} failed for mailbox {}", command.getName(), mailboxName, e);
- no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+ no(message, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetQuotaProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetQuotaProcessor.java
index a871919..f8beffb 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SetQuotaProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SetQuotaProcessor.java
@@ -59,7 +59,7 @@ public class SetQuotaProcessor extends AbstractMailboxProcessor<SetQuotaRequest>
"Can not perform SETQUOTA commands"
};
HumanReadableText humanReadableText = new HumanReadableText(HumanReadableText.UNSUFFICIENT_RIGHTS_KEY, HumanReadableText.UNSUFFICIENT_RIGHTS_DEFAULT_VALUE, params);
- no(command, tag, responder, humanReadableText);
+ no(message, responder, humanReadableText);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
index 0486f36..6191d2c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/StatusProcessor.java
@@ -69,10 +69,11 @@ public class StatusProcessor extends AbstractMailboxProcessor<StatusRequest> {
}
responder.respond(response);
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+
+ okComplete(request, responder);
} catch (MailboxException e) {
LOGGER.error("Status failed for mailbox {}", mailboxPath, e);
- no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
+ no(request, responder, HumanReadableText.SEARCH_FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
index 1e09e48..86c9af3 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/StoreProcessor.java
@@ -92,7 +92,7 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
if (metaData.isModSeqPermanent() == false) {
// Check if the mailbox did not support modsequences. If so return a tagged bad response.
// See RFC4551 3.1.2. NOMODSEQ Response Code
- taggedBad(command, tag, responder, HumanReadableText.NO_MOD_SEQ);
+ taggedBad(request, responder, HumanReadableText.NO_MOD_SEQ);
return;
} else if (unchangedSince == 0) {
Flags.Flag[] systemFlags = flags.getSystemFlags();
@@ -179,7 +179,7 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
// check if we had some failed uids which didn't pass the UNCHANGEDSINCE filter
if (failed.isEmpty() && failedMsns.isEmpty()) {
- okComplete(imapCommand, tag, responder);
+ okComplete(request, responder);
} else {
if (useUids) {
List<MessageRange> ranges = MessageRange.toRanges(failed);
@@ -211,10 +211,10 @@ public class StoreProcessor extends AbstractMailboxProcessor<StoreRequest> {
}
} catch (MessageRangeException e) {
LOGGER.debug("Store failed for mailbox {} because of an invalid sequence-set {}", session.getSelected().getMailboxId(), idSet, e);
- taggedBad(imapCommand, tag, responder, HumanReadableText.INVALID_MESSAGESET);
+ taggedBad(request, responder, HumanReadableText.INVALID_MESSAGESET);
} catch (MailboxException e) {
LOGGER.error("Store failed for mailbox {} and sequence-set {}", session.getSelected().getMailboxId(), idSet, e);
- no(imapCommand, tag, responder, HumanReadableText.SAVE_FAILED);
+ no(request, responder, HumanReadableText.SAVE_FAILED);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
index 7c53735..b4a2797 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
@@ -54,12 +54,12 @@ public class SubscribeProcessor extends AbstractSubscriptionProcessor<SubscribeR
getSubscriptionManager().subscribe(mailboxSession, mailboxName);
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (SubscriptionException e) {
LOGGER.info("Subscribe failed for mailbox {}", mailboxName, e);
unsolicitedResponses(session, responder, false);
- no(command, tag, responder, HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ no(request, responder, HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/UnselectProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/UnselectProcessor.java
index 19dd80e..0edf0e7 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/UnselectProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/UnselectProcessor.java
@@ -52,9 +52,9 @@ public class UnselectProcessor extends AbstractMailboxProcessor<UnselectRequest>
protected void doProcess(UnselectRequest message, ImapSession session, Tag tag, ImapCommand command, Responder responder) {
if (session.getSelected() != null) {
session.deselect();
- okComplete(command, tag, responder);
+ okComplete(message, responder);
} else {
- taggedBad(command, tag, responder, HumanReadableText.UNSELECT);
+ taggedBad(message, responder, HumanReadableText.UNSELECT);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
index 853ff7f..17fdcb4 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
@@ -54,13 +54,13 @@ public class UnsubscribeProcessor extends AbstractSubscriptionProcessor<Unsubscr
getSubscriptionManager().unsubscribe(mailboxSession, mailboxName);
unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (SubscriptionException e) {
LOGGER.info("Unsubscribe failed for mailbox {}", mailboxName, e);
unsolicitedResponses(session, responder, false);
- no(command, tag, responder, HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ no(request, responder, HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
index fa26006..7aeb44d 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
@@ -81,12 +81,12 @@ public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> {
final boolean vanished = fetch.getVanished();
if (vanished && !EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC)) {
- taggedBad(command, tag, responder, HumanReadableText.QRESYNC_NOT_ENABLED);
+ taggedBad(request, responder, HumanReadableText.QRESYNC_NOT_ENABLED);
return;
}
if (vanished && changedSince == -1) {
- taggedBad(command, tag, responder, HumanReadableText.QRESYNC_VANISHED_WITHOUT_CHANGEDSINCE);
+ taggedBad(request, responder, HumanReadableText.QRESYNC_VANISHED_WITHOUT_CHANGEDSINCE);
return;
}
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
@@ -124,13 +124,13 @@ public class FetchProcessor extends AbstractMailboxProcessor<FetchRequest> {
// processor. See IMAP-284
final boolean omitExpunged = (!useUids);
unsolicitedResponses(session, responder, omitExpunged, useUids);
- okComplete(command, tag, responder);
+ okComplete(request, responder);
} catch (MessageRangeException e) {
LOGGER.debug("Fetch failed for mailbox {} because of invalid sequence-set {}", session.getSelected().getMailboxId(), idSet, e);
- taggedBad(command, tag, responder, HumanReadableText.INVALID_MESSAGESET);
+ taggedBad(request, responder, HumanReadableText.INVALID_MESSAGESET);
} catch (MailboxException e) {
LOGGER.error("Fetch failed for mailbox {} and sequence-set {}", session.getSelected().getMailboxId(), idSet, e);
- no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
+ no(request, responder, HumanReadableText.SEARCH_FAILED);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org