com.atlassian.jira.service.util.handler
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
 com.atlassian.crowd.embedded.api.User findUserByEmail(String emailAddress)
          Returns the first User found with an email address that equals the given emailAddress case insensitively.
 com.atlassian.crowd.embedded.api.User findUserByUsername(String username)
          Finds the user with the given username or returns null if there is no such User.
 com.atlassian.crowd.embedded.api.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 Detail

getAuthorFromSender

@Nullable
com.atlassian.crowd.embedded.api.User 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
com.atlassian.crowd.embedded.api.User 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
com.atlassian.crowd.embedded.api.User 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.


Copyright © 2002-2012 Atlassian. All Rights Reserved.