public class DefaultPermissionSchemeManager extends AbstractSchemeManager implements PermissionSchemeManager, Startable, GroupConfigurable
Permission Schemes are created, removed and edited through this class
eventPublisher, groupManager, projectManager, schemeFactory, securityTypeManagerPROJECT_ASSOCIATION| Constructor and Description |
|---|
DefaultPermissionSchemeManager(ProjectManager projectManager,
PermissionTypeManager permissionTypeManager,
PermissionContextFactory permissionContextFactory,
OfBizDelegator delegator,
SchemeFactory schemeFactory,
NodeAssociationStore nodeAssociationStore,
GroupManager groupManager,
com.atlassian.event.api.EventPublisher eventPublisher,
com.atlassian.cache.CacheManager cacheManager,
PermissionSchemeAttributeManager permissionSchemeAttributeManager) |
| Modifier and Type | Method and Description |
|---|---|
protected AbstractSchemeAddedToProjectEvent |
createSchemeAddedToProjectEvent(Scheme scheme,
Project project) |
protected AbstractSchemeCopiedEvent |
createSchemeCopiedEvent(Scheme oldScheme,
Scheme newScheme) |
protected AbstractSchemeEvent |
createSchemeCreatedEvent(Scheme scheme) |
org.ofbiz.core.entity.GenericValue |
createSchemeEntity(org.ofbiz.core.entity.GenericValue scheme,
SchemeEntity schemeEntity)
Create a new permission record in the database
|
protected AbstractSchemeEntityEvent |
createSchemeEntityDeletedEvent(org.ofbiz.core.entity.GenericValue entity) |
protected org.ofbiz.core.entity.GenericValue |
createSchemeEntityNoEvent(org.ofbiz.core.entity.GenericValue scheme,
SchemeEntity schemeEntity) |
protected AbstractSchemeRemovedFromProjectEvent |
createSchemeRemovedFromProjectEvent(Scheme scheme,
Project project) |
protected AbstractSchemeUpdatedEvent |
createSchemeUpdatedEvent(Scheme scheme,
Scheme originalScheme) |
void |
deleteEntities(Iterable<Long> ids)
Deletes a collection of entities from the database.
|
void |
deleteEntity(Long id)
Deletes a permission from the database
|
void |
deleteScheme(Long id)
Deletes a scheme from the database
|
void |
flushSchemeEntities() |
String |
getDefaultDescriptionKey() |
String |
getDefaultNameKey() |
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme)
Get all Scheme entity records for a particular scheme
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
Long permissionId)
Get all Generic Value permission records for a particular scheme and permission Id
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
Long permissionId,
String parameter)
Get all Generic Value permission records for a particular scheme and permission Id
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
Long permissionId,
String type,
String parameter)
Get all Generic Value permission records for a particular scheme and permission Id
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
ProjectPermissionKey permissionKey) |
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
ProjectPermissionKey permissionKey,
String parameter) |
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
ProjectPermissionKey permissionKey,
String type,
String parameter)
Get all Generic Value permission records for a particular scheme and permission Id
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
String permissionKey)
Inherited from SchemeManager.
|
List<org.ofbiz.core.entity.GenericValue> |
getEntities(org.ofbiz.core.entity.GenericValue scheme,
String type,
Long permissionId)
Get all Generic Value permission records for a particular scheme and permission Id
|
List<org.ofbiz.core.entity.GenericValue> |
getEntitiesByType(org.ofbiz.core.entity.GenericValue scheme,
ProjectPermissionKey permissionKey,
String type) |
String |
getEntityName() |
Collection<com.atlassian.crowd.embedded.api.Group> |
getGroups(Long entityTypeId,
org.ofbiz.core.entity.GenericValue project) |
Collection<com.atlassian.crowd.embedded.api.Group> |
getGroups(Long entityTypeId,
Project project) |
Collection<com.atlassian.crowd.embedded.api.Group> |
getGroups(ProjectPermissionKey permissionKey,
Project project) |
Collection<PermissionSchemeEntry> |
getPermissionSchemeEntries(long schemeId,
ProjectPermissionKey permissionKey)
Returns the PermissionSchemeEntries for the given Permission Scheme and ProjectPermissionKey.
|
Collection<PermissionSchemeEntry> |
getPermissionSchemeEntries(long schemeId,
ProjectPermissionKey permissionKey,
String type)
Returns the PermissionSchemeEntries for the given Permission Scheme and ProjectPermissionKey.
|
Collection<PermissionSchemeEntry> |
getPermissionSchemeEntries(Scheme scheme,
ProjectPermissionKey permissionKey)
Returns the PermissionSchemeEntries for the given Permission Scheme and ProjectPermissionKey.
|
String |
getSchemeDesc() |
String |
getSchemeEntityName() |
Scheme |
getSchemeFor(Project project)
Get the scheme of this type attached to the given project.
|
Long |
getSchemeIdFor(Project project)
Get the scheme of this type attached to the given project.
|
Collection<org.ofbiz.core.entity.GenericValue> |
getSchemesContainingEntity(String type,
String parameter)
This is a method that is meant to quickly get you all the schemes that contain an entity of the
specified type and parameter.
|
Collection<ApplicationUser> |
getUsers(ProjectPermissionKey permissionKey,
PermissionContext ctx) |
boolean |
hasExtendedProjectAdministration(Project project)
Checks if scheme for project has
com.atlassian.jira.permission.PermissionSchemeAttributeManager.AttributeKeys#EXTENDED_ADMINISTER_PROJECTS_ENABLED_ATTRIBUTE enabled. |
ProjectWidePermission |
hasProjectWidePermission(ProjectPermissionKey permissionKey,
Project project,
ApplicationUser user,
boolean issueCreation) |
boolean |
hasSchemePermission(ProjectPermissionKey permissionKey,
Issue issue)
Checks anonymous permission of the given permission type for the given issue.
|
boolean |
hasSchemePermission(ProjectPermissionKey permissionKey,
Issue issue,
ApplicationUser user,
boolean issueCreation)
Checks the given user's permission of the given permission type for the given issue.
|
boolean |
hasSchemePermission(ProjectPermissionKey permissionKey,
Project project)
Checks anonymous permission of the given permission type for the given project.
|
boolean |
hasSchemePermission(ProjectPermissionKey permissionKey,
Project project,
ApplicationUser user,
boolean issueCreation)
Checks the given user's permission of the given permission type for the given project.
|
boolean |
isGroupUsed(com.atlassian.crowd.embedded.api.Group group)
Determine whether configuration exists for the specified
Group. |
protected SchemeEntity |
makeSchemeEntity(org.ofbiz.core.entity.GenericValue entity) |
void |
onClearCache(ClearCacheEvent event) |
void |
onSchemePermissionsFKChangedEvent(SchemePermissionsFKChangedEvent event) |
boolean |
removeEntities(org.ofbiz.core.entity.GenericValue scheme,
Long permissionId)
Retrieves all the entites for this permission and then removes them.
|
boolean |
removeEntities(String type,
String parameter)
Removes all scheme entities with this parameter
|
void |
start()
Registers this CachingFieldConfigContextPersister's cache in the JIRA instrumentation.
|
void |
swapParameterForEntitiesOfType(String type,
String parameter,
String resultingParameter)
Swaps all parameters of entities with the given type scheme to the given resulting parameter
|
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, createSchemeGenericValue, createSchemeNoEvent, createSchemeObject, flushProjectSchemes, getApplicationI18n, getAssociatedSchemes, getAssociationType, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntitiesByIds, getEntity, getNameForCopy, getProjects, getScheme, getScheme, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme, updateSchemeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAssociationType, getUsersaddDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, copyScheme, createDefaultScheme, createScheme, createSchemeAndEntities, createSchemeObject, getAssociatedSchemes, getDefaultScheme, getDefaultSchemeObject, getEntities, getEntitiesByIds, getEntity, getProjects, getScheme, getScheme, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, removeSchemesFromProject, removeSchemesFromProject, schemeExists, updateScheme, updateSchemeisGroupUsedpublic DefaultPermissionSchemeManager(ProjectManager projectManager, PermissionTypeManager permissionTypeManager, PermissionContextFactory permissionContextFactory, OfBizDelegator delegator, SchemeFactory schemeFactory, NodeAssociationStore nodeAssociationStore, GroupManager groupManager, com.atlassian.event.api.EventPublisher eventPublisher, com.atlassian.cache.CacheManager cacheManager, PermissionSchemeAttributeManager permissionSchemeAttributeManager)
public void start()
throws Exception
public void onClearCache(ClearCacheEvent event)
onClearCache in class AbstractSchemeManagerpublic void onSchemePermissionsFKChangedEvent(SchemePermissionsFKChangedEvent event)
public String getSchemeEntityName()
getSchemeEntityName in interface PermissionSchemeManagergetSchemeEntityName in class AbstractSchemeManagerpublic String getEntityName()
getEntityName in interface PermissionSchemeManagergetEntityName in class AbstractSchemeManagerpublic String getSchemeDesc()
getSchemeDesc in interface PermissionSchemeManagergetSchemeDesc in class AbstractSchemeManagerpublic String getDefaultNameKey()
getDefaultNameKey in class AbstractSchemeManagerpublic String getDefaultDescriptionKey()
getDefaultDescriptionKey in class AbstractSchemeManagerprotected AbstractSchemeEvent createSchemeCreatedEvent(Scheme scheme)
createSchemeCreatedEvent in class AbstractSchemeManager@Nonnull protected AbstractSchemeCopiedEvent createSchemeCopiedEvent(@Nonnull Scheme oldScheme, @Nonnull Scheme newScheme)
createSchemeCopiedEvent in class AbstractSchemeManagerprotected AbstractSchemeUpdatedEvent createSchemeUpdatedEvent(Scheme scheme, Scheme originalScheme)
createSchemeUpdatedEvent in class AbstractSchemeManagerpublic void deleteScheme(Long id) throws org.ofbiz.core.entity.GenericEntityException
SchemeManagerdeleteScheme in interface SchemeManagerdeleteScheme in class AbstractSchemeManagerid - Id of the scheme to be deletedorg.ofbiz.core.entity.GenericEntityException - If a DB error occurs@Nonnull protected AbstractSchemeAddedToProjectEvent createSchemeAddedToProjectEvent(Scheme scheme, Project project)
createSchemeAddedToProjectEvent in class AbstractSchemeManagerpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, Long permissionId) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagergetEntities in interface SchemeManagerscheme - The scheme that the permissions belong topermissionId - The Id of the permissionorg.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, Long permissionId, String parameter) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagergetEntities in interface SchemeManagerscheme - The scheme that the permissions belong topermissionId - The Id of the permissionparameter - The permission parameter (group name etc)org.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(@Nonnull org.ofbiz.core.entity.GenericValue scheme, @Nonnull ProjectPermissionKey permissionKey, @Nonnull String parameter) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, Long permissionId, String type, String parameter) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagerscheme - The scheme that the permissions belong topermissionId - The Id of the permissionparameter - The permission parameter (group name etc)type - The type of the permission(Group, Current Reporter etc)org.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(@Nonnull org.ofbiz.core.entity.GenericValue scheme, @Nonnull ProjectPermissionKey permissionKey, @Nonnull String type, @Nonnull String parameter) throws org.ofbiz.core.entity.GenericEntityException
PermissionSchemeManagergetEntities in interface PermissionSchemeManagerscheme - The scheme that the permissions belong topermissionKey - The key of the permissiontype - The type of the permission(Group, Current Reporter etc)parameter - The permission parameter (group name etc)org.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, String type, Long permissionId) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagergetEntities in interface SchemeManagerscheme - The scheme that the permissions belong totype - The type of the permission(Group, Current Reporter etc)permissionId - The Id of the permissionorg.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntitiesByType(@Nonnull org.ofbiz.core.entity.GenericValue scheme, @Nonnull ProjectPermissionKey permissionKey, @Nonnull String type) throws org.ofbiz.core.entity.GenericEntityException
getEntitiesByType in interface PermissionSchemeManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(@Nonnull org.ofbiz.core.entity.GenericValue scheme, @Nonnull ProjectPermissionKey permissionKey) throws org.ofbiz.core.entity.GenericEntityException
getEntities in interface PermissionSchemeManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, String permissionKey) throws org.ofbiz.core.entity.GenericEntityException
PermissionSchemeManagergetEntities in interface PermissionSchemeManagergetEntities in interface SchemeManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic Collection<PermissionSchemeEntry> getPermissionSchemeEntries(@Nonnull Scheme scheme, @Nonnull ProjectPermissionKey permissionKey)
PermissionSchemeManagergetPermissionSchemeEntries in interface PermissionSchemeManagerscheme - The permission schemepermissionKey - The permission typePermissionSchemeManager.getPermissionSchemeEntries(long, ProjectPermissionKey)public Collection<PermissionSchemeEntry> getPermissionSchemeEntries(long schemeId, @Nonnull ProjectPermissionKey permissionKey)
PermissionSchemeManagergetPermissionSchemeEntries in interface PermissionSchemeManagerschemeId - The permission schemepermissionKey - The permission typePermissionSchemeManager.getPermissionSchemeEntries(Scheme, ProjectPermissionKey)public Collection<PermissionSchemeEntry> getPermissionSchemeEntries(long schemeId, @Nonnull ProjectPermissionKey permissionKey, @Nonnull String type)
PermissionSchemeManagergetPermissionSchemeEntries in interface PermissionSchemeManagerschemeId - The permission schemepermissionKey - The permission typePermissionSchemeManager.getPermissionSchemeEntries(long, ProjectPermissionKey)public org.ofbiz.core.entity.GenericValue createSchemeEntity(org.ofbiz.core.entity.GenericValue scheme,
SchemeEntity schemeEntity)
throws org.ofbiz.core.entity.GenericEntityException
createSchemeEntity in interface SchemeManagerscheme - The scheme that the permission record is associated withschemeEntity - The scheme entity object that is to be added to the schemeorg.ofbiz.core.entity.GenericEntityExceptionprotected org.ofbiz.core.entity.GenericValue createSchemeEntityNoEvent(org.ofbiz.core.entity.GenericValue scheme,
SchemeEntity schemeEntity)
throws org.ofbiz.core.entity.GenericEntityException
createSchemeEntityNoEvent in class AbstractSchemeManagerorg.ofbiz.core.entity.GenericEntityExceptionpublic void deleteEntity(Long id) throws DataAccessException
deleteEntity in interface SchemeManagerdeleteEntity in class AbstractSchemeManagerid - The id of the permission to be deletedDataAccessExceptionpublic void deleteEntities(Iterable<Long> ids)
SchemeManagerdeleteEntities in interface SchemeManagerdeleteEntities in class AbstractSchemeManagerids - a collection entity ids to be deleted.protected AbstractSchemeEntityEvent createSchemeEntityDeletedEvent(org.ofbiz.core.entity.GenericValue entity)
createSchemeEntityDeletedEvent in class AbstractSchemeManagerprotected SchemeEntity makeSchemeEntity(org.ofbiz.core.entity.GenericValue entity)
makeSchemeEntity in class AbstractSchemeManagerpublic List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme) throws org.ofbiz.core.entity.GenericEntityException
SchemeManagergetEntities in interface PermissionSchemeManagergetEntities in interface SchemeManagergetEntities in class AbstractSchemeManagerscheme - The scheme that the entities belong toorg.ofbiz.core.entity.GenericEntityException - If a DB error occurspublic boolean removeEntities(String type, String parameter) throws RemoveException
removeEntities in interface SchemeManagerremoveEntities in class AbstractSchemeManagertype - the type of scheme entity you wish to remove 'user', 'group', 'projectrole'parameter - must NOT be nullRemoveException - if the delete fails (DB error)public boolean removeEntities(org.ofbiz.core.entity.GenericValue scheme,
Long permissionId)
throws RemoveException
removeEntities in interface SchemeManagerremoveEntities in class AbstractSchemeManagerscheme - to remove entites from must NOT be nullpermissionId - to remove must NOT be a global permissionRemoveExceptionpublic boolean hasSchemePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project)
PermissionSchemeManagerhasSchemePermission in interface PermissionSchemeManagerpermissionKey - permission key.project - the project to which permission is being checked.public boolean hasSchemePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Issue issue)
PermissionSchemeManagerhasSchemePermission in interface PermissionSchemeManagerpermissionKey - permission key.issue - the issue to which permission is being checked.public boolean hasSchemePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project, @Nullable ApplicationUser user, boolean issueCreation)
PermissionSchemeManagerhasSchemePermission in interface PermissionSchemeManagerpermissionKey - permission key.project - the project to which permission is being checked.user - the user.issueCreation - whether the permission is for creating an issue.public ProjectWidePermission hasProjectWidePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project, @Nonnull ApplicationUser user, boolean issueCreation)
hasProjectWidePermission in interface PermissionSchemeManagerpublic boolean hasSchemePermission(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Issue issue, @Nullable ApplicationUser user, boolean issueCreation)
PermissionSchemeManagerhasSchemePermission in interface PermissionSchemeManagerpermissionKey - permission key.issue - the issue to check permission againstuser - the user.issueCreation - whether the permission is for creating an issue.@Nullable public Scheme getSchemeFor(Project project)
SchemeManagergetSchemeFor in interface SchemeManagergetSchemeFor in class AbstractSchemeManagerproject - The projectSchemeManager.getSchemeIdFor(Project)@Nullable public Long getSchemeIdFor(Project project)
SchemeManagergetSchemeIdFor in interface SchemeManagergetSchemeIdFor in class AbstractSchemeManagerproject - The projectSchemeManager.getSchemeFor(Project)public Collection<com.atlassian.crowd.embedded.api.Group> getGroups(Long entityTypeId, Project project)
getGroups in interface PermissionSchemeManagergetGroups in interface SchemeManagergetGroups in class AbstractSchemeManagerpublic Collection<com.atlassian.crowd.embedded.api.Group> getGroups(@Nonnull ProjectPermissionKey permissionKey, @Nonnull Project project)
getGroups in interface PermissionSchemeManagerpublic Collection<com.atlassian.crowd.embedded.api.Group> getGroups(Long entityTypeId, org.ofbiz.core.entity.GenericValue project)
getGroups in interface SchemeManagergetGroups in class AbstractSchemeManagerpublic Collection<ApplicationUser> getUsers(@Nonnull ProjectPermissionKey permissionKey, @Nonnull PermissionContext ctx)
getUsers in interface PermissionSchemeManagerpublic boolean hasExtendedProjectAdministration(@Nullable Project project)
PermissionSchemeManagercom.atlassian.jira.permission.PermissionSchemeAttributeManager.AttributeKeys#EXTENDED_ADMINISTER_PROJECTS_ENABLED_ATTRIBUTE enabled.hasExtendedProjectAdministration in interface PermissionSchemeManagercom.atlassian.jira.permission.PermissionSchemeAttributeManager.AttributeKeys#EXTENDED_ADMINISTER_PROJECTS_ENABLED_ATTRIBUTE enabled, false otherwise.@Nonnull protected AbstractSchemeRemovedFromProjectEvent createSchemeRemovedFromProjectEvent(Scheme scheme, Project project)
createSchemeRemovedFromProjectEvent in class AbstractSchemeManagerpublic void flushSchemeEntities()
flushSchemeEntities in interface PermissionSchemeManagerpublic Collection<org.ofbiz.core.entity.GenericValue> getSchemesContainingEntity(String type, String parameter)
PermissionSchemeManagergetSchemesContainingEntity in interface PermissionSchemeManagertype - is the entity typeparameter - is the scheme entries parameter valuepublic void swapParameterForEntitiesOfType(String type, String parameter, String resultingParameter)
SchemeManagerswapParameterForEntitiesOfType in interface SchemeManagerswapParameterForEntitiesOfType in class AbstractSchemeManagertype - the 'type' of entity you are swapping, eg 'group', 'user', 'projectrole'parameter - must NOT be nullpublic boolean isGroupUsed(@Nonnull com.atlassian.crowd.embedded.api.Group group)
GroupConfigurableGroup.isGroupUsed in interface GroupConfigurablegroup - that may or may not exist.Copyright © 2002-2021 Atlassian. All Rights Reserved.