com.atlassian.crowd.manager.directory
Class DirectoryManagerGeneric

java.lang.Object
  extended by com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
All Implemented Interfaces:
DirectoryManager

public class DirectoryManagerGeneric
extends java.lang.Object
implements DirectoryManager


Constructor Summary
DirectoryManagerGeneric(DirectoryDao directoryDao, ApplicationDAO applicationDAO, com.atlassian.event.api.EventPublisher eventPublisher, PermissionManager permissionManager, PasswordHelper passwordHelper, DirectoryInstanceLoader directoryInstanceLoader)
           
 
Method Summary
 BulkAddResult<Group> addAllGroups(long directoryId, java.util.Collection<GroupTemplate> groups, boolean overwrite)
           
 BulkAddResult<User> addAllUsers(long directoryId, java.util.Collection<UserTemplateWithCredentialAndAttributes> users, boolean overwrite)
           
 BulkAddResult<java.lang.String> addAllUsersToGroup(long directoryId, java.util.Collection<java.lang.String> userNames, java.lang.String groupName)
           
 Directory addDirectory(Directory directory)
           
 Group addGroup(long directoryId, GroupTemplate group)
           
 void addGroupToGroup(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
           
 User addUser(long directoryId, UserTemplate user, PasswordCredential credential)
           
 void addUserToGroup(long directoryId, java.lang.String username, java.lang.String groupName)
           
 java.util.List<Directory> findAllDirectories()
           
 Directory findDirectoryById(long directoryId)
           
 Directory findDirectoryByName(java.lang.String name)
           
 Group findGroupByName(long directoryId, java.lang.String groupName)
           
 GroupWithAttributes findGroupWithAttributesByName(long directoryId, java.lang.String groupName)
           
 User findUserByName(long directoryId, java.lang.String username)
           
 UserWithAttributes findUserWithAttributesByName(long directoryId, java.lang.String username)
           
 boolean isCurrentlySynchronising(int directoryId)
           
 boolean isGroupDirectGroupMember(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
           
 boolean isGroupNestedGroupMember(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
           
 boolean isSynchronisable(long directoryId)
           
 boolean isUserDirectGroupMember(long directoryId, java.lang.String username, java.lang.String groupName)
           
 boolean isUserNestedGroupMember(long directoryId, java.lang.String username, java.lang.String groupName)
           
 void removeDirectory(Directory directory)
           
 void removeGroup(long directoryId, java.lang.String groupName)
           
 void removeGroupAttributes(long directoryId, java.lang.String groupName, java.lang.String attributeName)
           
 void removeGroupFromGroup(long directoryId, java.lang.String childGroup, java.lang.String parentGroup)
           
 void removeUser(long directoryId, java.lang.String username)
           
 void removeUserAttributes(long directoryId, java.lang.String username, java.lang.String attributeName)
           
 void removeUserFromGroup(long directoryId, java.lang.String username, java.lang.String groupName)
           
 Group renameGroup(long directoryId, java.lang.String oldGroupname, java.lang.String newGroupname)
           
 User renameUser(long directoryId, java.lang.String oldUsername, java.lang.String newUsername)
           
 void resetPassword(long directoryId, java.lang.String username)
           
<T> java.util.List<T>
searchDirectGroupRelationships(long directoryId, MembershipQuery<T> query)
           
 java.util.List<Directory> searchDirectories(EntityQuery query)
           
<T> java.util.List<T>
searchGroups(long directoryId, EntityQuery<T> query)
           
<T> java.util.List<T>
searchNestedGroupRelationships(long directoryId, MembershipQuery<T> query)
           
<T> java.util.List<T>
searchUsers(long directoryId, EntityQuery<T> query)
           
 void storeGroupAttributes(long directoryId, java.lang.String groupName, java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
           
 void storeUserAttributes(long directoryId, java.lang.String username, java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
           
 void synchroniseCache(long directoryId)
           
 Directory updateDirectory(Directory directory)
           
 Group updateGroup(long directoryId, GroupTemplate group)
           
 User updateUser(long directoryId, UserTemplate user)
           
 void updateUserCredential(long directoryId, java.lang.String username, PasswordCredential credential)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirectoryManagerGeneric

public DirectoryManagerGeneric(DirectoryDao directoryDao,
                               ApplicationDAO applicationDAO,
                               com.atlassian.event.api.EventPublisher eventPublisher,
                               PermissionManager permissionManager,
                               PasswordHelper passwordHelper,
                               DirectoryInstanceLoader directoryInstanceLoader)
Method Detail

addDirectory

public Directory addDirectory(Directory directory)
                       throws DirectoryInstantiationException
Specified by:
addDirectory in interface DirectoryManager
Throws:
DirectoryInstantiationException

findDirectoryById

public Directory findDirectoryById(long directoryId)
Specified by:
findDirectoryById in interface DirectoryManager

findAllDirectories

public java.util.List<Directory> findAllDirectories()
Specified by:
findAllDirectories in interface DirectoryManager

searchDirectories

public java.util.List<Directory> searchDirectories(EntityQuery query)
Specified by:
searchDirectories in interface DirectoryManager

findDirectoryByName

public Directory findDirectoryByName(java.lang.String name)
Specified by:
findDirectoryByName in interface DirectoryManager

updateDirectory

public Directory updateDirectory(Directory directory)
Specified by:
updateDirectory in interface DirectoryManager

removeDirectory

public void removeDirectory(Directory directory)
Specified by:
removeDirectory in interface DirectoryManager

isSynchronisable

public boolean isSynchronisable(long directoryId)
Specified by:
isSynchronisable in interface DirectoryManager

synchroniseCache

public void synchroniseCache(long directoryId)
                      throws ConcurrentSynchronisationException,
                             DirectoryCommunicationException
Specified by:
synchroniseCache in interface DirectoryManager
Throws:
ConcurrentSynchronisationException
DirectoryCommunicationException

isCurrentlySynchronising

public boolean isCurrentlySynchronising(int directoryId)
Specified by:
isCurrentlySynchronising in interface DirectoryManager

findUserByName

public User findUserByName(long directoryId,
                           java.lang.String username)
                    throws DirectoryAccessException,
                           DirectoryCommunicationException
Specified by:
findUserByName in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

findUserWithAttributesByName

public UserWithAttributes findUserWithAttributesByName(long directoryId,
                                                       java.lang.String username)
                                                throws DirectoryAccessException,
                                                       DirectoryCommunicationException
Specified by:
findUserWithAttributesByName in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

searchUsers

public <T> java.util.List<T> searchUsers(long directoryId,
                                         EntityQuery<T> query)
                              throws DirectoryAccessException,
                                     DirectoryCommunicationException
Specified by:
searchUsers in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

addUser

public User addUser(long directoryId,
                    UserTemplate user,
                    PasswordCredential credential)
             throws InvalidCredentialException,
                    InvalidUserException,
                    DirectoryAccessException,
                    DirectoryPermissionException,
                    DirectoryCommunicationException
Specified by:
addUser in interface DirectoryManager
Throws:
InvalidCredentialException
InvalidUserException
DirectoryAccessException
DirectoryPermissionException
DirectoryCommunicationException

updateUser

public User updateUser(long directoryId,
                       UserTemplate user)
                throws DirectoryAccessException,
                       DirectoryPermissionException,
                       InvalidUserException,
                       DirectoryCommunicationException
Specified by:
updateUser in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
InvalidUserException
DirectoryCommunicationException

renameUser

public User renameUser(long directoryId,
                       java.lang.String oldUsername,
                       java.lang.String newUsername)
                throws DirectoryAccessException,
                       DirectoryPermissionException,
                       InvalidUserException
Specified by:
renameUser in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
InvalidUserException

storeUserAttributes

public void storeUserAttributes(long directoryId,
                                java.lang.String username,
                                java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
                         throws DirectoryAccessException,
                                DirectoryPermissionException,
                                DirectoryCommunicationException
Specified by:
storeUserAttributes in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
DirectoryCommunicationException

removeUserAttributes

public void removeUserAttributes(long directoryId,
                                 java.lang.String username,
                                 java.lang.String attributeName)
                          throws DirectoryAccessException,
                                 DirectoryPermissionException,
                                 DirectoryCommunicationException
Specified by:
removeUserAttributes in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
DirectoryCommunicationException

updateUserCredential

public void updateUserCredential(long directoryId,
                                 java.lang.String username,
                                 PasswordCredential credential)
                          throws DirectoryAccessException,
                                 DirectoryPermissionException,
                                 InvalidCredentialException,
                                 DirectoryCommunicationException
Specified by:
updateUserCredential in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
InvalidCredentialException
DirectoryCommunicationException

resetPassword

public void resetPassword(long directoryId,
                          java.lang.String username)
                   throws DirectoryAccessException,
                          InvalidEmailAddressException,
                          DirectoryPermissionException,
                          InvalidCredentialException,
                          DirectoryCommunicationException
Specified by:
resetPassword in interface DirectoryManager
Throws:
DirectoryAccessException
InvalidEmailAddressException
DirectoryPermissionException
InvalidCredentialException
DirectoryCommunicationException

removeUser

public void removeUser(long directoryId,
                       java.lang.String username)
                throws DirectoryPermissionException,
                       DirectoryAccessException,
                       DirectoryCommunicationException
Specified by:
removeUser in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException

findGroupByName

public Group findGroupByName(long directoryId,
                             java.lang.String groupName)
                      throws DirectoryAccessException,
                             GroupNotFoundException,
                             DirectoryCommunicationException
Specified by:
findGroupByName in interface DirectoryManager
Throws:
DirectoryAccessException
GroupNotFoundException
DirectoryCommunicationException

findGroupWithAttributesByName

public GroupWithAttributes findGroupWithAttributesByName(long directoryId,
                                                         java.lang.String groupName)
                                                  throws DirectoryAccessException,
                                                         GroupNotFoundException,
                                                         DirectoryCommunicationException
Specified by:
findGroupWithAttributesByName in interface DirectoryManager
Throws:
DirectoryAccessException
GroupNotFoundException
DirectoryCommunicationException

searchGroups

public <T> java.util.List<T> searchGroups(long directoryId,
                                          EntityQuery<T> query)
                               throws DirectoryAccessException,
                                      DirectoryCommunicationException
Specified by:
searchGroups in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

addGroup

public Group addGroup(long directoryId,
                      GroupTemplate group)
               throws InvalidGroupException,
                      DirectoryAccessException,
                      DirectoryPermissionException,
                      GroupNotFoundException,
                      DirectoryCommunicationException
Specified by:
addGroup in interface DirectoryManager
Throws:
InvalidGroupException
DirectoryAccessException
DirectoryPermissionException
GroupNotFoundException
DirectoryCommunicationException

updateGroup

public Group updateGroup(long directoryId,
                         GroupTemplate group)
                  throws DirectoryAccessException,
                         DirectoryPermissionException,
                         InvalidGroupException,
                         DirectoryCommunicationException
Specified by:
updateGroup in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
InvalidGroupException
DirectoryCommunicationException

renameGroup

public Group renameGroup(long directoryId,
                         java.lang.String oldGroupname,
                         java.lang.String newGroupname)
                  throws DirectoryAccessException,
                         DirectoryPermissionException,
                         InvalidGroupException,
                         DirectoryCommunicationException
Specified by:
renameGroup in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
InvalidGroupException
DirectoryCommunicationException

storeGroupAttributes

public void storeGroupAttributes(long directoryId,
                                 java.lang.String groupName,
                                 java.util.Map<java.lang.String,java.util.Set<java.lang.String>> attributes)
                          throws DirectoryAccessException,
                                 DirectoryPermissionException,
                                 DirectoryCommunicationException
Specified by:
storeGroupAttributes in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
DirectoryCommunicationException

removeGroupAttributes

public void removeGroupAttributes(long directoryId,
                                  java.lang.String groupName,
                                  java.lang.String attributeName)
                           throws DirectoryAccessException,
                                  DirectoryPermissionException,
                                  DirectoryCommunicationException
Specified by:
removeGroupAttributes in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryPermissionException
DirectoryCommunicationException

removeGroup

public void removeGroup(long directoryId,
                        java.lang.String groupName)
                 throws DirectoryPermissionException,
                        DirectoryAccessException,
                        DirectoryCommunicationException
Specified by:
removeGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException

isUserDirectGroupMember

public boolean isUserDirectGroupMember(long directoryId,
                                       java.lang.String username,
                                       java.lang.String groupName)
                                throws DirectoryAccessException,
                                       DirectoryCommunicationException
Specified by:
isUserDirectGroupMember in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

isGroupDirectGroupMember

public boolean isGroupDirectGroupMember(long directoryId,
                                        java.lang.String childGroup,
                                        java.lang.String parentGroup)
                                 throws DirectoryAccessException,
                                        DirectoryCommunicationException
Specified by:
isGroupDirectGroupMember in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

addUserToGroup

public void addUserToGroup(long directoryId,
                           java.lang.String username,
                           java.lang.String groupName)
                    throws DirectoryPermissionException,
                           DirectoryAccessException,
                           DirectoryCommunicationException
Specified by:
addUserToGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException

addGroupToGroup

public void addGroupToGroup(long directoryId,
                            java.lang.String childGroup,
                            java.lang.String parentGroup)
                     throws DirectoryPermissionException,
                            DirectoryAccessException,
                            InvalidMembershipException,
                            DirectoryCommunicationException,
                            NestedGroupsNotSupportedException
Specified by:
addGroupToGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
InvalidMembershipException
DirectoryCommunicationException
NestedGroupsNotSupportedException

removeUserFromGroup

public void removeUserFromGroup(long directoryId,
                                java.lang.String username,
                                java.lang.String groupName)
                         throws DirectoryPermissionException,
                                DirectoryAccessException,
                                MembershipNotFoundException,
                                DirectoryCommunicationException
Specified by:
removeUserFromGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
MembershipNotFoundException
DirectoryCommunicationException

removeGroupFromGroup

public void removeGroupFromGroup(long directoryId,
                                 java.lang.String childGroup,
                                 java.lang.String parentGroup)
                          throws DirectoryPermissionException,
                                 DirectoryAccessException,
                                 InvalidMembershipException,
                                 MembershipNotFoundException,
                                 DirectoryCommunicationException
Specified by:
removeGroupFromGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
InvalidMembershipException
MembershipNotFoundException
DirectoryCommunicationException

searchDirectGroupRelationships

public <T> java.util.List<T> searchDirectGroupRelationships(long directoryId,
                                                            MembershipQuery<T> query)
                                                 throws DirectoryAccessException,
                                                        DirectoryCommunicationException
Specified by:
searchDirectGroupRelationships in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

isUserNestedGroupMember

public boolean isUserNestedGroupMember(long directoryId,
                                       java.lang.String username,
                                       java.lang.String groupName)
                                throws DirectoryAccessException,
                                       DirectoryCommunicationException
Specified by:
isUserNestedGroupMember in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

isGroupNestedGroupMember

public boolean isGroupNestedGroupMember(long directoryId,
                                        java.lang.String childGroup,
                                        java.lang.String parentGroup)
                                 throws DirectoryAccessException,
                                        DirectoryCommunicationException
Specified by:
isGroupNestedGroupMember in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

searchNestedGroupRelationships

public <T> java.util.List<T> searchNestedGroupRelationships(long directoryId,
                                                            MembershipQuery<T> query)
                                                 throws DirectoryAccessException,
                                                        DirectoryCommunicationException
Specified by:
searchNestedGroupRelationships in interface DirectoryManager
Throws:
DirectoryAccessException
DirectoryCommunicationException

addAllUsers

public BulkAddResult<User> addAllUsers(long directoryId,
                                       java.util.Collection<UserTemplateWithCredentialAndAttributes> users,
                                       boolean overwrite)
                                throws DirectoryPermissionException,
                                       DirectoryAccessException,
                                       DirectoryCommunicationException
Specified by:
addAllUsers in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException

addAllGroups

public BulkAddResult<Group> addAllGroups(long directoryId,
                                         java.util.Collection<GroupTemplate> groups,
                                         boolean overwrite)
                                  throws DirectoryPermissionException,
                                         DirectoryAccessException,
                                         DirectoryCommunicationException
Specified by:
addAllGroups in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException

addAllUsersToGroup

public BulkAddResult<java.lang.String> addAllUsersToGroup(long directoryId,
                                                          java.util.Collection<java.lang.String> userNames,
                                                          java.lang.String groupName)
                                                   throws DirectoryPermissionException,
                                                          DirectoryAccessException,
                                                          DirectoryCommunicationException
Specified by:
addAllUsersToGroup in interface DirectoryManager
Throws:
DirectoryPermissionException
DirectoryAccessException
DirectoryCommunicationException


Copyright © 2010 Atlassian. All Rights Reserved.