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 |
copySchemeEntity, createSchemeEntity, deleteEntity, flushSchemeEntities, getDefaultDescriptionKey, getDefaultNameKey, getEntities, getEntities, getEntities, getEntities, getEntities, getEntities, getEntityName, getGroups, getGroups, getSchemeDesc, getSchemeEntityName, getSchemesContainingEntity, hasSchemeAuthority, hasSchemeAuthority, removeEntities, removeEntities |
Methods inherited from class com.atlassian.jira.scheme.AbstractSchemeManager |
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, createSchemeGenericValue, createSchemeObject, deleteScheme, flushProjectSchemes, getAssociatedSchemes, getAssociationType, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntity, getProjects, getProjects, getScheme, getScheme, getSchemeFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme, 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, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, createSchemeObject, deleteScheme, getAssociatedSchemes, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntity, getProjects, getProjects, getScheme, getScheme, getSchemeFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme, 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 interface:
Startable
- This method wil be called after the plugin system is fully initialised and all components added to the
dependency injection framework.
- Specified by:
start
in interface Startable
- 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-2012 Atlassian. All Rights Reserved.