Search in sources :

Example 1 with WelcomeMailEvent

use of won.bot.framework.eventbot.event.impl.mail.WelcomeMailEvent in project webofneeds by researchstudio-sat.

the class MailParserAction method processCreateNeedMail.

private void processCreateNeedMail(MimeMessage message) throws MessagingException, IOException {
    EventListenerContext ctx = getEventListenerContext();
    EventBus bus = ctx.getEventBus();
    String senderMailAddress = MailContentExtractor.getMailSender(message);
    MailBotContextWrapper botContextWrapper = ((MailBotContextWrapper) ctx.getBotContextWrapper());
    SubscribeStatus subscribeStatus = botContextWrapper.getSubscribeStatusForMailAddress(senderMailAddress);
    // published as needs, discarded or cached
    if (SubscribeStatus.SUBSCRIBED.equals(subscribeStatus)) {
        logger.info("received a create mail from subscribed user '{}' with subject '{}' so publish as need", senderMailAddress, message.getSubject());
        bus.publish(new CreateNeedFromMailEvent(message));
    } else if (SubscribeStatus.UNSUBSCRIBED.equals(subscribeStatus)) {
        logger.info("received mail from unsubscribed user '{}' so discard mail with subject '{}'", senderMailAddress, message.getSubject());
    } else {
        logger.info("received a create mail from new user '{}' with subject '{}' so cache it and send welcome mail", senderMailAddress, message.getSubject());
        botContextWrapper.addCachedMailsForMailAddress(message);
        bus.publish(new WelcomeMailEvent(message));
    }
}
Also used : EventListenerContext(won.bot.framework.eventbot.EventListenerContext) SubscribeStatus(won.bot.framework.eventbot.action.impl.mail.model.SubscribeStatus) MailBotContextWrapper(won.bot.framework.bot.context.MailBotContextWrapper) WelcomeMailEvent(won.bot.framework.eventbot.event.impl.mail.WelcomeMailEvent) EventBus(won.bot.framework.eventbot.bus.EventBus) CreateNeedFromMailEvent(won.bot.framework.eventbot.event.impl.mail.CreateNeedFromMailEvent)

Aggregations

MailBotContextWrapper (won.bot.framework.bot.context.MailBotContextWrapper)1 EventListenerContext (won.bot.framework.eventbot.EventListenerContext)1 SubscribeStatus (won.bot.framework.eventbot.action.impl.mail.model.SubscribeStatus)1 EventBus (won.bot.framework.eventbot.bus.EventBus)1 CreateNeedFromMailEvent (won.bot.framework.eventbot.event.impl.mail.CreateNeedFromMailEvent)1 WelcomeMailEvent (won.bot.framework.eventbot.event.impl.mail.WelcomeMailEvent)1