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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org