Class CachedCrowdGroupDao
java.lang.Object
com.atlassian.confluence.impl.user.crowd.CachedCrowdGroupDao
- All Implemented Interfaces:
InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>,com.atlassian.crowd.embedded.spi.GroupDao,org.springframework.beans.factory.InitializingBean
public class CachedCrowdGroupDao
extends Object
implements InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>, org.springframework.beans.factory.InitializingBean
A caching decorator for an InternalUserDao.
-
Constructor Summary
ConstructorsConstructorDescriptionCachedCrowdGroupDao(InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup> delegate, TransactionAwareCacheFactory cacheFactory, com.atlassian.event.api.EventPublisher eventPublisher) -
Method Summary
Modifier and TypeMethodDescriptioncom.atlassian.crowd.model.group.InternalGroupadd(com.atlassian.crowd.model.group.Group group) Adds the passed in group by calling the delegate dao's add method.com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.group.Group> Removes all the adding groups from the cache and delegates to the addAll method of the delegate DAO.com.atlassian.crowd.model.group.InternalGroupaddLocal(com.atlassian.crowd.model.group.Group group) voidfindByExternalIds(long directoryId, Set<String> externalIds) com.atlassian.crowd.model.group.InternalDirectoryGroupfindByName(long directoryId, String name) com.atlassian.crowd.model.group.GroupWithAttributesfindByNameWithAttributes(long directoryId, String name) findExternalIdsByNames(long directoryId, Set<String> groupNames) getAllExternalIds(long directoryId) longgetExternalGroupCount(long directoryId) longgetGroupCount(long directoryId) getLocalGroupNames(long directoryId) com.atlassian.crowd.model.group.InternalGroupinternalFindByGroup(com.atlassian.crowd.model.group.Group group) Find the persistent group object that corresponds to the provided group.com.atlassian.crowd.model.group.InternalGroupinternalFindByName(long directoryId, String groupName) Find a persistent group object from a given directory and group namevoidremove(com.atlassian.crowd.model.group.Group group) voidremoveAllGroups(long directoryId) Remove all groups from a particular directory (used when deleting an internal directory)com.atlassian.crowd.util.BatchResult<String> removeAllGroups(long directoryId, Set<String> groupNames) voidremoveAttribute(com.atlassian.crowd.model.group.Group group, String attributeName) com.atlassian.crowd.model.group.Group<T> List<T> search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query) voidstoreAttributes(com.atlassian.crowd.model.group.Group group, Map<String, Set<String>> attributes) com.atlassian.crowd.model.group.Groupupdate(com.atlassian.crowd.model.group.Group group)
-
Constructor Details
-
CachedCrowdGroupDao
public CachedCrowdGroupDao(InternalGroupDao<com.atlassian.crowd.model.group.InternalGroup> delegate, TransactionAwareCacheFactory cacheFactory, com.atlassian.event.api.EventPublisher eventPublisher) - Since:
- 7.5
-
-
Method Details
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
findByName
public com.atlassian.crowd.model.group.InternalDirectoryGroup findByName(long directoryId, String name) throws com.atlassian.crowd.exception.GroupNotFoundException - Specified by:
findByNamein interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
findByNameWithAttributes
public com.atlassian.crowd.model.group.GroupWithAttributes findByNameWithAttributes(long directoryId, String name) throws com.atlassian.crowd.exception.GroupNotFoundException - Specified by:
findByNameWithAttributesin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
addAll
public com.atlassian.crowd.util.BatchResult<com.atlassian.crowd.model.group.Group> addAll(Set<? extends com.atlassian.crowd.model.group.Group> groups) throws com.atlassian.crowd.exception.DirectoryNotFoundException Removes all the adding groups from the cache and delegates to the addAll method of the delegate DAO.This method will not try and update the cache like
add(Group)because:- We want to delegate to the "addAll" method on the delegate as its the fastest way to add a large number of groups, we can't just delegate to add method
- Unlike the add method, we don't get a reference to the added group so we can't reliably update the cache, so we just remove it.
- Specified by:
addAllin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Parameters:
groups- the groups to add- Returns:
- a BatchResult describing the result
- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException- if the directory for any of the groups is not found
-
add
public com.atlassian.crowd.model.group.InternalGroup add(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.DirectoryNotFoundException, com.atlassian.crowd.exception.InvalidGroupException Adds the passed in group by calling the delegate dao's add method. Updates the cache to match the newly created group.- Specified by:
addin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Specified by:
addin interfaceInternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>- Parameters:
group- the group to add- Returns:
- the added group
- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException- if the directory cannot be found.com.atlassian.crowd.exception.InvalidGroupException
-
addLocal
public com.atlassian.crowd.model.group.InternalGroup addLocal(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.DirectoryNotFoundException, com.atlassian.crowd.exception.InvalidGroupException - Specified by:
addLocalin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Specified by:
addLocalin interfaceInternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundExceptioncom.atlassian.crowd.exception.InvalidGroupException
-
update
public com.atlassian.crowd.model.group.Group update(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException - Specified by:
updatein interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
rename
public com.atlassian.crowd.model.group.Group rename(com.atlassian.crowd.model.group.Group group, String newName) throws com.atlassian.crowd.exception.GroupNotFoundException, com.atlassian.crowd.exception.InvalidGroupException - Specified by:
renamein interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundExceptioncom.atlassian.crowd.exception.InvalidGroupException
-
storeAttributes
public void storeAttributes(com.atlassian.crowd.model.group.Group group, Map<String, Set<String>> attributes) throws com.atlassian.crowd.exception.GroupNotFoundException- Specified by:
storeAttributesin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
removeAttribute
public void removeAttribute(com.atlassian.crowd.model.group.Group group, String attributeName) throws com.atlassian.crowd.exception.GroupNotFoundException - Specified by:
removeAttributein interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
remove
public void remove(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException - Specified by:
removein interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
search
public <T> List<T> search(long directoryId, com.atlassian.crowd.search.query.entity.EntityQuery<T> query) - Specified by:
searchin interfacecom.atlassian.crowd.embedded.spi.GroupDao
-
internalFindByName
public com.atlassian.crowd.model.group.InternalGroup internalFindByName(long directoryId, String groupName) throws com.atlassian.crowd.exception.GroupNotFoundException Description copied from interface:InternalGroupDaoFind a persistent group object from a given directory and group name- Specified by:
internalFindByNamein interfaceInternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
internalFindByGroup
public com.atlassian.crowd.model.group.InternalGroup internalFindByGroup(com.atlassian.crowd.model.group.Group group) throws com.atlassian.crowd.exception.GroupNotFoundException Description copied from interface:InternalGroupDaoFind the persistent group object that corresponds to the provided group.- Specified by:
internalFindByGroupin interfaceInternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>- Throws:
com.atlassian.crowd.exception.GroupNotFoundException
-
removeAllGroups
public void removeAllGroups(long directoryId) Description copied from interface:InternalGroupDaoRemove all groups from a particular directory (used when deleting an internal directory)- Specified by:
removeAllGroupsin interfaceInternalGroupDao<com.atlassian.crowd.model.group.InternalGroup>
-
removeAllGroups
public com.atlassian.crowd.util.BatchResult<String> removeAllGroups(long directoryId, Set<String> groupNames) - Specified by:
removeAllGroupsin interfacecom.atlassian.crowd.embedded.spi.GroupDao
-
getAllExternalIds
public Set<String> getAllExternalIds(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException - Specified by:
getAllExternalIdsin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException
-
getGroupCount
public long getGroupCount(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException - Specified by:
getGroupCountin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException
-
getLocalGroupNames
public Set<String> getLocalGroupNames(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException - Specified by:
getLocalGroupNamesin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException
-
findByExternalIds
- Specified by:
findByExternalIdsin interfacecom.atlassian.crowd.embedded.spi.GroupDao
-
findExternalIdsByNames
- Specified by:
findExternalIdsByNamesin interfacecom.atlassian.crowd.embedded.spi.GroupDao
-
getExternalGroupCount
public long getExternalGroupCount(long directoryId) throws com.atlassian.crowd.exception.DirectoryNotFoundException - Specified by:
getExternalGroupCountin interfacecom.atlassian.crowd.embedded.spi.GroupDao- Throws:
com.atlassian.crowd.exception.DirectoryNotFoundException
-