public static SimpleMailboxMessage copy(MailboxId mailboxId, MailboxMessage original) throws MailboxException { return from(original).mailboxId(mailboxId).build(); }
private MailboxMessage copyMessage(MailboxMessage message) throws MailboxException { return SimpleMailboxMessage .from(message) .mailboxId(message.getMailboxId()) .uid(message.getUid()) .modseq(message.getModSeq()) .build(); }
public SimpleMailboxMessage filterFlags(FlagsFilter filter) throws MailboxException { Flags flags = FlagsFactory .builder() .flags(createFlags()) .addUserFlags(createUserFlags()) .filteringFlags(filter) .build(); return from(this).flags(flags).build(); }
private void addMessageToMailboxes(MailboxMessage mailboxMessage, Set<MailboxId> mailboxIds, MailboxSession mailboxSession) throws MailboxException { MessageIdMapper messageIdMapper = mailboxSessionMapperFactory.getMessageIdMapper(mailboxSession); MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession); for (MailboxId mailboxId : mailboxIds) { boolean shouldPreserveFlags = mailboxManager.myRights(mailboxId, mailboxSession).contains(Right.Write); SimpleMailboxMessage copy = SimpleMailboxMessage.from(mailboxMessage) .mailboxId(mailboxId) .flags( FlagsFactory .builder() .flags(mailboxMessage.createFlags()) .filteringFlags( FlagsFilter.builder() .systemFlagFilter(f -> shouldPreserveFlags) .userFlagFilter(f -> shouldPreserveFlags) .build()) .build()) .build(); save(mailboxSession, messageIdMapper, copy); dispatcher.added(mailboxSession, mailboxMapper.findMailboxById(mailboxId), copy); } }