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 no...@apache.org on 2010/03/25 12:50:56 UTC
svn commit: r927355 -
/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
Author: norman
Date: Thu Mar 25 11:50:56 2010
New Revision: 927355
URL: http://svn.apache.org/viewvc?rev=927355&view=rev
Log:
Check if we are in selected state before try to fetch messages from mailbox. This prevent a NPE (IMAP-124)
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java?rev=927355&r1=927354&r2=927355&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/FetchProcessor.java Thu Mar 25 11:50:56 2010
@@ -56,10 +56,18 @@ public class FetchProcessor extends Abst
super(next, mailboxManager, factory);
}
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.processor.base.AbstractChainedProcessor#isAcceptable(org.apache.james.imap.api.ImapMessage)
+ */
protected boolean isAcceptable(ImapMessage message) {
return (message instanceof FetchRequest);
}
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.processor.AbstractMailboxProcessor#doProcess(org.apache.james.imap.api.message.request.ImapRequest, org.apache.james.imap.api.process.ImapSession, java.lang.String, org.apache.james.imap.api.ImapCommand, org.apache.james.imap.api.process.ImapProcessor.Responder)
+ */
protected void doProcess(ImapRequest message, ImapSession session,
String tag, ImapCommand command, Responder responder) {
final FetchRequest request = (FetchRequest) message;
@@ -69,6 +77,11 @@ public class FetchProcessor extends Abst
try {
FetchGroup resultToFetch = getFetchGroup(fetch);
final Mailbox mailbox = getSelectedMailbox(session);
+
+ if (mailbox == null) {
+ throw new MessagingException("Session not in SELECTED state");
+ }
+
for (int i = 0; i < idSet.length; i++) {
final FetchResponseBuilder builder = new FetchResponseBuilder(
new EnvelopeBuilder(session.getLog()));
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org