Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/SelectedMailboxSession.java Thu Dec 6 03:05:19 2007 @@ -20,6 +20,7 @@ package org.apache.james.imapserver; import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -29,26 +30,29 @@ import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; +import org.apache.james.mailboxmanager.tracking.UidToMsnConverter; import org.apache.james.mailboxmanager.util.MailboxEventAnalyser; //TODO: manage mailbox deletion public class SelectedMailboxSession extends AbstractLogEnabled { - private ImapMailboxSession mailbox; - private final MailboxEventAnalyser events; - public SelectedMailboxSession(ImapMailboxSession mailbox) throws MailboxManagerException { + private final ImapMailbox mailbox; + private final UidToMsnConverter converter; + + public SelectedMailboxSession(ImapMailbox mailbox, Collection uids) throws MailboxManagerException { this.mailbox = mailbox; + converter = new UidToMsnConverter(mailbox.getSessionId(), uids); final long sessionId = mailbox.getSessionId(); events = new MailboxEventAnalyser(sessionId); mailbox.addListener(events); + mailbox.addListener(converter); } public void deselect() { mailbox.removeListener(events); - mailbox = null; } public boolean isSizeChanged() { @@ -64,7 +68,7 @@ for (final Iterator it = events.flagUpdateUids(); it.hasNext();) { Long uid = (Long) it.next(); GeneralMessageSet messageSet = GeneralMessageSetImpl.oneUid(uid.longValue()); - final Iterator messages = mailbox.getMessages(messageSet, MessageResult.FLAGS | MessageResult.MSN); + final Iterator messages = mailbox.getMessages(messageSet, MessageResult.FLAGS); results.addAll(IteratorUtils.toList(messages)); } return results.iterator(); @@ -72,14 +76,26 @@ public void close() throws MailboxManagerException { mailbox.removeListener(events); - mailbox=null; + mailbox.removeListener(converter); } - public ImapMailboxSession getMailbox() { + public ImapMailbox getMailbox() { return mailbox; } public void setSilent(boolean silent) { events.setSilentFlagChanges(silent); + } + + public Iterator getExpungedEvents(boolean reset) throws MailboxManagerException { + return converter.getExpungedEvents(reset); + } + + public int msn(long uid) { + return converter.getMsn(uid); + } + + public long uid(int msn) { + return converter.getUid(msn); } }
Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/AppendCommand.java Thu Dec 6 03:05:19 2007 @@ -34,7 +34,7 @@ import org.apache.james.imapserver.ProtocolException; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the APPEND imap command. @@ -66,10 +66,10 @@ MimeMessage message = parser.mimeMessage( request ); parser.endLine( request ); - ImapMailboxSession mailbox = null; + ImapMailbox mailbox = null; try { mailboxName=session.buildFullName(mailboxName); - mailbox = session.getMailboxManager().getImapMailboxSession(mailboxName); + mailbox = session.getMailboxManager().getImapMailbox(mailboxName); } catch ( MailboxManagerException mme ) { MailboxException me = new MailboxException(mme); Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CloseCommand.java Thu Dec 6 03:05:19 2007 @@ -27,7 +27,7 @@ import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the CHECK imap command. @@ -46,10 +46,10 @@ throws ProtocolException, MailboxException { parser.endLine( request ); - ImapMailboxSession mailbox = session.getSelected().getMailbox(); + ImapMailbox mailbox = session.getSelected().getMailbox(); if ( session.getSelected().getMailbox().isWriteable() ) { try { - mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.NOTHING); + mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL); } catch (MailboxManagerException e) { throw new MailboxException(e); } Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CopyCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CopyCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CopyCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/CopyCommand.java Thu Dec 6 03:05:19 2007 @@ -27,7 +27,7 @@ import org.apache.james.mailboxmanager.GeneralMessageSet; import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the COPY imap command. @@ -58,7 +58,7 @@ String mailboxName = parser.mailbox( request ); parser.endLine( request ); - ImapMailboxSession currentMailbox = session.getSelected().getMailbox(); + ImapMailbox currentMailbox = session.getSelected().getMailbox(); try { @@ -69,7 +69,17 @@ throw e; } for (int i = 0; i < idSet.length; i++) { - GeneralMessageSet messageSet=GeneralMessageSetImpl.range(idSet[i].getLowVal(),idSet[i].getHighVal(),useUids); + final long lowVal; + final long highVal; + if (useUids) { + lowVal = idSet[i].getLowVal(); + highVal = idSet[i].getHighVal(); + } else { + lowVal = session.getSelected().uid((int) idSet[i].getLowVal()); + highVal = session.getSelected().uid((int) idSet[i].getHighVal()); + } + GeneralMessageSet messageSet + = GeneralMessageSetImpl.uidRange(lowVal,highVal); session.getMailboxManager().copyMessages(currentMailbox,messageSet,mailboxName); } } catch (MailboxManagerException e) { Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/DeleteCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/DeleteCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/DeleteCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/DeleteCommand.java Thu Dec 6 03:05:19 2007 @@ -26,7 +26,6 @@ import org.apache.james.imapserver.ProtocolException; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; /** * Handles processeing for the DELETE imap command. Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/ExpungeCommand.java Thu Dec 6 03:05:19 2007 @@ -27,7 +27,7 @@ import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the EXPUNGE imap command. @@ -47,13 +47,13 @@ { parser.endLine( request ); - ImapMailboxSession mailbox = session.getSelected().getMailbox(); + ImapMailbox mailbox = session.getSelected().getMailbox(); if (!mailbox.isWriteable()) { response.commandFailed( this, "Mailbox selected read only." ); } try { - mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.NOTHING); + mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL); } catch (MailboxManagerException e) { throw new MailboxException(e); } Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/FetchCommand.java Thu Dec 6 03:05:19 2007 @@ -34,6 +34,7 @@ import org.apache.james.imapserver.ImapResponse; import org.apache.james.imapserver.ImapSession; import org.apache.james.imapserver.ProtocolException; +import org.apache.james.imapserver.SelectedMailboxSession; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.imapserver.store.SimpleMessageAttributes; import org.apache.james.mailboxmanager.GeneralMessageSet; @@ -42,7 +43,7 @@ import org.apache.james.mailboxmanager.MessageResultUtils; import org.apache.james.mailboxmanager.MessageResult.Content; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; import org.apache.mailet.dates.RFC822DateFormat; /** @@ -81,9 +82,19 @@ } final int resultToFetch = fetch.getNeededMessageResult(); - final ImapMailboxSession mailbox = session.getSelected().getMailbox(); + final SelectedMailboxSession selected = session.getSelected(); + final ImapMailbox mailbox = selected.getMailbox(); for (int i = 0; i < idSet.length; i++) { - final GeneralMessageSet messageSet=GeneralMessageSetImpl.range(idSet[i].getLowVal(),idSet[i].getHighVal(),useUids); + final long lowVal; + final long highVal; + if (useUids) { + lowVal = idSet[i].getLowVal(); + highVal = idSet[i].getHighVal(); + } else { + lowVal = selected.uid((int) idSet[i].getLowVal()); + highVal = selected.uid((int) idSet[i].getHighVal()); + } + final GeneralMessageSet messageSet=GeneralMessageSetImpl.uidRange(lowVal,highVal); final Iterator it; try { it = mailbox.getMessages(messageSet,resultToFetch); @@ -93,7 +104,8 @@ while (it.hasNext()) { final MessageResult result = (MessageResult) it.next(); String msgData = outputMessage( fetch, result, mailbox, useUids ); - response.fetchResponse( result.getMsn(), msgData ); + final int msn = selected.msn(result.getUid()); + response.fetchResponse( msn, msgData ); } } @@ -104,7 +116,7 @@ } private String outputMessage(FetchRequest fetch, MessageResult result, - ImapMailboxSession mailbox, boolean useUids) + ImapMailbox mailbox, boolean useUids) throws MailboxException, ProtocolException { // Check if this fetch will cause the "SEEN" flag to be set on this // message @@ -115,7 +127,7 @@ if (fetch.isSetSeen() && !result.getFlags().contains(Flags.Flag.SEEN)) { mailbox.setFlags(new Flags(Flags.Flag.SEEN), true, false, - GeneralMessageSetImpl.oneUid(result.getUid()), MessageResult.NOTHING); + GeneralMessageSetImpl.oneUid(result.getUid()), MessageResult.MINIMAL); result.getFlags().add(Flags.Flag.SEEN); ensureFlagsResponse = true; } @@ -509,7 +521,7 @@ } public int getNeededMessageResult() { - int result = MessageResult.MSN; + int result = MessageResult.MINIMAL; if (flags || setSeen) { result |= MessageResult.FLAGS; } @@ -518,9 +530,6 @@ } if (size) { result |= MessageResult.SIZE; - } - if (uid) { - result |= MessageResult.UID; } if (mailFetchElement) { result |= MessageResult.MIME_MESSAGE; Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SearchCommand.java Thu Dec 6 03:05:19 2007 @@ -25,6 +25,7 @@ import org.apache.james.imapserver.ImapResponse; import org.apache.james.imapserver.ImapSession; import org.apache.james.imapserver.ProtocolException; +import org.apache.james.imapserver.SelectedMailboxSession; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; @@ -32,7 +33,7 @@ import org.apache.james.mailboxmanager.SearchParameters.NumericRange; import org.apache.james.mailboxmanager.SearchParameters.SearchCriteria; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the SEARCH imap command. @@ -65,13 +66,9 @@ SearchParameters searchTerm = parser.searchTerm( request ); parser.endLine( request ); - ImapMailboxSession mailbox = session.getSelected().getMailbox(); - final int result; - if (useUids) { - result= MessageResult.UID; - } else { - result= MessageResult.MSN; - } + final SelectedMailboxSession selected = session.getSelected(); + ImapMailbox mailbox = selected.getMailbox(); + final int result = MessageResult.MINIMAL; final Iterator it; try { it = mailbox.search(GeneralMessageSetImpl.all(),searchTerm, result); @@ -87,11 +84,11 @@ idList.append( SP ); } final MessageResult message = (MessageResult) it.next(); + final long uid = message.getUid(); if ( useUids ) { - final long uid = message.getUid(); idList.append( uid ); } else { - final int msn = message.getMsn(); + final int msn = selected.msn(uid); idList.append( msn ); } } Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/SelectCommand.java Thu Dec 6 03:05:19 2007 @@ -19,14 +19,20 @@ package org.apache.james.imapserver.commands; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import org.apache.james.imapserver.ImapRequestLineReader; import org.apache.james.imapserver.ImapResponse; import org.apache.james.imapserver.ImapSession; import org.apache.james.imapserver.ProtocolException; +import org.apache.james.imapserver.SelectedMailboxSession; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the SELECT imap command. @@ -54,20 +60,22 @@ try { mailboxName=session.buildFullName(mailboxName); selectMailbox(mailboxName, session, isExamine); - ImapMailboxSession mailbox = session.getSelected().getMailbox(); + final SelectedMailboxSession selected = session.getSelected(); + ImapMailbox mailbox = selected.getMailbox(); response.flagsResponse(mailbox.getPermanentFlags()); final boolean resetRecent = !isExamine; response.recentResponse(mailbox.getRecentCount(resetRecent)); response .okResponse("UIDVALIDITY " + mailbox.getUidValidity(), null); - MessageResult firstUnseen = mailbox.getFirstUnseen(MessageResult.MSN); + MessageResult firstUnseen = mailbox.getFirstUnseen(MessageResult.MINIMAL); response.existsResponse(mailbox.getMessageCount()); if (firstUnseen != null) { - response.okResponse("UNSEEN " + firstUnseen.getMsn(), "Message " - + firstUnseen.getMsn() + " is the first unseen"); + final int msn = selected.msn(firstUnseen.getUid()); + response.okResponse("UNSEEN " + msn, "Message " + + msn + " is the first unseen"); } else { response.okResponse(null, "No messages unseen"); } @@ -84,9 +92,15 @@ } private boolean selectMailbox(String mailboxName, ImapSession session, boolean readOnly) throws MailboxException, MailboxManagerException { - ImapMailboxSession mailbox = session.getMailboxManager().getImapMailboxSession(mailboxName); - - session.setSelected( mailbox, readOnly ); + ImapMailbox mailbox = session.getMailboxManager().getImapMailbox(mailboxName); + final Iterator it = mailbox.getMessages(GeneralMessageSetImpl + .all(), MessageResult.MINIMAL); + final List uids = new ArrayList(); + while(it.hasNext()) { + final MessageResult result = (MessageResult) it.next(); + uids.add(new Long(result.getUid())); + } + session.setSelected( mailbox, readOnly, uids ); return readOnly; } Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StatusCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StatusCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StatusCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StatusCommand.java Thu Dec 6 03:05:19 2007 @@ -26,7 +26,7 @@ import org.apache.james.imapserver.ProtocolException; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the STATUS imap command. @@ -68,7 +68,7 @@ logger.debug("Status called on mailbox named " + mailboxName + " (" + fullMailboxName + ")"); } - ImapMailboxSession mailbox = session.getMailboxManager().getImapMailboxSession(fullMailboxName); + ImapMailbox mailbox = session.getMailboxManager().getImapMailbox(fullMailboxName); if (statusDataItems.messages) { buffer.append(MESSAGES); Modified: james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java (original) +++ james/server/trunk/imapserver-function/src/main/java/org/apache/james/imapserver/commands/StoreCommand.java Thu Dec 6 03:05:19 2007 @@ -31,7 +31,7 @@ import org.apache.james.mailboxmanager.MailboxManagerException; import org.apache.james.mailboxmanager.MessageResult; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; /** * Handles processeing for the STORE imap command. @@ -70,7 +70,7 @@ if (directive.isSilent()) { selected.setSilent(true); } - ImapMailboxSession mailbox = selected.getMailbox(); + ImapMailbox mailbox = selected.getMailbox(); final boolean replace; final boolean value; @@ -88,11 +88,19 @@ } try { for (int i = 0; i < idSet.length; i++) { + final long lowVal; + final long highVal; + if (useUids) { + lowVal = idSet[i].getLowVal(); + highVal = idSet[i].getHighVal(); + } else { + lowVal = selected.uid((int) idSet[i].getLowVal()); + highVal = selected.uid((int) idSet[i].getHighVal()); + } final GeneralMessageSet messageSet = GeneralMessageSetImpl - .range(idSet[i].getLowVal(), idSet[i].getHighVal(), - useUids); + .uidRange(lowVal, highVal); - mailbox.setFlags(flags, value, replace, messageSet, MessageResult.NOTHING); + mailbox.setFlags(flags, value, replace, messageSet, MessageResult.MINIMAL); } } catch (MailboxManagerException e) { throw new MailboxException(e); Modified: james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/client/ExpungeClientCommand.java URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/client/ExpungeClientCommand.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/client/ExpungeClientCommand.java (original) +++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/client/ExpungeClientCommand.java Thu Dec 6 03:05:19 2007 @@ -34,14 +34,11 @@ List expungedMsns = new ArrayList(); public ExpungeClientCommand(MimeMessage[] msgs) throws MessagingException { - int msnOffset = 0; - command = "EXPUNGE"; statusResponse = "OK EXPUNGE completed."; for (int i = 0; i < msgs.length; i++) { if (msgs[i].getFlags().contains(Flags.Flag.DELETED)) { - expungedMsns.add(new Integer(i + msnOffset + 1)); - msnOffset--; + expungedMsns.add(new Integer(i + 1)); } } } Modified: james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java?rev=601701&r1=601700&r2=601701&view=diff ============================================================================== --- james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java (original) +++ james/server/trunk/phoenix-deployment/src/test/org/apache/james/imapserver/handler/session/AbstractSessionTest.java Thu Dec 6 03:05:19 2007 @@ -54,7 +54,7 @@ import org.apache.james.mailboxmanager.MessageResult; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; import org.apache.james.mailboxmanager.mailbox.GeneralMailbox; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; import org.apache.james.mailboxmanager.manager.MailboxExpression; import org.apache.james.mailboxmanager.manager.MailboxManager; import org.apache.james.test.mock.avalon.MockLogger; @@ -94,38 +94,38 @@ } public void appendMessagesClosed(String folder,MimeMessage[] msgs) throws MailboxManagerException, MessagingException { - GeneralMailbox mailbox=getImapMailboxSession(folder); + GeneralMailbox mailbox=getImapMailbox(folder); for (int i = 0; i < msgs.length; i++) { msgs[i].setFlags(new Flags(Flags.Flag.RECENT), true); - mailbox.appendMessage(msgs[i],new Date(),MessageResult.NOTHING); + mailbox.appendMessage(msgs[i],new Date(),MessageResult.MINIMAL); } } public long[] addUIDMessagesOpen(String folder,MimeMessage[] msgs) throws MailboxManagerException, MessagingException { - GeneralMailbox mailbox=getImapMailboxSession(folder); + GeneralMailbox mailbox=getImapMailbox(folder); long[] uids=new long[msgs.length]; for (int i = 0; i < msgs.length; i++) { msgs[i].setFlags(new Flags(Flags.Flag.RECENT), false); - uids[i]=mailbox.appendMessage(msgs[i],new Date(),MessageResult.UID).getUid(); + uids[i]=mailbox.appendMessage(msgs[i],new Date(),MessageResult.MINIMAL).getUid(); } return uids; } public long getUidValidity(String folder) throws MailboxManagerException { - ImapMailboxSession mailbox=getImapMailboxSession(folder); + ImapMailbox mailbox=getImapMailbox(folder); long uidv=mailbox.getUidValidity(); return uidv; } public long getUidNext(String folder) throws MailboxManagerException { - ImapMailboxSession mailbox=getImapMailboxSession(folder); + ImapMailbox mailbox=getImapMailbox(folder); long uidNext=mailbox.getUidNext(); return uidNext; } public MimeMessage[] getMessages(String folder) throws MailboxManagerException { - GeneralMailbox mailbox=getImapMailboxSession(folder); + GeneralMailbox mailbox=getImapMailbox(folder); Iterator iterator =mailbox.getMessages(GeneralMessageSetImpl.all(),MessageResult.MIME_MESSAGE); List messages = IteratorUtils.toList(iterator); MimeMessage[] mms=new MimeMessage[messages.size()]; @@ -136,8 +136,8 @@ } public long[] getUids(String folder) throws MailboxManagerException { - GeneralMailbox mailbox=getImapMailboxSession(folder); - Iterator iterator = mailbox.getMessages(GeneralMessageSetImpl.all(),MessageResult.UID); + GeneralMailbox mailbox=getImapMailbox(folder); + Iterator iterator = mailbox.getMessages(GeneralMessageSetImpl.all(),MessageResult.MINIMAL); List messages = IteratorUtils.toList(iterator); long[] uids=new long[messages.size()]; for (int i = 0; i < messages.size(); i++) { @@ -182,9 +182,9 @@ } public void deleteAll(String folder) throws MailboxManagerException { - ImapMailboxSession mailbox=getImapMailboxSession(folder); - mailbox.setFlags(new Flags(Flag.DELETED),true,false,GeneralMessageSetImpl.all(), MessageResult.NOTHING); - mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.NOTHING); + ImapMailbox mailbox=getImapMailbox(folder); + mailbox.setFlags(new Flags(Flag.DELETED),true,false,GeneralMessageSetImpl.all(), MessageResult.MINIMAL); + mailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL); } public BufferedReader handleRequestReader(String s) throws ProtocolException { @@ -267,13 +267,13 @@ } public void setFlags(String mailboxName,long fromUid,long toUid,Flags flags, boolean value, boolean replace) throws MailboxManagerException { - ImapMailboxSession mailbox=getImapMailboxSession(mailboxName); - mailbox.setFlags(flags, value, replace, GeneralMessageSetImpl.uidRange(fromUid, toUid), MessageResult.NOTHING); + ImapMailbox mailbox=getImapMailbox(mailboxName); + mailbox.setFlags(flags, value, replace, GeneralMessageSetImpl.uidRange(fromUid, toUid), MessageResult.MINIMAL); } - private ImapMailboxSession getImapMailboxSession(String mailboxName) throws MailboxManagerException { + private ImapMailbox getImapMailbox(String mailboxName) throws MailboxManagerException { int[] neededSets = new int[] {GeneralMessageSet.TYPE_UID}; - int neededResults= MessageResult.UID + MessageResult.MIME_MESSAGE + MessageResult.FLAGS; - ImapMailboxSession mailboxSession= mailboxManager.getImapMailboxSession(mailboxName); + int neededResults= MessageResult.MIME_MESSAGE + MessageResult.FLAGS; + ImapMailbox mailboxSession= mailboxManager.getImapMailbox(mailboxName); return mailboxSession; } } 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -32,14 +32,14 @@ import org.apache.commons.collections.IteratorUtils; import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl; import org.apache.james.mailboxmanager.impl.MailboxListenerCollector; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; +import org.apache.james.mailboxmanager.mailbox.ImapMailbox; import org.apache.james.mailboxmanager.manager.MailboxManager; public abstract class AbstractImapMailboxSelfTestCase extends TestCase { protected MailboxManager mailboxManager; - protected ImapMailboxSession mailbox; + protected ImapMailbox mailbox; protected MailboxListenerCollector collector; @@ -48,7 +48,7 @@ public void setUp() throws Exception { super.setUp(); mailboxManager.createMailbox(INBOX); - mailbox=mailboxManager.getImapMailboxSession(INBOX); + mailbox=mailboxManager.getImapMailbox(INBOX); collector=new MailboxListenerCollector(); mailbox.addListener(collector); assertNotNull(mailbox); @@ -59,86 +59,34 @@ 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.UID); + MessageResult mr=mailbox.appendMessage(mm, new Date(), MessageResult.MINIMAL); assertEquals(i+1, mr.getUid()); } for (int i = 0; i < 3; i++) { - MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.UID); + MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.MINIMAL); 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.UID); + MessageResult mr=mailbox.appendMessage(mm, new Date(), MessageResult.MINIMAL); assertEquals(i+9, mr.getUid()); } MessageResult mr; - mr=mailbox.getFirstUnseen(MessageResult.UID | MessageResult.MSN); + mr=mailbox.getFirstUnseen(MessageResult.MINIMAL); assertNotNull(mr); assertEquals(6, mr.getUid()); - assertEquals(6, mr.getMsn()); - mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, GeneralMessageSetImpl.uidRange(1,3), MessageResult.NOTHING); + mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, GeneralMessageSetImpl.uidRange(1,3), MessageResult.MINIMAL); mailbox.expunge(GeneralMessageSetImpl.all(), 0); - mailbox.getExpungedEvents(true); - mr=mailbox.getFirstUnseen(MessageResult.UID | MessageResult.MSN); + mr=mailbox.getFirstUnseen(MessageResult.MINIMAL); assertNotNull(mr); assertEquals(6, mr.getUid()); - assertEquals(3, mr.getMsn()); } - public void testGetExpungedEvents() throws MessagingException, MailboxManagerException { - for (int i = 0; i < 5; i++) { - MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.UID | MessageResult.MSN); - assertEquals(i+1, mr.getUid()); - assertEquals(i+1, mr.getMsn()); - } - mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, GeneralMessageSetImpl.uidRange(2, 4), MessageResult.NOTHING); - final Iterator expungeResult1=mailbox.expunge(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {2,3,4},new int[] {2,3,4},expungeResult1); - - final Iterator getResult1 = mailbox.getMessages(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {1,5},new int[] {1,5},getResult1); - - - final Iterator expungeEventResult1 = mailbox.getExpungedEvents(false); - checkMessageResults(new long[] {2,3,4},new int[] {2,3,4},expungeEventResult1); - final Iterator expungeEventResult2 = mailbox.getExpungedEvents(true); - checkMessageResults(new long[] {2,3,4},new int[] {2,2,2},expungeEventResult2); - - - final Iterator getResult2 = mailbox.getMessages(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {1,5},new int[] {1,2},getResult2); - - for (int i = 0; i < 5; i++) { - MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.UID | MessageResult.MSN); - assertEquals(6+i, mr.getUid()); - assertEquals(3+i, mr.getMsn()); - } - - final Iterator getResult3 = mailbox.getMessages(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {1,5,6,7,8,9,10},new int[] {1,2,3,4,5,6,7},getResult3); - - mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, GeneralMessageSetImpl.msnRange(2,4), MessageResult.NOTHING); - mailbox.setFlags(new Flags(Flags.Flag.DELETED), true, false, GeneralMessageSetImpl.oneMsn(6), MessageResult.NOTHING); - - final Iterator expungeResult2=mailbox.expunge(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {5,6,7,9},new int[] {2,3,4,6},expungeResult2); - - final Iterator getResult4 = mailbox.getMessages(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {1,8,10},new int[] {1,5,7},getResult4); - - final Iterator expungeEventResult3 = mailbox.getExpungedEvents(false); - checkMessageResults(new long[] {5,6,7,9},new int[] {2,3,4,6},expungeEventResult3); - final Iterator expungeEventResult4 = mailbox.getExpungedEvents(true); - checkMessageResults(new long[] {5,6,7,9},new int[] {2,2,2,3},expungeEventResult4); - - final Iterator getResult5 = mailbox.getMessages(GeneralMessageSetImpl.all(), MessageResult.UID | MessageResult.MSN); - checkMessageResults(new long[] {1,8,10},new int[] {1,2,3},getResult5); - } public void testGetUidNext() throws MessagingException { assertEquals(1, mailbox.getUidNext()); - MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.UID | MessageResult.MSN); + MessageResult mr=mailbox.appendMessage(TestUtil.createMessage(), new Date(), MessageResult.MINIMAL); assertEquals(1,mr.getUid()); assertEquals(2, mailbox.getUidNext()); } @@ -157,7 +105,6 @@ int i=0; for (Iterator it=messageResults.iterator(); it.hasNext();i++) { assertEquals("Uid at pos "+i,uids[i], ((MessageResult)it.next()).getUid()); - assertEquals("Msn at pos "+i,msns[i], ((MessageResult)it.next()).getMsn()); } } 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -35,9 +35,9 @@ import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer; import org.apache.james.mailboxmanager.torque.om.MessageRow; import org.apache.james.mailboxmanager.torque.om.MessageRowPeer; -import org.apache.james.mailboxmanager.tracking.UidChangeTracker; import org.apache.torque.TorqueException; import org.apache.torque.util.Criteria; + import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock; public class TorqueMailboxTestCase extends AbstractTorqueTestCase { @@ -87,8 +87,8 @@ Flags f=new Flags(); f.add(Flags.Flag.DELETED); - torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), MessageResult.NOTHING); - List messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.UID)); + torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), MessageResult.MINIMAL); + List messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL)); 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -122,7 +122,7 @@ protected void nativeStoreMessage(MimeMessage mm) { try { getShadowMailbox().appendMessage(mm, new Date(), - MessageResult.NOTHING); + MessageResult.MINIMAL); } 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -251,14 +251,12 @@ public static MessageResult loadMessageResult(MessageRow messageRow, int result, UidToKeyConverter uidToKeyConverter) throws TorqueException, MailboxManagerException { MessageResultImpl messageResult = new MessageResultImpl(); + messageResult.setUid(messageRow.getUid()); + if ((result & MessageResult.MIME_MESSAGE) > 0) { messageResult.setMimeMessage(TorqueMimeMessage.createMessage(messageRow)); result -= MessageResult.MIME_MESSAGE; } - if ((result & MessageResult.UID) > 0) { - messageResult.setUid(messageRow.getUid()); - result -= MessageResult.UID; - } if ((result & MessageResult.FLAGS) > 0) { org.apache.james.mailboxmanager.torque.om.MessageFlags messageFlags = messageRow.getMessageFlags(); @@ -290,10 +288,6 @@ if ((result & MessageResult.FULL_CONTENT) > 0) { messageResult.setFullMessage(createFullContent(messageRow, messageResult.getHeaders())); result -= MessageResult.FULL_CONTENT; - } - if ((result & MessageResult.MSN) > 0) { - // ATM implemented by wrappers - result -= MessageResult.MSN; } if (result != 0) { throw new RuntimeException("Unsupported result: " + result); 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -96,17 +96,6 @@ return sessionId; } - public int getMessageResultTypes() { - return MessageResult.FLAGS + MessageResult.INTERNAL_DATE - + MessageResult.KEY + MessageResult.MIME_MESSAGE - + MessageResult.SIZE + MessageResult.UID; - } - - public int getMessageSetTypes() { - return GeneralMessageSet.TYPE_ALL + GeneralMessageSet.TYPE_KEY - + GeneralMessageSet.TYPE_UID + GeneralMessageSet.TYPE_MESSAGE; - } - public synchronized String getName() throws MailboxManagerException { checkAccess(); return mailboxRow.getName(); @@ -165,8 +154,7 @@ messageRow.addMessageBody(mb); save(messageRow); - MessageResult messageResult = fillMessageResult(messageRow, - result | MessageResult.UID); + MessageResult messageResult = fillMessageResult(messageRow, result); checkForScanGap(uid); getUidChangeTracker().found(messageResult); return messageResult; @@ -412,7 +400,7 @@ try { List messageRows = getMailboxRow().getMessageRows(c); if (messageRows.size() > 0) { - MessageResult messageResult=fillMessageResult((MessageRow) messageRows.get(0), result | MessageResult.UID); + MessageResult messageResult=fillMessageResult((MessageRow) messageRows.get(0), result); if (messageResult!=null) { checkForScanGap(messageResult.getUid()); getUidChangeTracker().found(messageResult); @@ -488,7 +476,7 @@ final List messageRows = getMailboxRow().getMessageRows(c); final long[] uids = uids(messageRows); final TorqueResultIterator resultIterator = new TorqueResultIterator(messageRows, result - | MessageResult.UID | MessageResult.FLAGS, getUidToKeyConverter()); + | MessageResult.FLAGS, getUidToKeyConverter()); // ensure all results are loaded before deletion Collection messageResults = IteratorUtils.toList(resultIterator); @@ -565,7 +553,7 @@ } } final TorqueResultIterator resultIterator = new TorqueResultIterator(messageRows, - results | MessageResult.UID | MessageResult.FLAGS, getUidToKeyConverter()); + results | MessageResult.FLAGS, getUidToKeyConverter()); final org.apache.james.mailboxmanager.impl.MessageFlags[] messageFlags = resultIterator.getMessageFlags(); tracker.flagsUpdated(messageFlags, sessionId); tracker.found(uidRange, messageFlags); @@ -784,8 +772,8 @@ lock.writeLock().acquire(); try { final Flags flags = new Flags(Flags.Flag.DELETED); - doSetFlags(flags, true, false, set, MessageResult.NOTHING); - doExpunge(set, MessageResult.NOTHING); + doSetFlags(flags, true, false, set, MessageResult.MINIMAL); + doExpunge(set, MessageResult.MINIMAL); } finally { lock.writeLock().release(); } @@ -809,6 +797,5 @@ public boolean isWriteable() { return true; - } - + } } 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -39,13 +39,11 @@ import org.apache.james.mailboxmanager.impl.ListResultImpl; import org.apache.james.mailboxmanager.mailbox.GeneralMailbox; import org.apache.james.mailboxmanager.mailbox.ImapMailbox; -import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession; import org.apache.james.mailboxmanager.mailbox.Mailbox; import org.apache.james.mailboxmanager.manager.MailboxExpression; import org.apache.james.mailboxmanager.manager.MailboxManager; import org.apache.james.mailboxmanager.torque.om.MailboxRow; import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer; -import org.apache.james.mailboxmanager.wrapper.ImapMailboxWrapper; import org.apache.james.services.User; import org.apache.torque.TorqueException; import org.apache.torque.util.CountHelper; @@ -76,14 +74,14 @@ getLog().info("autocreated mailbox " + mailboxName); createMailbox(mailboxName); } - return getImapMailboxSession(mailboxName); + return getImapMailbox(mailboxName); } public GeneralMailbox getGeneralMailbox(String mailboxName) throws MailboxManagerException { - return getImapMailboxSession(mailboxName); + return getImapMailbox(mailboxName); } public boolean createInbox(User user) throws MailboxManagerException { @@ -99,7 +97,7 @@ } } - public ImapMailboxSession getImapMailboxSession(String mailboxName) + public ImapMailbox getImapMailbox(String mailboxName) throws MailboxManagerException { try { @@ -117,9 +115,7 @@ managers.put(mailboxName, torqueMailbox); } - final ImapMailboxWrapper wrapper - = new ImapMailboxWrapper(torqueMailbox); - return wrapper; + return torqueMailbox; } else { getLog().info("Mailbox '" + mailboxName + "' not found."); throw new MailboxNotFoundException(mailboxName); @@ -206,7 +202,7 @@ while (it.hasNext()) { final MessageResult result = (MessageResult) it.next(); final MimeMessage mimeMessage = result.getMimeMessage(); - toMailbox.appendMessage(mimeMessage, result.getInternalDate(), MessageResult.NOTHING); + toMailbox.appendMessage(mimeMessage, result.getInternalDate(), MessageResult.MINIMAL); } } 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=601701&r1=601700&r2=601701&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 Thu Dec 6 03:05:19 2007 @@ -95,8 +95,7 @@ } private static final class UnloadedMessageResult implements MessageResult { - private static final int results = MessageResult.INTERNAL_DATE | MessageResult.SIZE - | MessageResult.UID; + private static final int results = MessageResult.INTERNAL_DATE | MessageResult.SIZE; private final MailboxManagerException exception; private final Date internalDate; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
