com.atlassian.crowd.manager.application
Class TranslatingApplicationService

java.lang.Object
  extended by com.atlassian.crowd.manager.application.AbstractDelegatingApplicationService
      extended by com.atlassian.crowd.manager.application.TranslatingApplicationService
All Implemented Interfaces:
ApplicationService

@Transactional
public class TranslatingApplicationService
extends AbstractDelegatingApplicationService

This class is responsible for translating application specific usernames (aliased usernames) to directory specific usernames (unaliased usernames) and the other way around. It also translates outgoing usernames and groups names to lower case if required by the application. Usernames in the incoming parameters are converted from aliased usernames to unaliased usernames. Usernames in return values are converted to aliased usernames.


Constructor Summary
TranslatingApplicationService(ApplicationService applicationService, AliasManager aliasManager)
           
 
Method Summary
 Group addGroup(Application application, GroupTemplate group)
           
 User addUser(Application application, UserTemplate user, com.atlassian.crowd.embedded.api.PasswordCredential credential)
           
 void addUserToGroup(Application application, String username, String groupName)
           
 User authenticateUser(Application application, String username, com.atlassian.crowd.embedded.api.PasswordCredential passwordCredential)
           
 Group findGroupByName(Application application, String name)
           
 GroupWithAttributes findGroupWithAttributesByName(Application application, String name)
           
 User findUserByName(Application application, String name)
           
 UserWithAttributes findUserWithAttributesByName(Application application, String name)
           
 Events getNewEvents(Application application, String eventToken)
           
 boolean isUserAuthorised(Application application, String username)
           
 boolean isUserDirectGroupMember(Application application, String username, String groupName)
           
 boolean isUserNestedGroupMember(Application application, String username, String groupName)
           
 void removeUser(Application application, String user)
           
 void removeUserAttributes(Application application, String username, String attributeName)
           
 void removeUserFromGroup(Application application, String username, String groupName)
           
 User renameUser(Application application, String oldUserName, String newUsername)
           
 void resetUserCredential(Application application, String username)
           
<T> List<T>
searchDirectGroupRelationships(Application application, MembershipQuery<T> query)
           
<T> List<T>
searchGroups(Application application, EntityQuery<T> query)
           
<T> List<T>
searchNestedGroupRelationships(Application application, MembershipQuery<T> query)
           
<T> List<T>
searchUsers(Application application, EntityQuery<T> query)
           
 List<User> searchUsersAllowingDuplicateNames(Application application, EntityQuery<User> query)
           
 void storeUserAttributes(Application application, String username, Map<String,Set<String>> attributes)
           
 Group updateGroup(Application application, GroupTemplate group)
           
 User updateUser(Application application, UserTemplate user)
           
 void updateUserCredential(Application application, String username, com.atlassian.crowd.embedded.api.PasswordCredential credential)
           
 
Methods inherited from class com.atlassian.crowd.manager.application.AbstractDelegatingApplicationService
addAllUsers, addGroupToGroup, findWebhookById, getApplicationService, getCurrentEventToken, isGroupDirectGroupMember, isGroupNestedGroupMember, registerWebhook, removeGroup, removeGroupAttributes, removeGroupFromGroup, storeGroupAttributes, unregisterWebhook
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TranslatingApplicationService

public TranslatingApplicationService(ApplicationService applicationService,
                                     AliasManager aliasManager)
Method Detail

authenticateUser

public User authenticateUser(Application application,
                             String username,
                             com.atlassian.crowd.embedded.api.PasswordCredential passwordCredential)
                      throws OperationFailedException,
                             InactiveAccountException,
                             InvalidAuthenticationException,
                             ExpiredCredentialException,
                             UserNotFoundException
Specified by:
authenticateUser in interface ApplicationService
Overrides:
authenticateUser in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
InactiveAccountException
InvalidAuthenticationException
ExpiredCredentialException
UserNotFoundException

isUserAuthorised

public boolean isUserAuthorised(Application application,
                                String username)
Specified by:
isUserAuthorised in interface ApplicationService
Overrides:
isUserAuthorised in class AbstractDelegatingApplicationService

findUserByName

public User findUserByName(Application application,
                           String name)
                    throws UserNotFoundException
