Author: rdonkin
Date: Tue Jan 20 14:04:13 2009
New Revision: 736132

URL: http://svn.apache.org/viewvc?rev=736132&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/AppendProcessor.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=736132&r1=736131&r2=736132&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
 Tue Jan 20 14:04:13 2009
@@ -132,33 +132,16 @@
             MailboxSession mailboxSession) throws MailboxException;
 
     /**
-     * @param internalDate
-     *            <p>
-     *            IMAP defines this as the time when the message has arrived to
-     *            this server (by smtp). Clients are also allowed to set the
-     *            internalDate on apppend.
-     *            </p>
-     *            <p>
-     *            Is this Mail.getLastUpdates() for James delivery? Should we
-     *            use MimeMessage.getReceivedDate()?
-     * @param fetchGroup
-     *            which fields to be returned in MessageResult or null for
-     *            minimal fetch group only
-     * @param mailboxSession
-     *            TODO
-     * @param isRecent TODO
-     * @return MessageResult with the fields defined by <b>result</b>
-     *         <ul>
-     *         <li> IMAP, Javamail Folder: nothing required </li>
-     *         <li> UIDPlusFolder: requires to return appended Message or 
uid</li>
-     *         <li> UIDPLUS: requires to return appended uid</li>
-     *         </ul>
-     * @throws MailboxException
-     *             if anything went wrong
+     * Appends a message to this mailbox.
+     * @param internalDate the time of addition to be set, not null
+     * @param mailboxSession not null
+     * @param isRecent true when the message should be marked recent,
+     * false otherwise
+     * @return uid for the newly added message
+     * @throws MailboxException when message cannot be appended
      */
-    MessageResult appendMessage(byte[] message, Date internalDate,
-            FetchGroup fetchGroup, MailboxSession mailboxSession, boolean 
isRecent)
-            throws MailboxException;
+    long appendMessage(byte[] message, Date internalDate, MailboxSession 
mailboxSession, 
+            boolean isRecent) throws MailboxException;
 
     /**
      * TODO: consolidate search and getMessages into a single method

Modified: 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AppendProcessor.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AppendProcessor.java?rev=736132&r1=736131&r2=736132&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AppendProcessor.java
 (original)
+++ 
james/protocols/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/imap4rev1/AppendProcessor.java
 Tue Jan 20 14:04:13 2009
@@ -36,8 +36,6 @@
 import org.apache.james.imap.mailbox.MailboxManager;
 import org.apache.james.imap.mailbox.MailboxManagerProvider;
 import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.mailbox.MessageResult;
-import org.apache.james.imap.mailbox.util.FetchGroupImpl;
 import org.apache.james.imap.message.request.imap4rev1.AppendRequest;
 import org.apache.james.imap.processor.base.ImapSessionUtils;
 
@@ -101,9 +99,8 @@
             final SelectedMailbox selectedMailbox = session.getSelected();
             final boolean isSelectedMailbox = selectedMailbox != null
                     && fullMailboxName.equals(selectedMailbox.getName());
-            final MessageResult result = mailbox.appendMessage(message,
-                    datetime, FetchGroupImpl.MINIMAL, mailboxSession, 
!isSelectedMailbox);
-            final long uid = result.getUid();
+            final long uid  = mailbox.appendMessage(message, datetime, 
mailboxSession, 
+                    !isSelectedMailbox);
             if (isSelectedMailbox) {
                 selectedMailbox.addRecent(uid);
             }

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=736132&r1=736131&r2=736132&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
 Tue Jan 20 14:04:13 2009
@@ -86,8 +86,8 @@
         return (int) messageMapper.countMessagesInMailbox(mailboxId);
     }
 
-    public MessageResult appendMessage(byte[] messageBytes, Date internalDate,
-            FetchGroup fetchGroup, MailboxSession mailboxSession, boolean 
isRecent)
+    public long appendMessage(byte[] messageBytes, Date internalDate,
+            MailboxSession mailboxSession, boolean isRecent)
     throws MailboxException {
         final Mailbox mailbox = reserveNextUid();
 
@@ -151,10 +151,10 @@
                 mapper.save(message);
                 mapper.commit();
 
-                final MessageResult messageResult = fillMessageResult(message, 
fetchGroup);
+                final MessageResult messageResult = fillMessageResult(message, 
FetchGroupImpl.MINIMAL);
+                
                 getUidChangeTracker().found(messageResult);
-
-                return messageResult;
+                return messageResult.getUid();
             } catch (IOException e) {
                 throw new MailboxException(e);
             } 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=736132&r1=736131&r2=736132&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
 Tue Jan 20 14:04:13 2009
@@ -116,8 +116,8 @@
         }
     }
 
-    public MessageResult appendMessage(byte[] message, Date internalDate,
-            FetchGroup fetchGroup, MailboxSession mailboxSession, boolean 
isRecent)
+    public long appendMessage(byte[] message, Date internalDate,
+            MailboxSession mailboxSession, boolean isRecent)
             throws MailboxException {
 
         try {
@@ -157,9 +157,9 @@
 
                     save(messageRow);
                     MessageResult messageResult = fillMessageResult(messageRow,
-                            fetchGroup);
+                            FetchGroupImpl.MINIMAL);
                     getUidChangeTracker().found(messageResult);
-                    return messageResult;
+                    return messageResult.getUid();
                 } catch (Exception e) {
                     throw new MailboxException(e);
                 }



---------------------------------------------------------------------
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