Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/AbstractImapMailboxSelfTestCase.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/AbstractImapMailboxSelfTestCase.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/AbstractImapMailboxSelfTestCase.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/AbstractImapMailboxSelfTestCase.java
 Mon Feb  4 12:44:48 2008
@@ -30,6 +30,7 @@
 import junit.framework.TestCase;
 
 import org.apache.commons.collections.IteratorUtils;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
 import org.apache.james.mailboxmanager.impl.MailboxListenerCollector;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -62,26 +63,26 @@
         for (int i = 0; i < 5; i++) {
             MimeMessage mm=TestUtil.createMessage();
             mm.setFlags(new Flags(Flags.Flag.SEEN), true);
-            MessageResult mr=mailbox.appendMessage(mm, new Date(), 
MessageResult.MINIMAL, mailboxSession);
+            MessageResult mr=mailbox.appendMessage(mm, new Date(), 
FetchGroupImpl.MINIMAL, mailboxSession);
             assertEquals(i+1, mr.getUid());
         }
         for (int i = 0; i < 3; i++) {
-            MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), 
new Date(), MessageResult.MINIMAL, mailboxSession);
+            MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), 
new Date(), FetchGroupImpl.MINIMAL, mailboxSession);
             assertEquals(i+6, mr.getUid());
         }
         for (int i = 0; i < 3; i++) {
             MimeMessage mm=TestUtil.createMessage();
             mm.setFlags(new Flags(Flags.Flag.SEEN), true);
-            MessageResult mr=mailbox.appendMessage(mm, new Date(), 
MessageResult.MINIMAL, mailboxSession);
+            MessageResult mr=mailbox.appendMessage(mm, new Date(), 
FetchGroupImpl.MINIMAL, mailboxSession);
             assertEquals(i+9, mr.getUid());
         }
         MessageResult mr;
-        mr=mailbox.getFirstUnseen(MessageResult.MINIMAL, mailboxSession);
+        mr=mailbox.getFirstUnseen(FetchGroupImpl.MINIMAL, mailboxSession);
         assertNotNull(mr);
         assertEquals(6, mr.getUid());
-        mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, 
GeneralMessageSetImpl.uidRange(1,3), MessageResult.MINIMAL, mailboxSession);
-        mailbox.expunge(GeneralMessageSetImpl.all(), 0, mailboxSession);
-        mr=mailbox.getFirstUnseen(MessageResult.MINIMAL, mailboxSession);
+        mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, 
GeneralMessageSetImpl.uidRange(1,3), FetchGroupImpl.MINIMAL, mailboxSession);
+        mailbox.expunge(GeneralMessageSetImpl.all(), FetchGroupImpl.MINIMAL, 
mailboxSession);
+        mr=mailbox.getFirstUnseen(FetchGroupImpl.MINIMAL, mailboxSession);
         assertNotNull(mr);
         assertEquals(6, mr.getUid());
     }
@@ -89,7 +90,7 @@
     
     public void testGetUidNext() throws MessagingException {
         assertEquals(1, mailbox.getUidNext(mailboxSession));
-        MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new 
Date(), MessageResult.MINIMAL, mailboxSession);
+        MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new 
Date(), FetchGroupImpl.MINIMAL, mailboxSession);
         assertEquals(1,mr.getUid());
         assertEquals(2, mailbox.getUidNext(mailboxSession));
     }

Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
 Mon Feb  4 12:44:48 2008
@@ -28,6 +28,7 @@
 import org.apache.commons.collections.IteratorUtils;
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.TestUtil;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
 import org.apache.james.mailboxmanager.impl.MailboxListenerCollector;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -63,7 +64,7 @@
         flags.add(Flags.Flag.SEEN);
         mm.setFlags(flags,true);
         mm.writeTo(System.out);
-        torqueMailbox.appendMessage(mm, date, 0, session);
+        torqueMailbox.appendMessage(mm, date, FetchGroupImpl.MINIMAL, session);
         assertEquals(1,torqueMailbox.getMessageCount(session));
         List l = MessageRowPeer.doSelect(new Criteria());
         assertEquals(1, l.size());
@@ -77,7 +78,7 @@
         mr = MailboxRowPeer.retrieveByPK(mr.getMailboxId());
         assertEquals(1, mr.getLastUid());
         
-        List 
messageResult=IteratorUtils.toList(torqueMailbox.getMessages(GeneralMessageSetImpl.oneUid(1l),MessageResult.MIME_MESSAGE,
 session));
