Class ActionListEmailServiceImpl

java.lang.Object
org.kuali.rice.kew.mail.service.impl.ActionListEmailServiceImpl
All Implemented Interfaces:
ActionListEmailService
Direct Known Subclasses:
CustomizableActionListEmailServiceImpl

public class ActionListEmailServiceImpl extends Object implements ActionListEmailService
ActionListeEmailService which generates messages whose body and subject can be customized via KEW configuration parameters, 'immediate.reminder.email.message' and 'immediate.reminder.email.subject'. The immediate reminder email message key should specify a MessageFormat string. See code for the parameters to this MessageFormat.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Constructor Details

    • ActionListEmailServiceImpl

      public ActionListEmailServiceImpl()
  • Method Details

    • setMailer

      public void setMailer(org.kuali.rice.core.api.mail.Mailer mailer)
    • getDocumentTypeEmailAddress

      public String getDocumentTypeEmailAddress(DocumentType documentType)
    • getApplicationEmailAddress

      public String getApplicationEmailAddress()
    • getHelpLink

      protected String getHelpLink()
    • getHelpLink

      protected String getHelpLink(DocumentType documentType)
    • getEmailSubject

      public org.kuali.rice.core.api.mail.EmailSubject getEmailSubject()
    • getEmailSubject

      public org.kuali.rice.core.api.mail.EmailSubject getEmailSubject(String customSubject)
    • getEmailFrom

      protected org.kuali.rice.core.api.mail.EmailFrom getEmailFrom(DocumentType documentType)
    • getEmailTo

      protected org.kuali.rice.core.api.mail.EmailTo getEmailTo(org.kuali.rice.kim.api.identity.Person user)
    • sendEmail

      protected void sendEmail(org.kuali.rice.kim.api.identity.Person user, org.kuali.rice.core.api.mail.EmailSubject subject, org.kuali.rice.core.api.mail.EmailBody body)
    • sendEmail

      protected void sendEmail(org.kuali.rice.kim.api.identity.Person user, org.kuali.rice.core.api.mail.EmailSubject subject, org.kuali.rice.core.api.mail.EmailBody body, DocumentType documentType)
    • sendEmail

      protected void sendEmail(org.kuali.rice.kim.api.identity.Person user, org.kuali.rice.core.api.mail.EmailSubject subject, org.kuali.rice.core.api.mail.EmailBody body, DocumentType documentType, Boolean isHtmlMessage)
    • checkEmailNotificationPreferences

      protected boolean checkEmailNotificationPreferences(org.kuali.rice.kew.api.action.ActionItemContract actionItem, org.kuali.rice.kew.api.preferences.Preferences preferences, String emailSetting)
      This method takes in a type of email which is being sent, an action item which is being checked and a user's preferences and it checks to see if the action item should be included in the given kind of email based on the user's preferences.
    • sendImmediateReminder

      public void sendImmediateReminder(org.kuali.rice.kew.api.action.ActionItem actionItem, Boolean skipOnApprovals)
      Specified by:
      sendImmediateReminder in interface ActionListEmailService
    • isProduction

      protected boolean isProduction()
    • sendDailyReminder

      public void sendDailyReminder()
      Specified by:
      sendDailyReminder in interface ActionListEmailService
    • sendWeeklyReminder

      public void sendWeeklyReminder()
      Specified by:
      sendWeeklyReminder in interface ActionListEmailService
    • sendPeriodicReminder

      protected void sendPeriodicReminder(String principalId, Collection<ActionItem> actionItems, String emailSetting)
    • filterActionItemsToNotify

      protected Collection<ActionItem> filterActionItemsToNotify(String principalId, Collection<ActionItem> actionItems, String emailSetting)
      Returns a filtered Collection of ActionItems which are filtered according to the user's preferences. If they have opted not to recieve secondary or primary delegation emails then they will not be included.
    • getUsersWithEmailSetting

      protected Collection<String> getUsersWithEmailSetting(String setting)
    • buildImmediateReminderBody

      public String buildImmediateReminderBody(org.kuali.rice.kim.api.identity.Person person, org.kuali.rice.kew.api.action.ActionItem actionItem, DocumentType documentType)
    • buildDailyReminderBody

      public String buildDailyReminderBody(Collection<ActionItem> actionItems)
    • buildWeeklyReminderBody

      public String buildWeeklyReminderBody(Collection<ActionItem> actionItems)
    • sendActionListEmailNotification

      protected boolean sendActionListEmailNotification()
    • scheduleBatchEmailReminders

      public void scheduleBatchEmailReminders() throws Exception
      Specified by:
      scheduleBatchEmailReminders in interface ActionListEmailService
      Throws:
      Exception
    • getActionListService

      protected ActionListService getActionListService()
    • getDeploymentEnvironment

      public String getDeploymentEnvironment()
    • setDeploymentEnvironment

      public void setDeploymentEnvironment(String deploymentEnvironment)
    • getActionListUrl

      protected String getActionListUrl()
    • getPreferencesUrl

      protected String getPreferencesUrl()