Specified by:
findUserByName in interface ApplicationService
Overrides:
findUserByName in class AbstractDelegatingApplicationService
Throws:
UserNotFoundException

findUserWithAttributesByName

public UserWithAttributes findUserWithAttributesByName(Application application,
                                                       String name)
                                                throws UserNotFoundException
Specified by:
findUserWithAttributesByName in interface ApplicationService
Overrides:
findUserWithAttributesByName in class AbstractDelegatingApplicationService
Throws:
UserNotFoundException

addUser

public User addUser(Application application,
                    UserTemplate user,
                    com.atlassian.crowd.embedded.api.PasswordCredential credential)
             throws InvalidUserException,
                    OperationFailedException,
                    InvalidCredentialException,
                    ApplicationPermissionException
Specified by:
addUser in interface ApplicationService
Overrides:
addUser in class AbstractDelegatingApplicationService
Throws:
InvalidUserException
OperationFailedException
InvalidCredentialException
ApplicationPermissionException

updateUser

public User updateUser(Application application,
                       UserTemplate user)
                throws InvalidUserException,
                       OperationFailedException,
                       ApplicationPermissionException,
                       UserNotFoundException
Specified by:
updateUser in interface ApplicationService
Overrides:
updateUser in class AbstractDelegatingApplicationService
Throws:
InvalidUserException
OperationFailedException
ApplicationPermissionException
UserNotFoundException

renameUser

public User renameUser(Application application,
                       String oldUserName,
                       String newUsername)
                throws UserNotFoundException,
                       OperationFailedException,
                       ApplicationPermissionException,
                       InvalidUserException
Specified by:
renameUser in interface ApplicationService
Overrides:
renameUser in class AbstractDelegatingApplicationService
Throws:
UserNotFoundException
OperationFailedException
ApplicationPermissionException
InvalidUserException

updateUserCredential

public void updateUserCredential(Application application,
                                 String username,
                                 com.atlassian.crowd.embedded.api.PasswordCredential credential)
                          throws OperationFailedException,
                                 UserNotFoundException,
                                 InvalidCredentialException,
                                 ApplicationPermissionException
Specified by:
updateUserCredential in interface ApplicationService
Overrides:
updateUserCredential in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
UserNotFoundException
InvalidCredentialException
ApplicationPermissionException

resetUserCredential

public void resetUserCredential(Application application,
                                String username)
                         throws OperationFailedException,
                                UserNotFoundException,
                                InvalidCredentialException,
                                ApplicationPermissionException,
                                InvalidEmailAddressException
Specified by:
resetUserCredential in interface ApplicationService
Overrides:
resetUserCredential in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
UserNotFoundException
InvalidCredentialException
ApplicationPermissionException
InvalidEmailAddressException

storeUserAttributes

public void storeUserAttributes(Application application,
                                String username,
                                Map<String,Set<String>> attributes)
                         throws OperationFailedException,
                                ApplicationPermissionException,
                                UserNotFoundException
Specified by:
storeUserAttributes in interface ApplicationService
Overrides:
storeUserAttributes in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
ApplicationPermissionException
UserNotFoundException

removeUserAttributes

public void removeUserAttributes(Application application,
                                 String username,
                                 String attributeName)
                          throws OperationFailedException,
                                 ApplicationPermissionException,
                                 UserNotFoundException
Specified by:
removeUserAttributes in interface ApplicationService
Overrides:
removeUserAttributes in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
ApplicationPermissionException
UserNotFoundException

removeUser

public void removeUser(Application application,
                       String user)
                throws OperationFailedException,
                       UserNotFoundException,
                       ApplicationPermissionException
Specified by:
removeUser in interface ApplicationService
Overrides:
removeUser in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
UserNotFoundException
ApplicationPermissionException

searchUsers

public <T> List<T> searchUsers(Application application,
                               EntityQuery<T> query)
Specified by:
searchUsers in interface ApplicationService
Overrides:
searchUsers in class AbstractDelegatingApplicationService

searchUsersAllowingDuplicateNames

public List<User> searchUsersAllowingDuplicateNames(Application application,
                                                    EntityQuery<User> query)
Specified by:
searchUsersAllowingDuplicateNames in interface ApplicationService
Overrides:
searchUsersAllowingDuplicateNames in class AbstractDelegatingApplicationService

