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]
