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

Reply via email to