Class MessageUserProcessorImpl

java.lang.Object
com.atlassian.jira.service.util.handler.MessageUserProcessorImpl
All Implemented Interfaces:
MessageUserProcessor

@Internal public class MessageUserProcessorImpl extends Object implements MessageUserProcessor
Since:
v5.0
  • Constructor Details

  • Method Details

    • getAuthorFromSender

      @Nullable public ApplicationUser getAuthorFromSender(javax.mail.Message message) throws javax.mail.MessagingException
      For each sender of the given message in turn, look up a User first with a case-insensitively equal email address, and failing that, with a username equal to the email address.

      JIRA wants to do this because when we create users in email handlers, we set email and username equal. If a user subsequently changes their email address, we must not assume they don't exist and create them with the email address as the username.

      Specified by:
      getAuthorFromSender in interface MessageUserProcessor
      Parameters:
      message - the message from which to get the User.
      Returns:
      the User matching the sender of the message or null if none found.
      Throws:
      javax.mail.MessagingException - if there's strife getting the message sender.
    • findUserByUsername

      @Nullable public ApplicationUser findUserByUsername(String username)
      Finds the user with the given username or returns null if there is no such User. Convenience method which doesn't throw up.
      Specified by:
      findUserByUsername in interface MessageUserProcessor
      Parameters:
      username - the username.
      Returns:
      the User or null.
    • findUserByEmail

      @Nullable public ApplicationUser findUserByEmail(String emailAddress)
      Returns the first User found with an email address that equals the given emailAddress case insensitively.
      Specified by:
      findUserByEmail in interface MessageUserProcessor
      Parameters:
      emailAddress - the email address to match.
      Returns:
      the User.