Interface MessageUserProcessor

All Known Implementing Classes:
MessageUserProcessorImpl

@PublicApi public interface MessageUserProcessor
A set of User-related util methods which can be useful while processing Message objects.
Since:
v5.0
  • Method Summary

    Modifier and Type
    Method
    Description
    findUserByEmail(String emailAddress)
    Returns the first User found with an email address that equals the given emailAddress case insensitively.
    Finds the user with the given username or returns null if there is no such User.
    getAuthorFromSender(javax.mail.Message message)
    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.
  • Method Details

    • getAuthorFromSender

      @Nullable 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.

      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 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.
      Parameters:
      username - the username.
      Returns:
      the User or null.
    • findUserByEmail

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