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 rd...@apache.org on 2008/03/31 22:25:21 UTC
svn commit: r643130 - in /james/server/trunk:
core-library/src/main/java/org/apache/james/mailboxmanager/
experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/
imap-api/src/main/java/org/apache/james/api/imap...
Author: rdonkin
Date: Mon Mar 31 13:25:17 2008
New Revision: 643130
URL: http://svn.apache.org/viewvc?rev=643130&view=rev
Log:
Replaced exceptions with messages
Modified:
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java
james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Authenticate.test
james/server/trunk/imap-api/src/main/java/org/apache/james/api/imap/display/HumanReadableTextKey.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractImapRequestProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AuthenticateProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CapabilityProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CheckProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CopyProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CreateProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ListProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/NoopProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StatusProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java
james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/UnsubscribeProcessor.java
Modified: james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java
URL: http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java (original)
+++ james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/MessageResultUtils.java Mon Mar 31 13:25:17 2008
@@ -39,7 +39,7 @@
*
* @throws MessagingException
*/
- public static List getAll(final Iterator iterator) throws MessagingException {
+ public static List getAll(final Iterator iterator) {
List results = IteratorUtils.toList(iterator);
return results;
}
Modified: james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Authenticate.test
URL: http://svn.apache.org/viewvc/james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Authenticate.test?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Authenticate.test (original)
+++ james/server/trunk/experimental-seda-imap-function/src/test/resources/org/apache/james/test/functional/imap/scripts/Authenticate.test Mon Mar 31 13:25:17 2008
@@ -18,7 +18,7 @@
################################################################
# Unsupported Authentication mechanism
C: abcd AUTHENTICATE KERBEROS_V4
-S: abcd NO AUTHENTICATE failed. Unsupported authentication mechanism 'KERBEROS_V4'
+S: abcd NO AUTHENTICATE failed. Authentication mechanism is unsupported.
C: abcd AUTHENTICATE
S: abcd BAD Missing argument. Command should be '<tag> AUTHENTICATE <auth_type> \*\(CRLF base64\)'
Modified: james/server/trunk/imap-api/src/main/java/org/apache/james/api/imap/display/HumanReadableTextKey.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-api/src/main/java/org/apache/james/api/imap/display/HumanReadableTextKey.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-api/src/main/java/org/apache/james/api/imap/display/HumanReadableTextKey.java (original)
+++ james/server/trunk/imap-api/src/main/java/org/apache/james/api/imap/display/HumanReadableTextKey.java Mon Mar 31 13:25:17 2008
@@ -54,6 +54,10 @@
= new HumanReadableTextKey("org.apache.james.imap.GENERIC_SUBSCRIPTION_FAILURE",
"Cannot subscribe.");
+ public static final HumanReadableTextKey FAILURE_MAIL_PARSE
+ = new HumanReadableTextKey("org.apache.james.imap.FAILURE_MAIL_PARSE",
+ "failed. Mail cannot be parsed.");
+
public static final HumanReadableTextKey FAILURE_NO_SUCH_MAILBOX
= new HumanReadableTextKey("org.apache.james.imap.FAILURE_NO_SUCH_MAILBOX",
"failed. No such mailbox.");
@@ -74,6 +78,10 @@
public static final HumanReadableTextKey UNSUPPORTED_SEARCH_CRITERIA
= new HumanReadableTextKey("org.apache.james.imap.UNSUPPORTED_CRITERIA",
"failed. One or more search criteria is unsupported.");
+
+ public static final HumanReadableTextKey UNSUPPORTED_AUTHENTICATION_MECHANISM
+ = new HumanReadableTextKey("org.apache.james.imap.UNSUPPORTED_AUTHENTICATION_MECHANISM",
+ "failed. Authentication mechanism is unsupported.");
public static final HumanReadableTextKey BAD_CHARSET
= new HumanReadableTextKey("org.apache.james.imap.BAD_CHARSET",
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractImapRequestProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractImapRequestProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractImapRequestProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/base/AbstractImapRequestProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,11 +21,12 @@
import java.util.Iterator;
import java.util.List;
+import javax.mail.MessagingException;
+
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.ImapResponseMessage;
@@ -34,10 +35,7 @@
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.response.imap4rev1.legacy.CommandFailedResponse;
-import org.apache.james.imap.message.response.imap4rev1.legacy.ErrorResponse;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxExistsException;
-import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxNotFoundException;
abstract public class AbstractImapRequestProcessor extends
@@ -60,39 +58,10 @@
final ImapSession session) {
final ImapCommand command = message.getCommand();
final String tag = message.getTag();
- try {
- doProcess(message, command, tag, responder, session);
- } catch (MailboxException e) {
- no(command, tag, responder, e);
- } catch (AuthorizationException e) {
- no(command, tag, responder, e);
- } catch (ProtocolException e) {
- no(command, tag, responder, e);
- }
+ doProcess(message, command, tag, responder, session);
}
- protected void no(final ImapCommand command, final String tag, final Responder responder, ProtocolException e) {
- final Logger logger = getLogger();
- if (logger != null) {
- logger.debug("error processing command ", e);
- }
- final String msg = e.getMessage() + " Command should be '"
- + command.getExpectedMessage() + "'";
- final ImapResponseMessage response = new ErrorResponse(msg, tag);
- responder.respond(response);
- }
-
- protected void no(final ImapCommand command, final String tag, final Responder responder, AuthorizationException e) {
- final Logger logger = getLogger();
- if (logger != null) {
- logger.debug("error processing command ", e);
- }
- final String msg = "Authorization error: Lacking permissions to perform requested operation.";
- final ImapResponseMessage response = new CommandFailedResponse(command, null, msg, tag);
- responder.respond(response);
- }
-
- protected void no(final ImapCommand command, final String tag, final Responder responder, final MailboxManagerException e) {
+ protected void no(final ImapCommand command, final String tag, final Responder responder, final MessagingException e) {
final Logger logger = getLogger();
final ImapResponseMessage response;
if (e instanceof MailboxExistsException) {
@@ -108,19 +77,8 @@
responder.respond(response);
}
- protected void no(final ImapCommand command, final String tag, final Responder responder, final MailboxException e) {
- final Logger logger = getLogger();
- if (logger != null) {
- logger.debug("error processing command ", e);
- }
- final ImapResponseMessage response = new CommandFailedResponse(command, e.getResponseCode(), e
- .getMessage(), tag);
- responder.respond(response);
- }
-
final void doProcess(final ImapRequest message,
- final ImapCommand command, final String tag, Responder responder, ImapSession session)
- throws MailboxException, AuthorizationException, ProtocolException {
+ final ImapCommand command, final String tag, Responder responder, ImapSession session) {
if (!command.validForState(session.getState())) {
ImapResponseMessage response = new CommandFailedResponse(command,
"Command not valid in this state.", tag);
@@ -175,8 +133,7 @@
}
protected abstract void doProcess(final ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException;
+ ImapSession session, String tag, ImapCommand command, Responder responder);
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AbstractMailboxSelectionProcessor.java Mon Mar 31 13:25:17 2008
@@ -26,7 +26,6 @@
import javax.mail.Flags;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponse;
@@ -40,10 +39,8 @@
import org.apache.james.imap.message.response.imap4rev1.FlagsResponse;
import org.apache.james.imap.message.response.imap4rev1.RecentResponse;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
import org.apache.james.imapserver.processor.base.SelectedMailboxSessionImpl;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxNotFoundException;
import org.apache.james.mailboxmanager.MailboxSession;
@@ -77,16 +74,9 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final AbstractMailboxSelectionRequest request = (AbstractMailboxSelectionRequest) message;
final String mailboxName = request.getMailboxName();
- doProcess(mailboxName, session, tag, command, responder);
- }
-
- protected final void doProcess(String mailboxName, ImapSession session, String tag,
- ImapCommand command, Responder responder) throws MailboxException,
- AuthorizationException, ProtocolException {
try {
final String fullMailboxName = buildFullName(session, mailboxName);
selectMailbox(fullMailboxName, session);
@@ -95,12 +85,12 @@
responder.respond(statusResponseFactory.taggedNo(tag, command,
HumanReadableTextKey.FAILURE_NO_SUCH_MAILBOX));
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
- }
+ no(command, tag, responder, e);
+ }
}
private void respond(String tag, ImapCommand command, ImapSession session,
- Responder responder) throws MailboxException, MailboxManagerException {
+ Responder responder) throws MailboxManagerException {
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
@@ -167,7 +157,7 @@
responder.respond(existsResponse);
}
- private void selectMailbox(String mailboxName, ImapSession session) throws MailboxException, MailboxManagerException {
+ private void selectMailbox(String mailboxName, ImapSession session) throws MailboxManagerException {
final MailboxManager mailboxManager = getMailboxManager(session);
final ImapMailbox mailbox = mailboxManager.getImapMailbox(mailboxName, false);
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AppendProcessor.java Mon Mar 31 13:25:17 2008
@@ -28,7 +28,6 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponse;
@@ -38,9 +37,7 @@
import org.apache.james.api.imap.process.SelectedImapMailbox;
import org.apache.james.imap.message.request.imap4rev1.AppendRequest;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.MessageResult;
@@ -64,31 +61,19 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder){
final AppendRequest request = (AppendRequest) message;
final String mailboxName = request.getMailboxName();
final MimeMessage mimeMessage = request.getMessage();
final Date datetime = request.getDatetime();
- doProcess(mailboxName, mimeMessage,
- datetime, session, tag, command, responder);
- }
-
-
-
- private void doProcess(String mailboxName,
- MimeMessage message, Date datetime, ImapSession session,
- String tag, ImapCommand command, Responder responder) throws MailboxException,
- AuthorizationException, ProtocolException {
-
// TODO: Flags are ignore: check whether the specification says that
// they should be processed
try {
- mailboxName = buildFullName(session, mailboxName);
+ final String fullMailboxName = buildFullName(session, mailboxName);
final MailboxManager mailboxManager = getMailboxManager(session);
- final ImapMailbox mailbox = mailboxManager.getImapMailbox(mailboxName, false);
- appendToMailbox(message, datetime, session, tag, command, mailbox, responder);
+ final ImapMailbox mailbox = mailboxManager.getImapMailbox(fullMailboxName, false);
+ appendToMailbox(mimeMessage, datetime, session, tag, command, mailbox, responder);
} catch (MailboxManagerException mme) {
// Mailbox API does not provide facilities for diagnosing the problem
@@ -110,7 +95,7 @@
private void appendToMailbox(MimeMessage message, Date datetime,
ImapSession session, String tag, ImapCommand command, ImapMailbox mailbox,
- Responder responder) throws MailboxException {
+ Responder responder) {
try {
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
final SelectedImapMailbox selectedMailbox = session.getSelected();
@@ -123,15 +108,14 @@
if (isSelectedMailbox) {
selectedMailbox.addRecent(uid);
}
+ unsolicitedResponses(session, responder, false);
+ okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
// TODO why not TRYCREATE?
- throw new MailboxException(e);
+ no(command, tag, responder, e);
} catch (MessagingException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
-
- unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AuthenticateProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AuthenticateProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AuthenticateProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/AuthenticateProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,17 +21,13 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
+import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
-import org.apache.james.api.imap.message.response.ImapResponseMessage;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.AuthenticateRequest;
-import org.apache.james.imap.message.response.imap4rev1.legacy.CommandFailedResponse;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
-import org.apache.james.imapserver.store.MailboxException;
public class AuthenticateProcessor extends AbstractImapRequestProcessor {
@@ -44,28 +40,11 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final AuthenticateRequest request = (AuthenticateRequest) message;
- final ImapResponseMessage result = doProcess(request, session, tag,
- command);
- responder.respond(result);
- }
-
- private ImapResponseMessage doProcess(AuthenticateRequest request,
- ImapSession session, String tag, ImapCommand command)
- throws MailboxException, AuthorizationException, ProtocolException {
final String authType = request.getAuthType();
- final ImapResponseMessage result = doProcess(authType, session, tag,
- command);
- return result;
+ getLogger().info("Unsupported authentication mechanism '" + authType + "'");
+ no(command, tag, responder, HumanReadableTextKey.UNSUPPORTED_AUTHENTICATION_MECHANISM);
}
- private ImapResponseMessage doProcess(String authType, ImapSession session,
- String tag, ImapCommand command) throws MailboxException,
- AuthorizationException, ProtocolException {
- final CommandFailedResponse result = new CommandFailedResponse(command,
- "Unsupported authentication mechanism '" + authType + "'", tag);
- return result;
- }
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CapabilityProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CapabilityProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CapabilityProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CapabilityProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,19 +21,15 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.ImapResponseMessage;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
-import org.apache.james.api.imap.process.ImapProcessor.Responder;
import org.apache.james.imap.message.request.imap4rev1.CapabilityRequest;
import org.apache.james.imap.message.response.imap4rev1.legacy.CapabilityResponse;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
public class CapabilityProcessor extends AbstractImapRequestProcessor {
@@ -49,8 +45,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final CapabilityRequest request = (CapabilityRequest) message;
final ImapResponseMessage result = doProcess(request, session, tag,
command);
@@ -58,19 +53,10 @@
}
private ImapResponseMessage doProcess(CapabilityRequest request,
- ImapSession session, String tag, ImapCommand command)
- throws MailboxException, AuthorizationException, ProtocolException {
- final ImapResponseMessage result = doProcess(session, tag, command);
- return result;
- }
-
- private ImapResponseMessage doProcess(ImapSession session, String tag,
- ImapCommand command) throws MailboxException,
- AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command) {
// TODO: accurately report the capabilities of the server
final CapabilityResponse result = new CapabilityResponse(command, tag);
ImapSessionUtils.addUnsolicitedResponses(result, session, false);
- ;
return result;
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CheckProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CheckProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CheckProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CheckProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,15 +21,12 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.CheckRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
-import org.apache.james.imapserver.store.MailboxException;
public class CheckProcessor extends AbstractImapRequestProcessor {
@@ -42,8 +39,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CloseProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,16 +21,13 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.CloseRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
@@ -48,25 +45,24 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
if (mailbox.isWriteable()) {
try {
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
mailbox.expunge(GeneralMessageSetImpl.all(),
FetchGroupImpl.MINIMAL, mailboxSession);
+ session.deselect();
+ // TODO: the following comment was present in the code before
+ // refactoring
+ // TODO: doesn't seem to match the implementation
+ // TODO: check that implementation is correct
+ // Don't send unsolicited responses on close.
+ unsolicitedResponses(session, responder, false);
+ okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
}
- session.deselect();
- // TODO: the following comment was present in the code before
- // refactoring
- // TODO: doesn't seem to match the implementation
- // TODO: check that implementation is correct
- // Don't send unsolicited responses on close.
- unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CopyProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CopyProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CopyProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CopyProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,17 +21,16 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
+import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.IdRange;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
+import org.apache.james.api.imap.message.response.imap4rev1.StatusResponse.ResponseCode;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.CopyRequest;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.GeneralMessageSet;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
@@ -52,8 +51,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final CopyRequest request = (CopyRequest) message;
final String mailboxName = request.getMailboxName();
final IdRange[] idSet = request.getIdSet();
@@ -63,31 +61,31 @@
try {
String fullMailboxName = buildFullName(session, mailboxName);
final MailboxManager mailboxManager = getMailboxManager(session);
- if (!mailboxManager.existsMailbox(fullMailboxName)) {
- MailboxException e = new MailboxException(
- "Mailbox does not exists");
- e.setResponseCode("TRYCREATE");
- throw e;
- }
- for (int i = 0; i < idSet.length; i++) {
- final long highVal;
- final long lowVal;
- if (useUids) {
- highVal = idSet[i].getHighVal();
- lowVal = idSet[i].getLowVal();
- } else {
- highVal = session.getSelected().uid((int)idSet[i].getHighVal());
- lowVal = session.getSelected().uid((int)idSet[i].getLowVal());
+ final boolean mailboxExists = mailboxManager.existsMailbox(fullMailboxName);
+ if (!mailboxExists) {
+ no(command, tag, responder,
+ HumanReadableTextKey.FAILURE_NO_SUCH_MAILBOX, ResponseCode.tryCreate());
+ } else {
+ for (int i = 0; i < idSet.length; i++) {
+ final long highVal;
+ final long lowVal;
+ if (useUids) {
+ highVal = idSet[i].getHighVal();
+ lowVal = idSet[i].getLowVal();
+ } else {
+ highVal = session.getSelected().uid((int)idSet[i].getHighVal());
+ lowVal = session.getSelected().uid((int)idSet[i].getLowVal());
+ }
+ GeneralMessageSet messageSet = GeneralMessageSetImpl.uidRange(lowVal, highVal);
+ final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
+ mailboxManager.copyMessages(messageSet, currentMailbox.getName(),
+ fullMailboxName, mailboxSession);
}
- GeneralMessageSet messageSet = GeneralMessageSetImpl.uidRange(lowVal, highVal);
- final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
- mailboxManager.copyMessages(messageSet, currentMailbox.getName(),
- fullMailboxName, mailboxSession);
+ unsolicitedResponses(session, responder, useUids);
+ okComplete(command, tag, responder);
}
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
- unsolicitedResponses(session, responder, useUids);
- okComplete(command, tag, responder);
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CreateProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CreateProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CreateProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/CreateProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,15 +21,12 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.CreateRequest;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.manager.MailboxManager;
import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
@@ -46,8 +43,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final CreateRequest request = (CreateRequest) message;
final String mailboxName = request.getMailboxName();
try {
@@ -55,10 +51,10 @@
final String fullMailboxName = buildFullName(session, mailboxName);
final MailboxManager mailboxManager = getMailboxManager(session);
mailboxManager.createMailbox(fullMailboxName);
+ okComplete(command, tag, responder);
+ unsolicitedResponses(session, responder, false);
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
- okComplete(command, tag, responder);
- unsolicitedResponses(session, responder, false);
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ExpungeProcessor.java Mon Mar 31 13:25:17 2008
@@ -23,7 +23,6 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
@@ -32,9 +31,7 @@
import org.apache.james.api.imap.process.SelectedImapMailbox;
import org.apache.james.imap.message.request.imap4rev1.ExpungeRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
@@ -54,8 +51,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
if (!mailbox.isWriteable()) {
no(command, tag, responder, HumanReadableTextKey.MAILBOX_IS_READ_ONLY);
@@ -74,7 +70,7 @@
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/FetchProcessor.java Mon Mar 31 13:25:17 2008
@@ -36,7 +36,6 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.BodyFetchElement;
import org.apache.james.api.imap.message.FetchData;
@@ -50,9 +49,7 @@
import org.apache.james.imap.message.response.imap4rev1.FetchResponse;
import org.apache.james.imap.message.response.imap4rev1.FetchResponse.BodyElement;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.imapserver.store.SimpleMessageAttributes;
import org.apache.james.mailboxmanager.GeneralMessageSet;
import org.apache.james.mailboxmanager.MailboxManagerException;
@@ -88,19 +85,11 @@
}
protected void doProcess(ImapRequest message, ImapSession session,
- String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ String tag, ImapCommand command, Responder responder) {
final FetchRequest request = (FetchRequest) message;
final boolean useUids = request.isUseUids();
final IdRange[] idSet = request.getIdSet();
final FetchData fetch = request.getFetch();
- doProcess(useUids, idSet, fetch, session, tag, command, responder);
- }
-
- private void doProcess(final boolean useUids,
- final IdRange[] idSet, final FetchData fetch, ImapSession session,
- String tag, ImapCommand command, Responder responder) throws MailboxException,
- AuthorizationException, ProtocolException {
try
{
FetchGroup resultToFetch = getFetchGroup(fetch);
@@ -129,12 +118,14 @@
okComplete(command, tag, responder);
} catch (UnsupportedCriteriaException e) {
no(command, tag, responder, HumanReadableTextKey.UNSUPPORTED_SEARCH_CRITERIA);
- } catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ } catch (MessagingException e) {
+ no(command, tag, responder, e);
+ } catch (ParseException e) {
+ no(command, tag, responder, HumanReadableTextKey.FAILURE_MAIL_PARSE);
}
}
- private FetchGroup getFetchGroup(FetchData fetch) throws ProtocolException {
+ private FetchGroup getFetchGroup(FetchData fetch) {
FetchGroupImpl result = new FetchGroupImpl();
if (fetch.isFlags() || fetch.isSetSeen()) {
result.or(FetchGroup.FLAGS);
@@ -236,96 +227,86 @@
}
public FetchResponse build(FetchData fetch, MessageResult result,
- ImapSession session, boolean useUids)
- throws MailboxException, ProtocolException {
+ ImapSession session, boolean useUids) throws MessagingException, ParseException {
ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
final SelectedImapMailbox selected = session.getSelected();
final long resultUid = result.getUid();
final int resultMsn = selected.msn(resultUid);
setMsn(resultMsn);
-
+
// Check if this fetch will cause the "SEEN" flag to be set on this
// message
// If so, update the flags, and ensure that a flags response is included
// in the response.
- try {
- final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
- boolean ensureFlagsResponse = false;
- final Flags resultFlags = result.getFlags();
- if (fetch.isSetSeen()
- && !resultFlags.contains(Flags.Flag.SEEN)) {
- mailbox.setFlags(new Flags(Flags.Flag.SEEN), true, false,
- GeneralMessageSetImpl.oneUid(resultUid), FetchGroupImpl.MINIMAL, mailboxSession);
- resultFlags.add(Flags.Flag.SEEN);
- ensureFlagsResponse = true;
- }
-
- // FLAGS response
- if (fetch.isFlags() || ensureFlagsResponse) {
- if (selected.isRecent(resultUid)) {
- resultFlags.add(Flags.Flag.RECENT);
- }
- setFlags(resultFlags);
- }
+ final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
+ boolean ensureFlagsResponse = false;
+ final Flags resultFlags = result.getFlags();
+ if (fetch.isSetSeen()
+ && !resultFlags.contains(Flags.Flag.SEEN)) {
+ mailbox.setFlags(new Flags(Flags.Flag.SEEN), true, false,
+ GeneralMessageSetImpl.oneUid(resultUid), FetchGroupImpl.MINIMAL, mailboxSession);
+ resultFlags.add(Flags.Flag.SEEN);
+ ensureFlagsResponse = true;
+ }
- // INTERNALDATE response
- if (fetch.isInternalDate()) {
- setInternalDate(result
- .getInternalDate());
+ // FLAGS response
+ if (fetch.isFlags() || ensureFlagsResponse) {
+ if (selected.isRecent(resultUid)) {
+ resultFlags.add(Flags.Flag.RECENT);
}
+ setFlags(resultFlags);
+ }
- // RFC822.SIZE response
- if (fetch.isSize()) {
- setSize(result.getSize());
- }
+ // INTERNALDATE response
+ if (fetch.isInternalDate()) {
+ setInternalDate(result
+ .getInternalDate());
+ }
- if (fetch.isEnvelope()) {
- this.envelope = buildEnvelope(result);
- }
-
- // Only create when needed
- if (fetch.isBody() || fetch.isBodyStructure()) {
- misc = new StringBuffer();
- // TODO: replace SimpleMessageAttributes
- final SimpleMessageAttributes attrs = new SimpleMessageAttributes(
- result.getMimeMessage(), logger);
-
- // BODY response
- if (fetch.isBody()) {
- misc.append(" BODY ");
- misc.append(attrs.getBodyStructure(false));
- }
+ // RFC822.SIZE response
+ if (fetch.isSize()) {
+ setSize(result.getSize());
+ }
- // BODYSTRUCTURE response
- if (fetch.isBodyStructure()) {
- misc.append(" BODYSTRUCTURE ");
- misc.append(attrs.getBodyStructure(true));
- }
+ if (fetch.isEnvelope()) {
+ this.envelope = buildEnvelope(result);
+ }
+
+ // Only create when needed
+ if (fetch.isBody() || fetch.isBodyStructure()) {
+ misc = new StringBuffer();
+ // TODO: replace SimpleMessageAttributes
+ final SimpleMessageAttributes attrs = new SimpleMessageAttributes(
+ result.getMimeMessage(), logger);
+
+ // BODY response
+ if (fetch.isBody()) {
+ misc.append(" BODY ");
+ misc.append(attrs.getBodyStructure(false));
}
- // UID response
- if (fetch.isUid()) {
- setUid(resultUid);
+
+ // BODYSTRUCTURE response
+ if (fetch.isBodyStructure()) {
+ misc.append(" BODYSTRUCTURE ");
+ misc.append(attrs.getBodyStructure(true));
}
+ }
+ // UID response
+ if (fetch.isUid()) {
+ setUid(resultUid);
+ }
- // BODY part responses.
- Collection elements = fetch.getBodyElements();
- this.elements = new ArrayList();
- for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
- BodyFetchElement fetchElement = (BodyFetchElement) iterator.next();
- final FetchResponse.BodyElement element = bodyFetch(result, fetchElement);
- if (element != null) {
- this.elements.add(element);
- }
+ // BODY part responses.
+ Collection elements = fetch.getBodyElements();
+ this.elements = new ArrayList();
+ for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
+ BodyFetchElement fetchElement = (BodyFetchElement) iterator.next();
+ final FetchResponse.BodyElement element = bodyFetch(result, fetchElement);
+ if (element != null) {
+ this.elements.add(element);
}
- return build();
- } catch (MailboxManagerException mme) {
- throw new MailboxException(mme);
- } catch (MessagingException me) {
- throw new MailboxException(me);
- } catch (ParseException e) {
- logger.debug("Cannot parse header address", e);
- throw new MailboxException("Cannot parse address");
}
+ return build();
}
private FetchResponse.Envelope buildEnvelope(final MessageResult messageResult) throws MessagingException, ParseException {
@@ -483,7 +464,7 @@
}
private FetchResponse.BodyElement bodyFetch(final MessageResult messageResult,
- BodyFetchElement fetchElement) throws MessagingException, ProtocolException {
+ BodyFetchElement fetchElement) throws MessagingException {
final Long firstOctet = fetchElement.getFirstOctet();
final Long numberOfOctets = fetchElement.getNumberOfOctets();
@@ -500,7 +481,8 @@
}
- private FetchResponse.BodyElement bodyContent(final MessageResult messageResult, final String name, final int specifier, final int[] path, final Collection names, final boolean isBase) throws MailboxManagerException, MessagingException {
+ private FetchResponse.BodyElement bodyContent(final MessageResult messageResult, final String name,
+ final int specifier, final int[] path, final Collection names, final boolean isBase) throws MessagingException {
final FetchResponse.BodyElement fullResult;
switch (specifier) {
case BodyFetchElement.CONTENT:
@@ -533,7 +515,8 @@
return fullResult;
}
- private FetchResponse.BodyElement wrapIfPartialFetch(final Long firstOctet, final Long numberOfOctets, final FetchResponse.BodyElement fullResult) {
+ private FetchResponse.BodyElement wrapIfPartialFetch(final Long firstOctet, final Long numberOfOctets,
+ final FetchResponse.BodyElement fullResult) {
final FetchResponse.BodyElement result;
if (firstOctet == null) {
result = fullResult;
@@ -564,7 +547,8 @@
return result;
}
- private FetchResponse.BodyElement mimeHeaders(final MessageResult messageResult, String name, final int[] path, final boolean isBase) throws MailboxManagerException, MessagingException {
+ private FetchResponse.BodyElement mimeHeaders(final MessageResult messageResult,
+ String name, final int[] path, final boolean isBase) throws MessagingException {
final FetchResponse.BodyElement result;
final Iterator headers = getMimeHeaders(messageResult, path, isBase);
List lines = MessageResultUtils.getAll(headers);
@@ -611,13 +595,15 @@
return headers;
}
- private Iterator getMimeHeaders(final MessageResult messageResult, final int[] path, final boolean isBase) throws MailboxManagerException {
+ private Iterator getMimeHeaders(final MessageResult messageResult, final int[] path,
+ final boolean isBase) throws MessagingException {
MessageResult.MimePath mimePath = new MimePathImpl(path);
final Iterator headers = messageResult.iterateMimeHeaders(mimePath);
return headers;
}
- private FetchResponse.BodyElement content(final MessageResult messageResult, String name, final int[] path, final boolean isBase) throws MailboxManagerException {
+ private FetchResponse.BodyElement content(final MessageResult messageResult, String name,
+ final int[] path, final boolean isBase) throws MessagingException {
final FetchResponse.BodyElement result;
final MessageResult.Content full;
if (isBase) {
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ListProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ListProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ListProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/ListProcessor.java Mon Mar 31 13:25:17 2008
@@ -19,11 +19,9 @@
package org.apache.james.imapserver.processor.imap4rev1;
-import org.apache.avalon.framework.logger.Logger;
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.ImapResponseMessage;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
@@ -32,9 +30,7 @@
import org.apache.james.imap.message.request.imap4rev1.ListRequest;
import org.apache.james.imap.message.response.imap4rev1.server.ListResponse;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.ListResult;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.impl.ListResultImpl;
@@ -55,8 +51,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final ListRequest request = (ListRequest) message;
final String baseReferenceName = request.getBaseReferenceName();
final String mailboxPatternString = request.getMailboxPattern();
@@ -75,74 +70,76 @@
final String mailboxPattern,
final ImapSession session,
final String tag, ImapCommand command,
- final Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
-
- String referenceName = baseReferenceName;
- // Should the #user.userName section be removed from names returned?
- final boolean removeUserPrefix;
-
- final ListResult[] listResults;
-
- final User user = ImapSessionUtils.getUser(session);
- final String personalNamespace = ImapConstants.USER_NAMESPACE
- + ImapConstants.HIERARCHY_DELIMITER_CHAR + user.getUserName();
-
- if (mailboxPattern.length() == 0) {
- // An empty mailboxPattern signifies a request for the hierarchy
- // delimiter
- // and root name of the referenceName argument
-
- String referenceRoot;
- if (referenceName.startsWith(ImapConstants.NAMESPACE_PREFIX)) {
- // A qualified reference name - get the first element,
- // and don't remove the user prefix
- removeUserPrefix = false;
- int firstDelimiter = referenceName
- .indexOf(ImapConstants.HIERARCHY_DELIMITER_CHAR);
- if (firstDelimiter == -1) {
- referenceRoot = referenceName;
+ final Responder responder) {
+ try {
+ String referenceName = baseReferenceName;
+ // Should the #user.userName section be removed from names returned?
+ final boolean removeUserPrefix;
+
+ final ListResult[] listResults;
+
+ final User user = ImapSessionUtils.getUser(session);
+ final String personalNamespace = ImapConstants.USER_NAMESPACE
+ + ImapConstants.HIERARCHY_DELIMITER_CHAR + user.getUserName();
+
+ if (mailboxPattern.length() == 0) {
+ // An empty mailboxPattern signifies a request for the hierarchy
+ // delimiter
+ // and root name of the referenceName argument
+
+ String referenceRoot;
+ if (referenceName.startsWith(ImapConstants.NAMESPACE_PREFIX)) {
+ // A qualified reference name - get the first element,
+ // and don't remove the user prefix
+ removeUserPrefix = false;
+ int firstDelimiter = referenceName
+ .indexOf(ImapConstants.HIERARCHY_DELIMITER_CHAR);
+ if (firstDelimiter == -1) {
+ referenceRoot = referenceName;
+ } else {
+ referenceRoot = referenceName.substring(0, firstDelimiter);
+ }
} else {
- referenceRoot = referenceName.substring(0, firstDelimiter);
+ // A relative reference name - need to remove user prefix from
+ // results.
+ referenceRoot = "";
+ removeUserPrefix = true;
+
}
- } else {
- // A relative reference name - need to remove user prefix from
- // results.
- referenceRoot = "";
- removeUserPrefix = true;
- }
+ // Get the mailbox for the reference name.
+ listResults = new ListResult[1];
+ listResults[0] = ListResultImpl.createNoSelect(referenceRoot, ImapConstants.HIERARCHY_DELIMITER);
+ } else {
- // Get the mailbox for the reference name.
- listResults = new ListResult[1];
- listResults[0] = ListResultImpl.createNoSelect(referenceRoot, ImapConstants.HIERARCHY_DELIMITER);
- } else {
+ // If the mailboxPattern is fully qualified, ignore the
+ // reference name.
+ if (mailboxPattern.charAt(0) == ImapConstants.NAMESPACE_PREFIX_CHAR) {
+ referenceName = "";
+ }
- // If the mailboxPattern is fully qualified, ignore the
- // reference name.
- if (mailboxPattern.charAt(0) == ImapConstants.NAMESPACE_PREFIX_CHAR) {
- referenceName = "";
- }
+ // If the search pattern is relative, need to remove user prefix
+ // from results.
+ removeUserPrefix = ((referenceName + mailboxPattern).charAt(0) != ImapConstants.NAMESPACE_PREFIX_CHAR);
- // If the search pattern is relative, need to remove user prefix
- // from results.
- removeUserPrefix = ((referenceName + mailboxPattern).charAt(0) != ImapConstants.NAMESPACE_PREFIX_CHAR);
+ if (removeUserPrefix) {
+ referenceName = personalNamespace + "." + referenceName;
+ }
- if (removeUserPrefix) {
- referenceName = personalNamespace + "." + referenceName;
+ listResults = doList(session, referenceName, mailboxPattern);
}
- listResults = doList(session, referenceName, mailboxPattern);
- }
+ int prefixLength = personalNamespace.length();
- int prefixLength = personalNamespace.length();
+ for (int i = 0; i < listResults.length; i++) {
+ final ListResult listResult = listResults[i];
+ processResult(responder, removeUserPrefix, prefixLength, listResult);
+ }
- for (int i = 0; i < listResults.length; i++) {
- final ListResult listResult = listResults[i];
- processResult(responder, removeUserPrefix, prefixLength, listResult);
- }
-
- okComplete(command, tag, responder);
+ okComplete(command, tag, responder);
+ } catch (MailboxManagerException e) {
+ no(command,tag, responder, e);
+ }
}
void processResult(final Responder responder, final boolean removeUserPrefix,
@@ -169,20 +166,6 @@
delimiter, mailboxName));
}
- private void logMarkedUnmarkedNoSelectMailbox(final String mailboxName) {
- final Logger logger = getLogger();
- if (logger != null && logger.isDebugEnabled()) {
- logger.debug("Marked or unmarked flags set on NoSelect mailbox: " + mailboxName);
- }
- }
-
- private void logMarkedUnmarkedMailbox(final String mailboxName) {
- final Logger logger = getLogger();
- if (logger != null && logger.isDebugEnabled()) {
- logger.debug("Marked and unmarked flags set on mailbox: " + mailboxName);
- }
- }
-
private String mailboxName(final boolean removeUserPrefix, int prefixLength, final ListResult listResult) {
final String mailboxName;
final String name = listResult.getName();
@@ -199,13 +182,9 @@
}
protected final ListResult[] doList(ImapSession session, String base,
- String pattern) throws MailboxException {
- try {
- final MailboxManager mailboxManager = getMailboxManager(session);
- final ListResult[] result = mailboxManager.list(new MailboxExpression(base,pattern, '*', '%'));
- return result;
- } catch (MailboxManagerException e) {
- throw new MailboxException(e);
- }
+ String pattern) throws MailboxManagerException {
+ final MailboxManager mailboxManager = getMailboxManager(session);
+ final ListResult[] result = mailboxManager.list(new MailboxExpression(base,pattern, '*', '%'));
+ return result;
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/NoopProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/NoopProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/NoopProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/NoopProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,15 +21,12 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
import org.apache.james.api.imap.process.ImapProcessor;
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.NoopRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
-import org.apache.james.imapserver.store.MailboxException;
public class NoopProcessor extends AbstractImapRequestProcessor {
@@ -42,8 +39,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final NoopRequest request = (NoopRequest) message;
// TODO: untagged responses?
// TODO: NOOP is used to check for new mail: need to return untagged
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/SearchProcessor.java Mon Mar 31 13:25:17 2008
@@ -29,7 +29,6 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.IdRange;
import org.apache.james.api.imap.message.request.DayMonthYear;
import org.apache.james.api.imap.message.request.ImapRequest;
@@ -41,9 +40,7 @@
import org.apache.james.imap.message.request.imap4rev1.SearchRequest;
import org.apache.james.imap.message.response.imap4rev1.server.SearchResponse;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MessageResult;
import org.apache.james.mailboxmanager.SearchQuery;
@@ -64,31 +61,27 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
- final SearchRequest request = (SearchRequest) message;
- final SearchKey searchKey = request.getSearchKey();
- final boolean useUids = request.isUseUids();
- doProcess(searchKey, useUids, session, tag, command, responder);
- }
-
- private void doProcess(final SearchKey searchKey,
- final boolean useUids, final ImapSession session, final String tag,
- final ImapCommand command, final Responder responder) throws MailboxException,
- AuthorizationException, ProtocolException {
- ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
- final FetchGroup fetchGroup = FetchGroupImpl.MINIMAL;
-
- final SearchQuery query = toQuery(searchKey, session);
-
- final Collection results = findIds(useUids, session, mailbox, fetchGroup, query);
- final long[] ids = toArray(results);
-
- final SearchResponse response = new SearchResponse(ids);
- responder.respond(response);
- boolean omitExpunged = (!useUids);
- unsolicitedResponses(session, responder, omitExpunged, useUids);
- okComplete(command, tag, responder);
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
+ try {
+ final SearchRequest request = (SearchRequest) message;
+ final SearchKey searchKey = request.getSearchKey();
+ final boolean useUids = request.isUseUids();
+ ImapMailbox mailbox = ImapSessionUtils.getMailbox(session);
+ final FetchGroup fetchGroup = FetchGroupImpl.MINIMAL;
+
+ final SearchQuery query = toQuery(searchKey, session);
+
+ final Collection results = findIds(useUids, session, mailbox, fetchGroup, query);
+ final long[] ids = toArray(results);
+
+ final SearchResponse response = new SearchResponse(ids);
+ responder.respond(response);
+ boolean omitExpunged = (!useUids);
+ unsolicitedResponses(session, responder, omitExpunged, useUids);
+ okComplete(command, tag, responder);
+ } catch (MailboxManagerException e) {
+ no(command, tag, responder, e);
+ }
}
private long[] toArray(final Collection results) {
@@ -101,14 +94,9 @@
return ids;
}
- private Collection findIds(final boolean useUids, final ImapSession session, ImapMailbox mailbox, final FetchGroup fetchGroup, final SearchQuery query) throws MailboxException {
- final Iterator it;
- try {
-
- it = mailbox.search(query, fetchGroup, ImapSessionUtils.getMailboxSession(session));
- } catch (MailboxManagerException e) {
- throw new MailboxException(e);
- }
+ private Collection findIds(final boolean useUids, final ImapSession session, ImapMailbox mailbox,
+ final FetchGroup fetchGroup, final SearchQuery query) throws MailboxManagerException {
+ final Iterator it = mailbox.search(query, fetchGroup, ImapSessionUtils.getMailboxSession(session));
final Collection results = new TreeSet();
while (it.hasNext()) {
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StatusProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StatusProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StatusProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StatusProcessor.java Mon Mar 31 13:25:17 2008
@@ -22,7 +22,6 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.message.StatusDataItems;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
@@ -31,9 +30,7 @@
import org.apache.james.imap.message.request.imap4rev1.StatusRequest;
import org.apache.james.imap.message.response.imap4rev1.server.STATUSResponse;
import org.apache.james.imapserver.processor.base.AbstractMailboxAwareProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -52,8 +49,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final StatusRequest request = (StatusRequest) message;
final String mailboxName = request.getMailboxName();
final StatusDataItems statusDataItems = request.getStatusDataItems();
@@ -80,16 +76,12 @@
final STATUSResponse response = new STATUSResponse(messages, recent, uidNext, uidValidity, unseen, mailboxName);
responder.respond(response);
+ unsolicitedResponses(session, responder, false);
+ okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
- if (logger != null && logger.isDebugEnabled()) {
- logger.debug("STATUS command failed: ", e);
- }
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
-
- unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
}
private Long unseen(final StatusDataItems statusDataItems, final MailboxSession mailboxSession, final ImapMailbox mailbox) throws MailboxManagerException {
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/StoreProcessor.java Mon Mar 31 13:25:17 2008
@@ -35,7 +35,6 @@
import org.apache.james.imap.message.response.imap4rev1.FetchResponse;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.GeneralMessageSet;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.MailboxSession;
@@ -58,8 +57,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final StoreRequest request = (StoreRequest) message;
final IdRange[] idSet = request.getIdSet();
final Flags flags = request.getFlags();
@@ -119,12 +117,11 @@
}
}
}
+ final boolean omitExpunged = (!useUids);
+ unsolicitedResponses(session, responder, omitExpunged, useUids);
+ okComplete(command, tag, responder);
} catch (MailboxManagerException e) {
- throw new MailboxException(e);
+ no(command, tag, responder, e);
}
-
- final boolean omitExpunged = (!useUids);
- unsolicitedResponses(session, responder, omitExpunged, useUids);
- okComplete(command, tag, responder);
}
}
Modified: james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/UnsubscribeProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/UnsubscribeProcessor.java?rev=643130&r1=643129&r2=643130&view=diff
==============================================================================
--- james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/UnsubscribeProcessor.java (original)
+++ james/server/trunk/imap-mailbox-processor-function/src/main/java/org/apache/james/imapserver/processor/imap4rev1/UnsubscribeProcessor.java Mon Mar 31 13:25:17 2008
@@ -21,7 +21,6 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.api.imap.ProtocolException;
import org.apache.james.api.imap.display.HumanReadableTextKey;
import org.apache.james.api.imap.message.request.ImapRequest;
import org.apache.james.api.imap.message.response.imap4rev1.StatusResponseFactory;
@@ -29,9 +28,7 @@
import org.apache.james.api.imap.process.ImapSession;
import org.apache.james.imap.message.request.imap4rev1.UnsubscribeRequest;
import org.apache.james.imapserver.processor.base.AbstractImapRequestProcessor;
-import org.apache.james.imapserver.processor.base.AuthorizationException;
import org.apache.james.imapserver.processor.base.ImapSessionUtils;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.services.User;
public class UnsubscribeProcessor extends AbstractImapRequestProcessor {
@@ -49,8 +46,7 @@
}
protected void doProcess(ImapRequest message,
- ImapSession session, String tag, ImapCommand command, Responder responder)
- throws MailboxException, AuthorizationException, ProtocolException {
+ ImapSession session, String tag, ImapCommand command, Responder responder) {
final UnsubscribeRequest request = (UnsubscribeRequest) message;
final String mailboxName = request.getMailboxName();
final User user = ImapSessionUtils.getUser(session);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org