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/13 03:07:02 UTC
[james-project] 13/21: [Refactoring] ListProcessor: Avoid passing a
null mailboxTyper around
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 8e831c4498af0fb1b6ece4f09c6d50f8e03b2ad1
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Nov 12 15:58:26 2019 +0700
[Refactoring] ListProcessor: Avoid passing a null mailboxTyper around
---
.../org/apache/james/imap/processor/ListProcessor.java | 18 ++++++------------
.../apache/james/imap/processor/XListProcessor.java | 8 +++++++-
2 files changed, 13 insertions(+), 13 deletions(-)
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 afb4d98..1137c8a 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
@@ -32,7 +32,6 @@ 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;
import org.apache.james.imap.api.process.MailboxType;
-import org.apache.james.imap.api.process.MailboxTyper;
import org.apache.james.imap.main.PathConverter;
import org.apache.james.imap.message.request.ListRequest;
import org.apache.james.imap.message.response.ListResponse;
@@ -61,7 +60,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
protected void doProcess(ListRequest request, ImapSession session, String tag, ImapCommand command, Responder responder) {
String baseReferenceName = request.getBaseReferenceName();
String mailboxPatternString = request.getMailboxPattern();
- doProcess(baseReferenceName, mailboxPatternString, session, tag, command, responder, null);
+ doProcess(baseReferenceName, mailboxPatternString, session, tag, command, responder);
}
protected ImapResponseMessage createResponse(MailboxMetaData.Children children, MailboxMetaData.Selectability selectability, String name, char hierarchyDelimiter, MailboxType type) {
@@ -80,14 +79,14 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
* reference. The value returned as the root MAY be the empty string if the
* reference is non-rooted or is an empty string.
*/
- protected final void doProcess(String referenceName, String mailboxName, ImapSession session, String tag, ImapCommand command, Responder responder, MailboxTyper mailboxTyper) {
+ protected final void doProcess(String referenceName, String mailboxName, ImapSession session, String tag, ImapCommand command, Responder responder) {
String user = ImapSessionUtils.getUserName(session);
MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
try {
if (mailboxName.length() == 0) {
respondNamespace(referenceName, responder, mailboxSession);
} else {
- respondMailboxList(referenceName, mailboxName, session, responder, mailboxTyper, user, mailboxSession);
+ respondMailboxList(referenceName, mailboxName, session, responder, user, mailboxSession);
}
okComplete(command, tag, responder);
} catch (MailboxException e) {
@@ -125,7 +124,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
}
}
- private void respondMailboxList(String referenceName, String mailboxName, ImapSession session, Responder responder, MailboxTyper mailboxTyper, String user, MailboxSession mailboxSession) throws MailboxException {
+ private void respondMailboxList(String referenceName, String mailboxName, ImapSession session, Responder responder, String user, MailboxSession mailboxSession) throws MailboxException {
// If the mailboxPattern is fully qualified, ignore the
// reference name.
String finalReferencename = referenceName;
@@ -148,7 +147,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
.build(), mailboxSession);
for (MailboxMetaData metaData : results) {
- processResult(responder, isRelative, metaData, getMailboxType(session, mailboxTyper, metaData.getPath()));
+ processResult(responder, isRelative, metaData, getMailboxType(session, metaData.getPath()));
}
}
@@ -180,16 +179,11 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> {
*
* @param session
* current imap session
- * @param mailboxTyper
- * provided MailboxTyper used to retrieve mailbox type
* @param path
* mailbox's path
* @return MailboxType value
*/
- private MailboxType getMailboxType(ImapSession session, MailboxTyper mailboxTyper, MailboxPath path) {
- if (mailboxTyper != null) {
- return mailboxTyper.getMailboxType(session, path);
- }
+ protected MailboxType getMailboxType(ImapSession session, MailboxPath path) {
return MailboxType.OTHER;
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/XListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/XListProcessor.java
index a30281c..45d7e29 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/processor/XListProcessor.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/XListProcessor.java
@@ -36,6 +36,7 @@ import org.apache.james.imap.message.request.XListRequest;
import org.apache.james.imap.message.response.XListResponse;
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.model.MailboxMetaData;
+import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.metrics.api.MetricFactory;
import com.google.common.collect.ImmutableList;
@@ -75,11 +76,16 @@ public class XListProcessor extends ListProcessor implements CapabilityImplement
final XListRequest request = (XListRequest) message;
final String baseReferenceName = request.getBaseReferenceName();
final String mailboxPatternString = request.getMailboxPattern();
- doProcess(baseReferenceName, mailboxPatternString, session, tag, command, responder, mailboxTyper);
+ doProcess(baseReferenceName, mailboxPatternString, session, tag, command, responder);
}
@Override
protected ImapResponseMessage createResponse(MailboxMetaData.Children children, MailboxMetaData.Selectability selectability, String name, char hierarchyDelimiter, MailboxType type) {
return new XListResponse(children, selectability, name, hierarchyDelimiter, type);
}
+
+ @Override
+ protected MailboxType getMailboxType(ImapSession session, MailboxPath path) {
+ return mailboxTyper.getMailboxType(session, path);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org