Class CachingProjectRoleAndActorStore
java.lang.Object
com.atlassian.jira.security.roles.CachingProjectRoleAndActorStore
- All Implemented Interfaces:
InitializingComponent,ProjectRoleAndActorStore
public class CachingProjectRoleAndActorStore
extends Object
implements ProjectRoleAndActorStore, InitializingComponent
A caching implementation of the
ProjectRoleAndActorStore that delegates to another ProjectRoleAndActorStore.
This class maintains two separate unrelated caches, one for ProjectRoles and another for the actors associated with a Project/ProjectRole combination.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.atlassian.jira.security.roles.ProjectRoleAndActorStore
ProjectRoleAndActorStore.RoleTypeMapping -
Constructor Summary
ConstructorsConstructorDescriptionCachingProjectRoleAndActorStore(ProjectRoleAndActorStore delegate, RoleActorFactory roleActorFactory, com.atlassian.cache.CacheManager cacheManager, ReplicationPauserManager replicationPauserManager, ApplicationPropertiesManager applicationPropertiesManager, RoleTypeMappingZduSafeCache roleTypeMappingZduSafeCache) -
Method Summary
Modifier and TypeMethodDescriptionaddProjectRole(ProjectRole projectRole) voidCalled after all the beans are constructed and the ApplicationContext is fully populated.voidapplyDefaultsRolesToProject(Project project) voidclearCacheForProject(Project project) voidvoiddeleteProjectRole(ProjectRole projectRole) getDefaultRoleActors(Long projectRoleId) Get the defaultProjectRoleActorsfor a given project role ID.getProjectIdsForUserInGroupsBecauseOfRole(List<Long> projectsToLimitBy, ProjectRole projectRole, String projectRoleType, String userKey) getProjectIdToRoleIds(String roleTypeParameter, String roleType) getProjectRole(Long id) getProjectRoleActors(Long projectRoleId, Long projectId) Get theProjectRoleActorsfor a given project role ID and project ID.getProjectRoleByName(String name) getRoleActorsParametersAndTypeByProjectId(Long projectId) getRoleActorsParametersAndTypeByProjectRoleId(Long projectRoleId) booleanisGroupUsed(String group) voidonClearCache(ClearCacheEvent event) voidvoidremoveAllRoleActorsByKeyAndType(String key, String type) voidremoveAllRoleActorsByProject(Project project) roleActorOfTypeExistsForProjects(List<Long> projectsToLimitBy, ProjectRole projectRole, String projectRoleType, String projectRoleParameter) voidupdateDefaultRoleActors(DefaultRoleActors defaultRoleActors) voidupdateProjectRole(ProjectRole projectRole) voidupdateProjectRoleActors(ProjectRoleActors projectRoleActors)
-
Constructor Details
-
CachingProjectRoleAndActorStore
public CachingProjectRoleAndActorStore(ProjectRoleAndActorStore delegate, RoleActorFactory roleActorFactory, com.atlassian.cache.CacheManager cacheManager, ReplicationPauserManager replicationPauserManager, ApplicationPropertiesManager applicationPropertiesManager, RoleTypeMappingZduSafeCache roleTypeMappingZduSafeCache)
-
-
Method Details
-
afterInstantiation
Description copied from interface:InitializingComponentCalled after all the beans are constructed and the ApplicationContext is fully populated. Order of execution is order of bean creation, driven by InitializingComponentProcessor.- Specified by:
afterInstantiationin interfaceInitializingComponent- Throws:
Exception
-
getAllProjectRoles
- Specified by:
getAllProjectRolesin interfaceProjectRoleAndActorStore
-
getProjectRole
- Specified by:
getProjectRolein interfaceProjectRoleAndActorStore
-
getProjectRoleByName
- Specified by:
getProjectRoleByNamein interfaceProjectRoleAndActorStore
-
addProjectRole
- Specified by:
addProjectRolein interfaceProjectRoleAndActorStore
-
updateProjectRole
- Specified by:
updateProjectRolein interfaceProjectRoleAndActorStore
-
deleteProjectRole
- Specified by:
deleteProjectRolein interfaceProjectRoleAndActorStore
-
getDefaultRoleActors
Description copied from interface:ProjectRoleAndActorStoreGet the defaultProjectRoleActorsfor a given project role ID.- Specified by:
getDefaultRoleActorsin interfaceProjectRoleAndActorStore- Parameters:
projectRoleId- the ID of the project role.- Returns:
- A
ProjectRoleActorsobject containing the default role actors for the given project. If none are found, aProjectRoleActorsobject with an empty set will be returned.
-
getProjectRoleActors
Description copied from interface:ProjectRoleAndActorStoreGet theProjectRoleActorsfor a given project role ID and project ID.- Specified by:
getProjectRoleActorsin interfaceProjectRoleAndActorStore- Parameters:
projectRoleId- the ID of the project role.projectId- the ID of the project.- Returns:
- A
ProjectRoleActorsobject containing the role actors for the given project with the given project role id. If none are found, aProjectRoleActorsobject with an empty set will be returned.
-
updateProjectRoleActors
- Specified by:
updateProjectRoleActorsin interfaceProjectRoleAndActorStore
-
updateDefaultRoleActors
- Specified by:
updateDefaultRoleActorsin interfaceProjectRoleAndActorStore
-
applyDefaultsRolesToProject
- Specified by:
applyDefaultsRolesToProjectin interfaceProjectRoleAndActorStore
-
removeAllRoleActorsByKeyAndType
- Specified by:
removeAllRoleActorsByKeyAndTypein interfaceProjectRoleAndActorStore
-
removeAllRoleActorsByProject
- Specified by:
removeAllRoleActorsByProjectin interfaceProjectRoleAndActorStore
-
clearCacheForProject
-
getProjectIdsContainingRoleActorByKeyAndType
- Specified by:
getProjectIdsContainingRoleActorByKeyAndTypein interfaceProjectRoleAndActorStore
-
roleActorOfTypeExistsForProjects
public List<Long> roleActorOfTypeExistsForProjects(List<Long> projectsToLimitBy, ProjectRole projectRole, String projectRoleType, String projectRoleParameter) - Specified by:
roleActorOfTypeExistsForProjectsin interfaceProjectRoleAndActorStore
-
getProjectIdsForUserInGroupsBecauseOfRole
public Map<Long,List<String>> getProjectIdsForUserInGroupsBecauseOfRole(List<Long> projectsToLimitBy, ProjectRole projectRole, String projectRoleType, String userKey) - Specified by:
getProjectIdsForUserInGroupsBecauseOfRolein interfaceProjectRoleAndActorStore
-
onClearCache
-
onProjectRoleActorFKChanged
-
clearCaches
public void clearCaches() -
isGroupUsed
- Specified by:
isGroupUsedin interfaceProjectRoleAndActorStore
-
getProjectIdToRoleIds
public ProjectRoleManager.ProjectIdToProjectRoleIdsMap getProjectIdToRoleIds(@Nonnull String roleTypeParameter, @Nonnull String roleType) - Specified by:
getProjectIdToRoleIdsin interfaceProjectRoleAndActorStore
-
getRoleActorsParametersAndTypeByProjectId
public List<ProjectRoleAndActorStore.RoleTypeMapping> getRoleActorsParametersAndTypeByProjectId(@Nonnull Long projectId) - Specified by:
getRoleActorsParametersAndTypeByProjectIdin interfaceProjectRoleAndActorStore
-
getRoleActorsParametersAndTypeByProjectRoleId
public List<ProjectRoleAndActorStore.RoleTypeMapping> getRoleActorsParametersAndTypeByProjectRoleId(@Nonnull Long projectRoleId) - Specified by:
getRoleActorsParametersAndTypeByProjectRoleIdin interfaceProjectRoleAndActorStore
-