public MessageUid nextUid(Mailbox mailbox) throws MailboxException { return uidProvider.nextUid(mailboxSession, mailbox); }
@Override public MessageMetaData copy(Mailbox mailbox, MailboxMessage original) throws MailboxException { MessageUid uid = uidProvider.nextUid(mailboxSession, mailbox); long modSeq = -1; if (modSeqProvider != null) { modSeq = modSeqProvider.nextModSeq(mailboxSession, mailbox); } final MessageMetaData metaData = copy(mailbox, uid, modSeq, original); return metaData; }
@Override public MessageMetaData add(Mailbox mailbox, MailboxMessage message) throws MailboxException { message.setUid(uidProvider.nextUid(mailboxSession, mailbox)); // if a mailbox does not support mod-sequences the provider may be null if (modSeqProvider != null) { message.setModSeq(modSeqProvider.nextModSeq(mailboxSession, mailbox)); } MessageMetaData data = save(mailbox, message); return data; }
private void save(MailboxSession mailboxSession, MessageIdMapper messageIdMapper, MailboxMessage mailboxMessage) throws MailboxException { long modSeq = mailboxSessionMapperFactory.getModSeqProvider().nextModSeq(mailboxSession, mailboxMessage.getMailboxId()); MessageUid uid = mailboxSessionMapperFactory.getUidProvider().nextUid(mailboxSession, mailboxMessage.getMailboxId()); mailboxMessage.setModSeq(modSeq); mailboxMessage.setUid(uid); messageIdMapper.copyInMailbox(mailboxMessage); }