Author: rdonkin
Date: Sat Jan 24 08:35:45 2009
New Revision: 737317

URL: http://svn.apache.org/viewvc?rev=737317&view=rev
Log:
Fetch FLAGS every time

Modified:
    
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MessageResult.java
    
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/FetchGroupImpl.java
    
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultImpl.java
    
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultUtils.java
    
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultImplIncludedResultsTest.java
    
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultUtilsIsIncludedTest.java
    
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractMailboxProcessor.java
    
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/fetch/FetchProcessor.java
    
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
    
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
    
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java

Modified: 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MessageResult.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MessageResult.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MessageResult.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MessageResult.java
 Sat Jan 24 08:35:45 2009
@@ -79,8 +79,6 @@
          */
         public static final int MIME_DESCRIPTOR = 0x01;
 
-        public static final int FLAGS = 0x80;
-
         public static final int HEADERS = 0x100;
 
         public static final int FULL_CONTENT = 0x200;
@@ -98,7 +96,6 @@
          * @see #MINIMAL
          * @see #MIME_MESSAGE
          * @see #KEY
-         * @see #FLAGS
          * @see #HEADERS
          * @see #FULL_CONTENT
          * @see #BODY_CONTENT
@@ -128,7 +125,6 @@
              * @see #MINIMAL
              * @see #MIME_MESSAGE
              * @see #KEY
-             * @see #FLAGS
              * @see #HEADERS
              * @see #FULL_CONTENT
              * @see #BODY_CONTENT

Modified: 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/FetchGroupImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/FetchGroupImpl.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/FetchGroupImpl.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/FetchGroupImpl.java
 Sat Jan 24 08:35:45 2009
@@ -35,9 +35,6 @@
     public static final MessageResult.FetchGroup MINIMAL = new FetchGroupImpl(
             MessageResult.FetchGroup.MINIMAL);
 
-    public static final MessageResult.FetchGroup FLAGS = new FetchGroupImpl(
-            MessageResult.FetchGroup.FLAGS);
-
     public static final MessageResult.FetchGroup HEADERS = new FetchGroupImpl(
             MessageResult.FetchGroup.HEADERS);
 

Modified: 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultImpl.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultImpl.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultImpl.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultImpl.java
 Sat Jan 24 08:35:45 2009
@@ -31,7 +31,6 @@
 
 import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.MessageResult;
