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