com.atlassian.jira.crowd.embedded
Class JiraDirectoryManager
java.lang.Object
com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
com.atlassian.jira.crowd.embedded.JiraDirectoryManager
- All Implemented Interfaces:
- com.atlassian.crowd.manager.directory.DirectoryManager
public class JiraDirectoryManager
- extends com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
Overrides the crowd implementation of DirectoryManager as a workaround for CWD-4028.
The crowd-supplied implementation passes around directoryId and frequently uses the private
method getDirectoryImplementation(long) to obtain the corresponding RemoteDirectory, generally
to make a single call on it, throw it away, and get a new one. If it were a trivial getter, then this would
not matter, but it isn't and the costs add up, particularly for large customers.
This overrides the implementation of the searching functions to stop them from doing this. Repeated calls to
getDirectoryImplementation(long) are factored out to a single call up front, and the RemoteDirectory
is passed around instead of the directoryId.
- Since:
- v6.3.6
|
Constructor Summary |
JiraDirectoryManager(com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao,
com.atlassian.crowd.dao.application.ApplicationDAO applicationDAO,
com.atlassian.event.api.EventPublisher eventPublisher,
com.atlassian.crowd.manager.permission.PermissionManager permissionManager,
com.atlassian.crowd.directory.loader.DirectoryInstanceLoader directoryInstanceLoader,
com.atlassian.crowd.manager.directory.DirectorySynchroniser directorySynchroniser,
com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerManager directoryPollerManager,
com.atlassian.crowd.manager.lock.DirectoryLockManager directoryLockManager,
com.atlassian.crowd.manager.directory.SynchronisationStatusManager synchronisationStatusManager,
com.atlassian.crowd.dao.permission.InternalUserPermissionDAO userPermissionDAO)
|
| Methods inherited from class com.atlassian.crowd.manager.directory.DirectoryManagerGeneric |
addAllGroups, addAllUsers, addAllUsersToGroup, addDirectory, addGroup, addGroupToGroup, addUser, addUserToGroup, authenticateUser, findAllDirectories, findDirectoryById, findDirectoryByName, findGroupByName, findGroupWithAttributesByName, findUserByName, findUserWithAttributesByName, getDirectorySynchronisationInformation, isGroupDirectGroupMember, isSynchronisable, isSynchronising, isUserDirectGroupMember, removeDirectory, removeGroup, removeGroupAttributes, removeGroupFromGroup, removeUser, removeUserAttributes, removeUserFromGroup, renameGroup, renameUser, searchDirectories, searchGroups, searchUsers, storeGroupAttributes, storeUserAttributes, supportsNestedGroups, synchroniseCache, synchroniseCache, updateDirectory, updateGroup, updateUser, updateUserCredential |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JiraDirectoryManager
public JiraDirectoryManager(com.atlassian.crowd.embedded.spi.DirectoryDao directoryDao,
com.atlassian.crowd.dao.application.ApplicationDAO applicationDAO,
com.atlassian.event.api.EventPublisher eventPublisher,
com.atlassian.crowd.manager.permission.PermissionManager permissionManager,
com.atlassian.crowd.directory.loader.DirectoryInstanceLoader directoryInstanceLoader,
com.atlassian.crowd.manager.directory.DirectorySynchroniser directorySynchroniser,
com.atlassian.crowd.manager.directory.monitor.poller.DirectoryPollerManager directoryPollerManager,
com.atlassian.crowd.manager.lock.DirectoryLockManager directoryLockManager,
com.atlassian.crowd.manager.directory.SynchronisationStatusManager synchronisationStatusManager,
com.atlassian.crowd.dao.permission.InternalUserPermissionDAO userPermissionDAO)
searchDirectGroupRelationships
public <T> List<T> searchDirectGroupRelationships(long directoryId,
com.atlassian.crowd.search.query.membership.MembershipQuery<T> query)
throws com.atlassian.crowd.exception.OperationFailedException,
com.atlassian.crowd.exception.DirectoryNotFoundException
- Specified by:
searchDirectGroupRelationships in interface com.atlassian.crowd.manager.directory.DirectoryManager- Overrides:
searchDirectGroupRelationships in class com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
- Throws:
com.atlassian.crowd.exception.OperationFailedException
com.atlassian.crowd.exception.DirectoryNotFoundException
isUserNestedGroupMember
public boolean isUserNestedGroupMember(long directoryId,
String username,
String groupName)
throws com.atlassian.crowd.exception.OperationFailedException,
com.atlassian.crowd.exception.DirectoryNotFoundException
- Specified by:
isUserNestedGroupMember in interface com.atlassian.crowd.manager.directory.DirectoryManager- Overrides:
isUserNestedGroupMember in class com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
- Throws:
com.atlassian.crowd.exception.OperationFailedException
com.atlassian.crowd.exception.DirectoryNotFoundException
isGroupNestedGroupMember
public boolean isGroupNestedGroupMember(long directoryId,
String childGroup,
String parentGroup)
throws com.atlassian.crowd.exception.OperationFailedException,
com.atlassian.crowd.exception.DirectoryNotFoundException
- Specified by:
isGroupNestedGroupMember in interface com.atlassian.crowd.manager.directory.DirectoryManager- Overrides:
isGroupNestedGroupMember in class com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
- Throws:
com.atlassian.crowd.exception.OperationFailedException
com.atlassian.crowd.exception.DirectoryNotFoundException
searchNestedGroupRelationships
public <T> List<T> searchNestedGroupRelationships(long directoryId,
com.atlassian.crowd.search.query.membership.MembershipQuery<T> query)
throws com.atlassian.crowd.exception.OperationFailedException,
com.atlassian.crowd.exception.DirectoryNotFoundException
- Specified by:
searchNestedGroupRelationships in interface com.atlassian.crowd.manager.directory.DirectoryManager- Overrides:
searchNestedGroupRelationships in class com.atlassian.crowd.manager.directory.DirectoryManagerGeneric
- Throws:
com.atlassian.crowd.exception.OperationFailedException
com.atlassian.crowd.exception.DirectoryNotFoundException
Copyright © 2002-2014 Atlassian. All Rights Reserved.