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