findGroupByName

public Group findGroupByName(Application application,
                             String name)
                      throws GroupNotFoundException
Specified by:
findGroupByName in interface ApplicationService
Overrides:
findGroupByName in class AbstractDelegatingApplicationService
Throws:
GroupNotFoundException

findGroupWithAttributesByName

public GroupWithAttributes findGroupWithAttributesByName(Application application,
                                                         String name)
                                                  throws GroupNotFoundException
Specified by:
findGroupWithAttributesByName in interface ApplicationService
Overrides:
findGroupWithAttributesByName in class AbstractDelegatingApplicationService
Throws:
GroupNotFoundException

addGroup

public Group addGroup(Application application,
                      GroupTemplate group)
               throws InvalidGroupException,
                      OperationFailedException,
                      ApplicationPermissionException
Specified by:
addGroup in interface ApplicationService
Overrides:
addGroup in class AbstractDelegatingApplicationService
Throws:
InvalidGroupException
OperationFailedException
ApplicationPermissionException

updateGroup

public Group updateGroup(Application application,
                         GroupTemplate group)
                  throws InvalidGroupException,
                         OperationFailedException,
                         ApplicationPermissionException,
                         GroupNotFoundException
Specified by:
updateGroup in interface ApplicationService
Overrides:
updateGroup in class AbstractDelegatingApplicationService
Throws:
InvalidGroupException
OperationFailedException
ApplicationPermissionException
GroupNotFoundException

searchGroups

public <T> List<T> searchGroups(Application application,
                                EntityQuery<T> query)
Specified by:
searchGroups in interface ApplicationService
Overrides:
searchGroups in class AbstractDelegatingApplicationService

addUserToGroup

public void addUserToGroup(Application application,
                           String username,
                           String groupName)
                    throws OperationFailedException,
                           UserNotFoundException,
                           GroupNotFoundException,
                           ApplicationPermissionException,
                           MembershipAlreadyExistsException
Specified by:
addUserToGroup in interface ApplicationService
Overrides:
addUserToGroup in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
UserNotFoundException
GroupNotFoundException
ApplicationPermissionException
MembershipAlreadyExistsException

removeUserFromGroup

public void removeUserFromGroup(Application application,
                                String username,
                                String groupName)
                         throws OperationFailedException,
                                GroupNotFoundException,
                                UserNotFoundException,
                                ApplicationPermissionException,
                                MembershipNotFoundException
Specified by:
removeUserFromGroup in interface ApplicationService
Overrides:
removeUserFromGroup in class AbstractDelegatingApplicationService
Throws:
OperationFailedException
GroupNotFoundException
UserNotFoundException
ApplicationPermissionException
MembershipNotFoundException

isUserDirectGroupMember

public boolean isUserDirectGroupMember(Application application,
                                       String username,
                                       String groupName)
Specified by:
isUserDirectGroupMember in interface ApplicationService
Overrides:
isUserDirectGroupMember in class AbstractDelegatingApplicationService

isUserNestedGroupMember

public boolean isUserNestedGroupMember(Application application,
                                       String username,
                                       String groupName)
Specified by:
isUserNestedGroupMember in interface ApplicationService
Overrides:
isUserNestedGroupMember in class AbstractDelegatingApplicationService

searchDirectGroupRelationships

public <T> List<T> searchDirectGroupRelationships(Application application,
                                                  MembershipQuery<T> query)
Specified by:
searchDirectGroupRelationships in interface ApplicationService
Overrides:
searchDirectGroupRelationships in class AbstractDelegatingApplicationService

searchNestedGroupRelationships

public <T> List<T> searchNestedGroupRelationships(Application application,
                                                  MembershipQuery<T> query)
Specified by:
searchNestedGroupRelationships in interface ApplicationService
Overrides:
searchNestedGroupRelationships in class AbstractDelegatingApplicationService

getNewEvents

public Events getNewEvents(Application application,
                           String eventToken)
                    throws EventTokenExpiredException,
                           OperationFailedException
Specified by:
getNewEvents in interface ApplicationService
Overrides:
getNewEvents in class AbstractDelegatingApplicationService
Throws:
EventTokenExpiredException
OperationFailedException


Copyright © 2014 Atlassian. All Rights Reserved.