com.atlassian.jira.permission
Class WorkflowBasedPermissionSchemeManager
java.lang.Object
com.atlassian.jira.scheme.AbstractSchemeManager
com.atlassian.jira.permission.DefaultPermissionSchemeManager
com.atlassian.jira.permission.WorkflowBasedPermissionSchemeManager
- All Implemented Interfaces:
- Startable, PermissionSchemeManager, SchemeManager
public class WorkflowBasedPermissionSchemeManager
- extends DefaultPermissionSchemeManager
- implements Startable
Custom permission scheme manager that allows the list of assignable users to be restricted by workflow state.
In jira-workflow.xml, every step can have a meta attribute stating which groups are assignable:
<step id="23" name="Pending Biz User Approval">
....
<meta name="jira.permission.assignable.group">${pkey}-bizusers</meta>
When getUsers(Long, PermissionContext)
is called to discover assignable users,
this permission scheme manager first does the regular "Assignable" check, and then filters returned users for membership
of the 'jira.permission.assignable.group' (in this example). If jira.permission.assignable.* isn't specified for a step, all permission-derived users
are returned.
- See Also:
WorkflowBasedPermissionManager
Methods inherited from class com.atlassian.jira.permission.DefaultPermissionSchemeManager |
copyScheme, copySchemeEntity, createSchemeEntity, createSchemeObject, deleteEntity, deleteScheme, flushSchemeEntities, getDefaultDescriptionKey, getDefaultNameKey, getEntities, getEntities, getEntities, getEntities, getEntities, getEntities, getEntityName, getGroups, getGroups, getSchemeDesc, getSchemeEntityName, getSchemesContainingEntity, hasSchemeAuthority, hasSchemeAuthority, removeEntities, removeEntities, updateScheme |
Methods inherited from class com.atlassian.jira.scheme.AbstractSchemeManager |
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, createSchemeGenericValue, flushProjectSchemes, getAssociatedSchemes, getAssociationType, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntity, getNameForCopy, getProjects, getProjects, getScheme, getScheme, getSchemeFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.atlassian.jira.scheme.SchemeManager |
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, getAssociatedSchemes, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntity, getProjects, getProjects, getScheme, getScheme, getSchemeFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme |
WorkflowBasedPermissionSchemeManager
public WorkflowBasedPermissionSchemeManager(ProjectManager projectManager,
PermissionTypeManager permissionTypeManager,
WorkflowPermissionFactory workflowPermissionFactory,
PermissionContextFactory permissionContextFactory,
OfBizDelegator ofBizDelegator,
SchemeFactory schemeFactory,
com.atlassian.event.api.EventPublisher eventPublisher,
AssociationManager associationManager,
GroupManager groupManager)
start
public void start()
throws Exception
- Description copied from class:
DefaultPermissionSchemeManager
- Registers this CachingFieldConfigContextPersister's cache in the JIRA instrumentation.
- Specified by:
start
in interface Startable
- Overrides:
start
in class DefaultPermissionSchemeManager
- Throws:
Exception
- Allows implementations to throw an Exception.
onClearCache
@EventListener
public void onClearCache(ClearCacheEvent event)
- Overrides:
onClearCache
in class DefaultPermissionSchemeManager
getUsers
public Collection<com.atlassian.crowd.embedded.api.User> getUsers(Long permissionId,
PermissionContext ctx)
- Specified by:
getUsers
in interface SchemeManager
- Overrides:
getUsers
in class AbstractSchemeManager
Copyright © 2002-2013 Atlassian. All Rights Reserved.