+        List 
messageResult=IteratorUtils.toList(torqueMailbox.getMessages(GeneralMessageSetImpl.oneUid(1l),FetchGroupImpl.MIME_MESSAGE,
 session));
         assertNotNull(messageResult);
         assertEquals(1,messageResult.size());
         
//((MessageResult)messageResult.get(0)).getMimeMessage().writeTo(System.out);
@@ -85,8 +86,8 @@
         
         Flags f=new Flags();
         f.add(Flags.Flag.DELETED);
-        torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), 
MessageResult.MINIMAL, session);
-        List 
messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL,
 session));
+        torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), 
FetchGroupImpl.MINIMAL, session);
+        List 
messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),FetchGroupImpl.MINIMAL,
 session));
         assertEquals(1,messageResults.size());
         assertEquals(1l,((MessageResult)messageResults.get(0)).getUid());
     }

Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
 Mon Feb  4 12:44:48 2008
@@ -35,7 +35,7 @@
 import org.apache.commons.collections.IteratorUtils;
 import org.apache.james.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.MailboxSession;
-import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
@@ -114,7 +114,7 @@
         final Iterator it;
         try {
             it = getShadowMailbox().getMessages(GeneralMessageSetImpl.all(),
-                    MessageResult.MIME_MESSAGE, session);
+                    FetchGroupImpl.MIME_MESSAGE, session);
 
         } catch (MailboxManagerException e) {
             throw new RuntimeException(e);
@@ -126,7 +126,7 @@
     protected void nativeStoreMessage(MimeMessage mm) {
         try {
             getShadowMailbox().appendMessage(mm, new Date(),
-                    MessageResult.MINIMAL, session);
+                    FetchGroupImpl.MINIMAL, session);
         } catch (MailboxManagerException e) {
             throw new RuntimeException(e);
         }

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/MessageRowUtils.java
 Mon Feb  4 12:44:48 2008
@@ -36,6 +36,7 @@
 import org.apache.james.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.MessageResult.Content;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
 import org.apache.james.mailboxmanager.impl.MessageFlags;
 import org.apache.james.mailboxmanager.impl.MessageResultImpl;
 import org.apache.james.mailboxmanager.torque.om.MessageBody;
@@ -253,41 +254,41 @@
         MessageResultImpl messageResult = new MessageResultImpl();
         messageResult.setUid(messageRow.getUid());
         
-        if ((result & MessageResult.MIME_MESSAGE) > 0) {
+        if ((result & FetchGroup.MIME_MESSAGE) > 0) {
             
messageResult.setMimeMessage(TorqueMimeMessage.createMessage(messageRow));
-            result -= MessageResult.MIME_MESSAGE;
+            result -= FetchGroup.MIME_MESSAGE;
         }
-        if ((result & MessageResult.FLAGS) > 0) {
+        if ((result & FetchGroup.FLAGS) > 0) {
             org.apache.james.mailboxmanager.torque.om.MessageFlags messageFlags
                 = messageRow.getMessageFlags();
             if (messageFlags!=null) {
                 messageResult.setFlags(messageFlags.getFlagsObject());  
             }
-            result -= MessageResult.FLAGS;
+            result -= FetchGroup.FLAGS;
         }
-        if ((result & MessageResult.SIZE) > 0) {
+        if ((result & FetchGroup.SIZE) > 0) {
             messageResult.setSize(messageRow.getSize());
-            result -= MessageResult.SIZE;
+            result -= FetchGroup.SIZE;
         }
-        if ((result & MessageResult.INTERNAL_DATE) > 0) {
+        if ((result & FetchGroup.INTERNAL_DATE) > 0) {
             messageResult.setInternalDate(messageRow.getInternalDate());
-            result -= MessageResult.INTERNAL_DATE;
+            result -= FetchGroup.INTERNAL_DATE;
         }
-        if ((result & MessageResult.KEY) > 0) {
+        if ((result & FetchGroup.KEY) > 0) {
             messageResult.setKey(uidToKeyConverter.toKey(messageRow.getUid()));
-            result -= MessageResult.KEY;
+            result -= FetchGroup.KEY;
         }
-        if ((result & MessageResult.HEADERS) > 0) {
+        if ((result & FetchGroup.HEADERS) > 0) {
             messageResult.setHeaders(createHeaders(messageRow));
-            result -= MessageResult.HEADERS;
+            result -= FetchGroup.HEADERS;
         }
-        if ((result & MessageResult.BODY_CONTENT) > 0) {
+        if ((result & FetchGroup.BODY_CONTENT) > 0) {
             messageResult.setMessageBody(createBodyContent(messageRow));
-            result -= MessageResult.BODY_CONTENT;
+            result -= FetchGroup.BODY_CONTENT;
         }
-        if ((result & MessageResult.FULL_CONTENT) > 0) {
+        if ((result & FetchGroup.FULL_CONTENT) > 0) {
             messageResult.setFullMessage(createFullContent(messageRow, 
messageResult.getHeaders()));
-            result -= MessageResult.FULL_CONTENT;
+            result -= FetchGroup.FULL_CONTENT;
         }
         if (result != 0) {
             throw new RuntimeException("Unsupported result: " + result);

Added: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/OrFetchGroup.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/OrFetchGroup.java?rev=618429&view=auto
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/OrFetchGroup.java
 (added)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/OrFetchGroup.java
 Mon Feb  4 12:44:48 2008
@@ -0,0 +1,53 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailboxmanager.torque;
+
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+
+/**
+ * Wraps a fetch group and ORs content.
+ */
+public final class OrFetchGroup implements FetchGroup {
+
+    private final FetchGroup delegate;
+    private final int or;
+    
+    public OrFetchGroup(final FetchGroup delegate, final int or) {
+        super();
+        this.delegate = delegate;
+        this.or = or;
+    }
+
+    public int content() {
+        return or | delegate.content();
+    }
+
+    public int[] mimeHeaders() {
+        return delegate.mimeHeaders();
+    }
+
+    public int[] mimeParts() {
+        return delegate.mimeParts();
+    }
+
+    public String toString() {
+        return "Fetch " + or + " OR " + delegate;
+    }
+}

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 Mon Feb  4 12:44:48 2008
@@ -43,6 +43,8 @@
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.SearchParameters;
 import org.apache.james.mailboxmanager.UnsupportedCriteriaException;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
 import org.apache.james.mailboxmanager.mailbox.AbstractImapMailbox;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -113,7 +115,7 @@
     }
 
     public MessageResult appendMessage(MimeMessage message, Date internalDate,
-            int result, MailboxSession mailboxSession) throws 
MailboxManagerException {
+            FetchGroup fetchGroup, MailboxSession mailboxSession) throws 
MailboxManagerException {
 
         try {
             checkAccess();
@@ -147,7 +149,7 @@
                     messageRow.addMessageBody(mb);
 
                     save(messageRow);
-                    MessageResult messageResult = 
fillMessageResult(messageRow, result);
+                    MessageResult messageResult = 
fillMessageResult(messageRow, fetchGroup);
                     getUidChangeTracker().found(messageResult);
                     return messageResult;
                 } catch (Exception e) {
@@ -263,7 +265,7 @@
         return criteria;
     }
 
-    public Iterator getMessages(GeneralMessageSet set, int result, 
MailboxSession mailboxSession)
+    public Iterator getMessages(GeneralMessageSet set, FetchGroup fetchGroup, 
MailboxSession mailboxSession)
             throws MailboxManagerException {
         try {
             lock.readLock().acquire();
@@ -277,7 +279,7 @@
                 try {
                     Criteria c = criteriaForMessageSet(set);
                     
c.add(MessageFlagsPeer.MAILBOX_ID,getMailboxRow().getMailboxId());
-                    return getMessages(result, range, c);
+                    return getMessages(fetchGroup, range, c);
                 } catch (TorqueException e) {
                     throw new MailboxManagerException(e);
                 } catch (MessagingException e) {
@@ -291,7 +293,7 @@
         }
     }
 
-    private TorqueResultIterator getMessages(int result, UidRange range, 
Criteria c) throws TorqueException, MessagingException, MailboxManagerException 
{
+    private TorqueResultIterator getMessages(FetchGroup result, UidRange 
range, Criteria c) throws TorqueException, MessagingException, 
MailboxManagerException {
         List rows = MessageRowPeer.doSelectJoinMessageFlags(c);
         Collections.sort(rows, MessageRowUtils.getUidComparator());
         final TorqueResultIterator results = new TorqueResultIterator(rows, 
result, getUidToKeyConverter());
@@ -312,9 +314,9 @@
     }
 
 
-    public MessageResult fillMessageResult(MessageRow messageRow, int result)
+    public MessageResult fillMessageResult(MessageRow messageRow, FetchGroup 
result)
             throws TorqueException, MessagingException, 
MailboxManagerException {
-        return MessageRowUtils.loadMessageResult(messageRow, result, 
getUidToKeyConverter());
+        return MessageRowUtils.loadMessageResult(messageRow, result.content(), 
getUidToKeyConverter());
     }
     
     public synchronized Flags getPermanentFlags() {
@@ -353,7 +355,7 @@
         }
     }
 
-    public MessageResult getFirstUnseen(int result, MailboxSession 
mailboxSession)
+    public MessageResult getFirstUnseen(FetchGroup fetchGroup, MailboxSession 
mailboxSession)
             throws MailboxManagerException {
         try {
             lock.readLock().acquire();
@@ -373,7 +375,7 @@
                 try {
                     List messageRows = getMailboxRow().getMessageRows(c);
                     if (messageRows.size() > 0) {
-                        MessageResult 
messageResult=fillMessageResult((MessageRow) messageRows.get(0), result);
+                        MessageResult 
messageResult=fillMessageResult((MessageRow) messageRows.get(0), fetchGroup);
                         if (messageResult!=null) {
                             getUidChangeTracker().found(messageResult);
                         }
@@ -416,12 +418,12 @@
         }
     }
 
-    public Iterator expunge(GeneralMessageSet set, int result, MailboxSession 
mailboxSession)
+    public Iterator expunge(GeneralMessageSet set, FetchGroup fetchGroup, 
MailboxSession mailboxSession)
             throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
-                return doExpunge(set, result);
+                return doExpunge(set, fetchGroup);
             } finally {
                 lock.writeLock().release();
             }
@@ -431,7 +433,7 @@
         }
     }
 
-    private Iterator doExpunge(GeneralMessageSet set, int result) throws 
MailboxManagerException {
+    private Iterator doExpunge(GeneralMessageSet set, FetchGroup fetchGroup) 
throws MailboxManagerException {
         checkAccess();
         set=toUidSet(set);  
         if (!set.isValid() || set.getType()==GeneralMessageSet.TYPE_NOTHING) {
@@ -447,8 +449,8 @@
 
             final List messageRows = getMailboxRow().getMessageRows(c);
             final long[] uids = uids(messageRows);
-            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows, result
-                    | MessageResult.FLAGS, getUidToKeyConverter());
+            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup, 
FetchGroup.FLAGS);
+            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows, orFetchGroup, getUidToKeyConverter());
             // ensure all results are loaded before deletion
             Collection messageResults = IteratorUtils.toList(resultIterator);
             
@@ -477,12 +479,12 @@
     }
 
     public Iterator setFlags(Flags flags, boolean value, boolean replace,
-            GeneralMessageSet set, int result, MailboxSession mailboxSession)
+            GeneralMessageSet set, FetchGroup fetchGroup, MailboxSession 
mailboxSession)
             throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
-                return doSetFlags(flags, value, replace, set, result, 
mailboxSession);
+                return doSetFlags(flags, value, replace, set, fetchGroup, 
mailboxSession);
             } finally {
                 lock.writeLock().release();
             }
@@ -493,7 +495,7 @@
     }
 
     private Iterator doSetFlags(Flags flags, boolean value, boolean replace, 
-            GeneralMessageSet set, int results, MailboxSession mailboxSession) 
throws MailboxManagerException {
+            GeneralMessageSet set, FetchGroup fetchGroup, MailboxSession 
mailboxSession) throws MailboxManagerException {
         checkAccess();
         set=toUidSet(set);  
         if (!set.isValid() || set.getType()==GeneralMessageSet.TYPE_NOTHING) {
@@ -523,8 +525,9 @@
                     messageFlags.save();
                 }
             }
+            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup, 
FetchGroup.FLAGS);
             final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows,
-                    results | MessageResult.FLAGS, getUidToKeyConverter());
+                    orFetchGroup, getUidToKeyConverter());
             final org.apache.james.mailboxmanager.impl.MessageFlags[] 
messageFlags = resultIterator.getMessageFlags();
             tracker.flagsUpdated(messageFlags, mailboxSession.getSessionId());
             tracker.found(uidRange, messageFlags);
@@ -612,7 +615,7 @@
     }
 
     public Iterator search(GeneralMessageSet set, SearchParameters parameters,
-            int result, MailboxSession mailboxSession) throws 
MailboxManagerException {
+            FetchGroup fetchGroup, MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -715,7 +718,7 @@
                     }
                 }
                 
-                final Iterator results = getMessages(result, new UidRange(1, 
-1), builder.getCriteria());
+                final Iterator results = getMessages(fetchGroup, new 
UidRange(1, -1), builder.getCriteria());
                 return results;
             } catch (TorqueException e) {
                 throw new MailboxManagerException(e);
@@ -741,8 +744,8 @@
             lock.writeLock().acquire();
             try {
                 final Flags flags = new Flags(Flags.Flag.DELETED);
-                doSetFlags(flags, true, false, set, MessageResult.MINIMAL, 
mailboxSession);
-                doExpunge(set, MessageResult.MINIMAL);
+                doSetFlags(flags, true, false, set, FetchGroupImpl.MINIMAL, 
mailboxSession);
+                doExpunge(set, FetchGroupImpl.MINIMAL);
             } finally {
                 lock.writeLock().release();
             }

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 Mon Feb  4 12:44:48 2008
@@ -37,6 +37,8 @@
 import org.apache.james.mailboxmanager.MailboxNotFoundException;
 import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.ListResultImpl;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
 import org.apache.james.mailboxmanager.mailbox.Mailbox;
@@ -53,6 +55,7 @@
 
 public class TorqueMailboxManager implements MailboxManager {
 
+    private static final FetchGroupImpl FROM_FETCH_GROUP = new 
FetchGroupImpl(FetchGroup.MIME_MESSAGE | FetchGroup.INTERNAL_DATE);
     private static final char SQL_WILDCARD_CHAR = '%';
     private final static Random random = new Random();
     
@@ -205,11 +208,11 @@
     public void copyMessages(GeneralMessageSet set, String from, String to, 
MailboxSession session) throws MailboxManagerException {
         ImapMailbox toMailbox= getImapMailbox(to, false);
         ImapMailbox fromMailbox = getImapMailbox(from, false);
-        Iterator it = fromMailbox.getMessages(set, MessageResult.MIME_MESSAGE 
| MessageResult.INTERNAL_DATE, session);
+        Iterator it = fromMailbox.getMessages(set, FROM_FETCH_GROUP, session);
         while (it.hasNext()) {
             final MessageResult result = (MessageResult) it.next();
             final MimeMessage mimeMessage = result.getMimeMessage();
-            toMailbox.appendMessage(mimeMessage, result.getInternalDate(), 
MessageResult.MINIMAL, session);
+            toMailbox.appendMessage(mimeMessage, result.getInternalDate(), 
FetchGroupImpl.MINIMAL, session);
         }
     }
 

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java?rev=618429&r1=618428&r2=618429&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 Mon Feb  4 12:44:48 2008
@@ -32,6 +32,8 @@
 import org.apache.commons.collections.buffer.BoundedFifoBuffer;
 import org.apache.james.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.MessageResult;
+import org.apache.james.mailboxmanager.MessageResult.FetchGroup;
+import org.apache.james.mailboxmanager.impl.FetchGroupImpl;
 import org.apache.james.mailboxmanager.impl.MessageFlags;
 import org.apache.james.mailboxmanager.torque.om.MessageRow;
 import org.apache.james.mailboxmanager.util.UidToKeyConverter;
@@ -40,10 +42,10 @@
 public class TorqueResultIterator implements Iterator {
 
     private final Buffer messageRows;
-    private final int result;
+    private final FetchGroup fetchGroup;
     private final UidToKeyConverter uidToKeyConverter;
     
-    public TorqueResultIterator(final Collection messageRows, final int result,
+    public TorqueResultIterator(final Collection messageRows, final FetchGroup 
fetchGroup,
             final UidToKeyConverter uidToKeyConverter) {
         super();
         if (messageRows == null || messageRows.isEmpty()) {
@@ -51,7 +53,7 @@
         } else {
             this.messageRows = new BoundedFifoBuffer(messageRows);
         }
-        this.result = result;
+        this.fetchGroup = fetchGroup;
         this.uidToKeyConverter = uidToKeyConverter;
     }
 
@@ -81,7 +83,7 @@
         try {
         
             result = MessageRowUtils.loadMessageResult(messageRow, 
-                    this.result, uidToKeyConverter);
+                    this.fetchGroup.content(), uidToKeyConverter);
         } catch (TorqueException e) {
             result = new UnloadedMessageResult(messageRow, new 
MailboxManagerException(e));
         } catch (MailboxManagerException e) {
@@ -95,7 +97,7 @@
     }
 
     private static final class UnloadedMessageResult implements MessageResult {
-        private static final int results = MessageResult.INTERNAL_DATE | 
MessageResult.SIZE;
+        private static final FetchGroup FETCH_GROUP = new 
FetchGroupImpl(FetchGroup.INTERNAL_DATE | FetchGroup.SIZE);
         
         private final MailboxManagerException exception;
         private final Date internalDate;
@@ -118,8 +120,8 @@
             throw exception;
         }
 
-        public int getIncludedResults() {
-            return results;
+        public FetchGroup getIncludedResults() {
+            return FETCH_GROUP;
         }
 
         public Date getInternalDate() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to