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: [email protected]
For additional commands, e-mail: [email protected]