Author: rdonkin Date: Fri Jan 23 02:09:26 2009 New Revision: 736981 URL: http://svn.apache.org/viewvc?rev=736981&view=rev Log: Simplify API
Modified: james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java Modified: james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java?rev=736981&r1=736980&r2=736981&view=diff ============================================================================== --- james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java (original) +++ james/protocols/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/Mailbox.java Fri Jan 23 02:09:26 2009 @@ -71,8 +71,14 @@ int getUnseenCount(MailboxSession mailboxSession) throws MailboxException; - MessageResult getFirstUnseen(FetchGroup fetchGroup, - MailboxSession mailboxSession) throws MailboxException; + /** + * Gets the UID of the first unseen message. + * @param mailboxSession not null + * @return uid of the first unseen message, + * or null when there are no unseen messages + * @throws MailboxException + */ + Long getFirstUnseen(MailboxSession mailboxSession) throws MailboxException; /** * Modified: james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java?rev=736981&r1=736980&r2=736981&view=diff ============================================================================== --- james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java (original) +++ james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AbstractSelectionProcessor.java Fri Jan 23 02:09:26 2009 @@ -138,10 +138,9 @@ private void unseen(Responder responder, Mailbox mailbox, final MailboxSession mailboxSession, final SelectedMailbox selected) throws MailboxException { - final MessageResult firstUnseen = mailbox.getFirstUnseen( - FetchGroupImpl.MINIMAL, mailboxSession); + final Long firstUnseen = mailbox.getFirstUnseen(mailboxSession); if (firstUnseen != null) { - final long unseenUid = firstUnseen.getUid(); + final long unseenUid = firstUnseen; int msn = selected.msn(unseenUid); final StatusResponse untaggedOk = statusResponseFactory.untaggedOk( HumanReadableTextKey.UNSEEN, ResponseCode.unseen(msn)); Modified: james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=736981&r1=736980&r2=736981&view=diff ============================================================================== --- james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java (original) +++ james/protocols/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java Fri Jan 23 02:09:26 2009 @@ -241,20 +241,25 @@ return results; } - public MessageResult getFirstUnseen(FetchGroup fetchGroup, - MailboxSession mailboxSession) throws MailboxException { + public Long getFirstUnseen(MailboxSession mailboxSession) throws MailboxException { try { final MessageMapper messageMapper = createMessageMapper(); final List<MailboxMembership> messageRows = messageMapper.findUnseenMessagesInMailboxOrderByUid(mailboxId); final Iterator<MailboxMembership> it = messageRows.iterator(); - final MessageResult result; + final MessageResult message; if (it.hasNext()) { - result = fillMessageResult(it.next(), fetchGroup); - if (result != null) { - getUidChangeTracker().found(result); + message = fillMessageResult(it.next(), FetchGroupImpl.MINIMAL); + if (message != null) { + getUidChangeTracker().found(message); } } else { + message = null; + } + final Long result; + if (message == null) { result = null; + } else { + result = message.getUid(); } return result; } catch (MessagingException e) { Modified: james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=736981&r1=736980&r2=736981&view=diff ============================================================================== --- james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java (original) +++ james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java Fri Jan 23 02:09:26 2009 @@ -393,8 +393,7 @@ return criterion; } - public MessageResult getFirstUnseen(FetchGroup fetchGroup, - MailboxSession mailboxSession) throws MailboxException { + public Long getFirstUnseen(MailboxSession mailboxSession) throws MailboxException { try { lock.readLock().acquire(); try { @@ -415,12 +414,12 @@ List messageRows = getMailboxRow().getMessageRows(c); if (messageRows.size() > 0) { MessageResult messageResult = fillMessageResult( - (MessageRow) messageRows.get(0), fetchGroup); + (MessageRow) messageRows.get(0), FetchGroupImpl.MINIMAL); if (messageResult != null) { getUidChangeTracker().found(messageResult); } - return messageResult; + return messageResult.getUid(); } else { return null; } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org