-import org.apache.james.imap.mailbox.MessageResult.Header;
 
 /**
  * Bean based implementation. {...@link #getIncludedResults()} is updated when
@@ -76,9 +75,7 @@
     public MessageResultImpl(MessageResult result)
             throws MailboxException {
         setUid(result.getUid());
-        if (MessageResultUtils.isFlagsIncluded(result)) {
-            setFlags(result.getFlags());
-        }
+        setFlags(result.getFlags());
         setSize(result.getSize());
         setInternalDate(result.getInternalDate());
         if (MessageResultUtils.isHeadersIncluded(result)) {
@@ -138,9 +135,6 @@
 
     public void setFlags(Flags flags) {
         this.flags = flags;
-        if (flags != null) {
-            includedResults |= FetchGroup.FLAGS;
-        }
     }
 
     public int compareTo(Object o) {

Modified: 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultUtils.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultUtils.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultUtils.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MessageResultUtils.java
 Sat Jan 24 08:35:45 2009
@@ -263,19 +263,6 @@
     }
 
     /**
-     * Is {...@link FetchGroup#FLAGS} included in these results?
-     * 
-     * @param message
-     *            <code>MessageResult</code>, possibly null
-     * @return true if <code>MessageResult</code> includes FLAGS, false if
-     *         <code>MessageResult</code> is null or does not contain FLAGS
-     * @see #isIncluded(MessageResult, int)
-     */
-    public static boolean isFlagsIncluded(final MessageResult message) {
-        return isIncluded(message, FetchGroup.FLAGS);
-    }
-
-    /**
      * Is {...@link FetchGroup#FULL_CONTENT} included in these results?
      * 
      * @param message

Modified: 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultImplIncludedResultsTest.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultImplIncludedResultsTest.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultImplIncludedResultsTest.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultImplIncludedResultsTest.java
 Sat Jan 24 08:35:45 2009
@@ -22,9 +22,6 @@
 import java.util.ArrayList;
 import java.util.Date;
 
-import javax.mail.Flags;
-
-import org.apache.james.imap.mailbox.MessageResult;
 import org.apache.james.imap.mailbox.MessageResult.FetchGroup;
 import org.apache.james.imap.mailbox.util.MessageResultImpl;
 import org.apache.james.imap.mailbox.util.MessageResultUtils;
@@ -46,18 +43,6 @@
         super.tearDown();
     }
 
-    public void testShouldIncludedResultsWhenFlagsSet() throws Exception {
-        result.setFlags(null);
-        assertEquals(FetchGroup.MINIMAL, 
result.getIncludedResults().content());
-        Flags flags = new Flags();
-        result.setFlags(flags);
-        assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
-        MessageResultImpl result = new MessageResultImpl(77, flags);
-        assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
-        result = new MessageResultImpl(this.result);
-        assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
-    }
-
     public void testShouldIncludedResultsWhenHeadersSet() throws Exception {
         result.setHeaders(null);
         assertEquals(FetchGroup.MINIMAL, 
result.getIncludedResults().content());
@@ -90,46 +75,34 @@
     }
 
     public void testShouldIncludedResultsWhenAllSet() {
-        Flags flags = new Flags();
-        result.setFlags(flags);
-        assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
-        result.setUid(99);
-        assertEquals(FetchGroup.FLAGS, result.getIncludedResults().content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         result.setBody(content);
-        assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT, result
+        assertEquals(FetchGroup.BODY_CONTENT, result
                 .getIncludedResults().content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         assertTrue(MessageResultUtils.isBodyContentIncluded(result));
         result.setFullContent(content);
-        assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT
+        assertEquals(FetchGroup.BODY_CONTENT
                 | FetchGroup.FULL_CONTENT, result.getIncludedResults()
                 .content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         assertTrue(MessageResultUtils.isBodyContentIncluded(result));
         assertTrue(MessageResultUtils.isFullContentIncluded(result));
         result.setHeaders(new ArrayList());
-        assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT
+        assertEquals(FetchGroup.BODY_CONTENT
                 | FetchGroup.FULL_CONTENT | FetchGroup.HEADERS, result
                 .getIncludedResults().content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         assertTrue(MessageResultUtils.isBodyContentIncluded(result));
         assertTrue(MessageResultUtils.isFullContentIncluded(result));
         assertTrue(MessageResultUtils.isHeadersIncluded(result));
         result.setInternalDate(new Date());
-        assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT
+        assertEquals(FetchGroup.BODY_CONTENT
                 | FetchGroup.FULL_CONTENT | FetchGroup.HEADERS, 
result.getIncludedResults()
                 .content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         assertTrue(MessageResultUtils.isBodyContentIncluded(result));
         assertTrue(MessageResultUtils.isFullContentIncluded(result));
         assertTrue(MessageResultUtils.isHeadersIncluded(result));
         result.setSize(100);
-        assertEquals(FetchGroup.FLAGS | FetchGroup.BODY_CONTENT
+        assertEquals(FetchGroup.BODY_CONTENT
                 | FetchGroup.FULL_CONTENT | FetchGroup.HEADERS, result
                 .getIncludedResults().content());
-        assertTrue(MessageResultUtils.isFlagsIncluded(result));
         assertTrue(MessageResultUtils.isBodyContentIncluded(result));
         assertTrue(MessageResultUtils.isFullContentIncluded(result));
         assertTrue(MessageResultUtils.isHeadersIncluded(result));

Modified: 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultUtilsIsIncludedTest.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultUtilsIsIncludedTest.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultUtilsIsIncludedTest.java
 (original)
+++ 
james/protocols/imap/trunk/mailbox/src/test/java/org/apache/james/imap/mailbox/MessageResultUtilsIsIncludedTest.java
 Sat Jan 24 08:35:45 2009
@@ -36,30 +36,13 @@
         super.tearDown();
     }
 
-    public void testShouldReturnFalseWhenNull() throws Exception {
-        assertFalse(MessageResultUtils.isIncluded(null, FetchGroup.FLAGS));
-    }
-
     public void testBodyContentIncluded() throws Exception {
         assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL),
                 FetchGroup.BODY_CONTENT));
-        assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.FLAGS),
-                FetchGroup.BODY_CONTENT));
         assertTrue(MessageResultUtils.isIncluded(
                 mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.BODY_CONTENT));
     }
 
-    public void testFlagsIncluded() throws Exception {
-        assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL),
-                FetchGroup.FLAGS));
-        assertFalse(MessageResultUtils.isIncluded(
-                mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.FLAGS));
-        assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.FLAGS),
-                FetchGroup.FLAGS));
-        assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(
-                FetchGroup.FLAGS | FetchGroup.BODY_CONTENT)), 
FetchGroup.FLAGS));
-    }
-
     public void testFULL_CONTENTIncluded() throws Exception {
         assertFalse(MessageResultUtils.isIncluded(mock(FetchGroupImpl.MINIMAL),
                 FetchGroup.FULL_CONTENT));
@@ -67,9 +50,6 @@
                 mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.FULL_CONTENT));
         assertTrue(MessageResultUtils.isIncluded(
                 mock(FetchGroupImpl.FULL_CONTENT), FetchGroup.FULL_CONTENT));
-        assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(
-                FetchGroup.FLAGS | FetchGroup.FULL_CONTENT)),
-                FetchGroup.FULL_CONTENT));
     }
 
     public void testHEADERSIncluded() throws Exception {
@@ -79,8 +59,6 @@
                 mock(FetchGroupImpl.BODY_CONTENT), FetchGroup.HEADERS));
         assertTrue(MessageResultUtils.isIncluded(mock(FetchGroupImpl.HEADERS),
                 FetchGroup.HEADERS));
-        assertTrue(MessageResultUtils.isIncluded(mock(new FetchGroupImpl(
-                FetchGroup.FLAGS | FetchGroup.HEADERS)), FetchGroup.HEADERS));
     }
 
     public void testShouldNOTHINGAlwaysBeIncluded() throws Exception {

Modified: 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractMailboxProcessor.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractMailboxProcessor.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractMailboxProcessor.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractMailboxProcessor.java
 Sat Jan 24 08:35:45 2009
@@ -194,7 +194,7 @@
     private void addFlagsResponses(final ImapSession session, final 
SelectedMailbox selected, 
             final ImapProcessor.Responder responder, boolean useUid, 
MessageRange messageSet, Mailbox mailbox, MailboxSession mailboxSession)
     throws MailboxException {
-        final Iterator<MessageResult> it = mailbox.getMessages(messageSet, 
FetchGroupImpl.FLAGS, mailboxSession);
+        final Iterator<MessageResult> it = mailbox.getMessages(messageSet, 
FetchGroupImpl.MINIMAL, mailboxSession);
         while (it.hasNext()) {
             MessageResult mr = it.next();
             final long uid = mr.getUid();

Modified: 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/fetch/FetchProcessor.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/fetch/FetchProcessor.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/fetch/FetchProcessor.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/fetch/FetchProcessor.java
 Sat Jan 24 08:35:45 2009
@@ -110,10 +110,7 @@
 
     private FetchGroup getFetchGroup(FetchData fetch) {
         FetchGroupImpl result = new FetchGroupImpl();
-        if (fetch.isFlags() || fetch.isSetSeen()) {
-            result.or(FetchGroup.FLAGS);
-        }
-        
+
         if (fetch.isEnvelope()) {
             result.or(FetchGroup.HEADERS);
         }

Modified: 
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
 (original)
+++ 
james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
 Sat Jan 24 08:35:45 2009
@@ -106,12 +106,10 @@
         messageResult.setUid(message.getUid());
         if (fetchGroup != null) {
             int content = fetchGroup.content();
-            if ((content & FetchGroup.FLAGS) > 0) {
-                messageResult.setFlags(message.createFlags());
-                content -= FetchGroup.FLAGS;
-            }
+            messageResult.setFlags(message.createFlags());
             messageResult.setSize(message.getSize());
             messageResult.setInternalDate(message.getInternalDate());
+            
             if ((content & FetchGroup.HEADERS) > 0) {
                 addHeaders(message, messageResult);
                 content -= FetchGroup.HEADERS;

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 Sat Jan 24 08:35:45 2009
@@ -130,13 +130,10 @@
         messageResult.setUid(messageRow.getUid());
         if (fetchGroup != null) {
             int content = fetchGroup.content();
-            if ((content & FetchGroup.FLAGS) > 0) {
-                org.apache.james.mailboxmanager.torque.om.MessageFlags 
messageFlags = messageRow
-                        .getMessageFlags();
-                if (messageFlags != null) {
-                    messageResult.setFlags(messageFlags.createFlags());
-                }
-                content -= FetchGroup.FLAGS;
+            org.apache.james.mailboxmanager.torque.om.MessageFlags 
messageFlags = messageRow
+            .getMessageFlags();
+            if (messageFlags != null) {
+                messageResult.setFlags(messageFlags.createFlags());
             }
             messageResult.setSize(messageRow.getSize());
             messageResult.setInternalDate(messageRow.getInternalDate());

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=737317&r1=737316&r2=737317&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 Sat Jan 24 08:35:45 2009
@@ -555,9 +555,6 @@
                     messageFlags.save();
                 }
             }
-            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows, FetchGroupImpl.FLAGS);
-            final org.apache.james.imap.mailbox.util.MessageFlags[] 
messageFlags = resultIterator
-                    .getMessageFlags();
             tracker.flagsUpdated(newFlagsByUid, originalFlagsByUid, 
mailboxSession.getSessionId());
             return newFlagsByUid;
         } catch (Exception e) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to