Class AbstractEditPermissionsAdministrator
java.lang.Object
com.atlassian.confluence.impl.security.administrators.DefaultPermissionsAdministrator
com.atlassian.confluence.impl.security.administrators.AbstractEditPermissionsAdministrator
- All Implemented Interfaces:
EditPermissionsAdministrator,PermissionsAdministrator
- Direct Known Subclasses:
EditGlobalPermissionsAdministrator,EditSpacePermissionsAdministrator
public abstract class AbstractEditPermissionsAdministrator
extends DefaultPermissionsAdministrator
implements EditPermissionsAdministrator
Contains all the common functionality of the global and space edit permissions administrators
- Since:
- 7.17
-
Field Summary
FieldsFields inherited from interface com.atlassian.confluence.security.administrators.EditPermissionsAdministrator
MAX_ENTRIES -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractEditPermissionsAdministrator(SpacePermissionManager spacePermissionManager, PermissionResolver permissionResolver, SetSpacePermissionChecker setSpacePermissionChecker, ConfluenceUserResolver userResolver, GroupResolver groupResolver) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAllPermissions(Set<SpacePermission> permissionsToAdd) Adds the given set of permissions if the current user has permission to do so, otherwise does nothing silently.addGuardPermissionToGroups(List<String> groupNames, UserAccessor userAccessor, String guardPermission) Add the guard permissions for each group if they existaddGuardPermissionToGroups(List<String> groupNames, String guardPermission) Add the guard permissions for each group if they existaddGuardPermissionToUsers(List<String> userNames, UserAccessor userAccessor, String guardPermission) Add the guard permissions for each user if they existaddGuardPermissionToUsers(List<String> userNames, String guardPermission) Add the guard permissions for each user if they existvoidapplyPermissionChanges(Collection<SpacePermission> oldPermissions, Collection<SpacePermission> newPermissions) Given the old permissions and new permissions, apply necessary permission changes to make old permissions the same as new permissionsprotected Collection<SpacePermission>buildPermissionsFromWebForm(Space space, Map<String, ?> formParameters, String parameterQualifier) Private implementation that doesn't check to ensure space key is nullprotected booleancanAddPermission(SpacePermission permission) Used by both space and global permission administrators to determine if the user can add the permission.voiddenyAnonymousPermissions(Collection<SpacePermission> currentPermissions, Set<SpacePermission> permissionsToAdd, Set<SpacePermission> permissionsToRemove) Removes all anonymous permissionsintReturns the number of group entries that are to be added.intReturns the number of user entries that are to be added.booleanisGroupsToAddEmpty(Map requestParams) Validate if the number of groups to add is empty Validation only occurs if the group add button is pressedbooleanisGroupsToAddTooLarge(Map requestParams) Validate if the number of groups to add is greater than maximum allowed.booleanisRemoveAllAdminPermissions(Set<SpacePermission> permissionsToRemove) Returns if all admin permissions would be removed by the request.booleanisUsersToAddEmpty(Map requestParams) Validate if the number of users to add is empty Validation only occurs if the user add button is pressedbooleanisUsersToAddTooLarge(Map requestParams) Validate if the number of users to add is greater than maximum allowed.voidremoveAllPermissions(Set<SpacePermission> permissionsToRemove) Removes the given set of permissions if the current user has permission to do so, otherwise does nothing silently.voidremovePermission(SpacePermission permissionToRemove) Removes the given permission if the current user has permission to do so, otherwise does nothing silently.voidsetGroupsToAdd(List<String> groupsToAdd) Set the groups to add from the UIvoidsetRemoteUser(ConfluenceUser remoteUser) The current logged in uservoidsetRemoteUser(com.atlassian.user.User remoteUser) Deprecated, for removal: This API element is subject to removal in a future version.voidsetUsersToAdd(List<String> usersToAdd) Set the users to add from the UIvoidsplitPermissions(Collection<SpacePermission> existingPermissions, Collection<SpacePermission> initialPermissions, Collection<SpacePermission> requestedPermissions, Set<SpacePermission> permissionsToAdd, Set<SpacePermission> permissionsToRemove) Determine which permissions need to be added or removed.Methods inherited from class com.atlassian.confluence.impl.security.administrators.DefaultPermissionsAdministrator
buildAnonymousPermissionRow, buildGroupPermissionTable, buildUnlicensedAuthenticatedPermissionRow, buildUserPermissionTable, getPermissionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.confluence.security.administrators.EditPermissionsAdministrator
addPermission, buildPermissionsFromWebForm, createGroupGuardPermission, createUserGuardPermission, getAdministrativePermissionType, getInitialPermissionsFromForm, getRequestedPermissionsFromFormMethods inherited from interface com.atlassian.confluence.security.administrators.PermissionsAdministrator
buildAnonymousPermissionRow, buildGroupPermissionTable, buildUnlicensedAuthenticatedPermissionRow, buildUserPermissionTable, getPermissions
-
Field Details
-
remoteUser
-
PARAMETER_PREFIX
- See Also:
-
-
Constructor Details
-
AbstractEditPermissionsAdministrator
protected AbstractEditPermissionsAdministrator(SpacePermissionManager spacePermissionManager, PermissionResolver permissionResolver, SetSpacePermissionChecker setSpacePermissionChecker, ConfluenceUserResolver userResolver, GroupResolver groupResolver)
-
-
Method Details
-
isGroupsToAddTooLarge
Description copied from interface:EditPermissionsAdministratorValidate if the number of groups to add is greater than maximum allowed. Validation only occurs if the group add button is pressed- Specified by:
isGroupsToAddTooLargein interfaceEditPermissionsAdministrator- Parameters:
requestParams- params from the request- Returns:
- true if limit is exceeded.
-
isGroupsToAddEmpty
Description copied from interface:EditPermissionsAdministratorValidate if the number of groups to add is empty Validation only occurs if the group add button is pressed- Specified by:
isGroupsToAddEmptyin interfaceEditPermissionsAdministrator- Parameters:
requestParams- params from the request- Returns:
- true if groups are empty
-
getNumOfGroupEntries
public int getNumOfGroupEntries()Description copied from interface:EditPermissionsAdministratorReturns the number of group entries that are to be added.- Specified by:
getNumOfGroupEntriesin interfaceEditPermissionsAdministrator- Returns:
- the number of group entries that are to be added
-
isUsersToAddTooLarge
Description copied from interface:EditPermissionsAdministratorValidate if the number of users to add is greater than maximum allowed. Validation only occurs if the user add button is pressed- Specified by:
isUsersToAddTooLargein interfaceEditPermissionsAdministrator- Parameters:
requestParams- params from the request- Returns:
- true if limit is exceeded.
-
isUsersToAddEmpty
Description copied from interface:EditPermissionsAdministratorValidate if the number of users to add is empty Validation only occurs if the user add button is pressed- Specified by:
isUsersToAddEmptyin interfaceEditPermissionsAdministrator- Parameters:
requestParams- params from the request- Returns:
- true if users are empty
-
getNumOfUserEntries
public int getNumOfUserEntries()Description copied from interface:EditPermissionsAdministratorReturns the number of user entries that are to be added.- Specified by:
getNumOfUserEntriesin interfaceEditPermissionsAdministrator- Returns:
- the number of user entries that are to be added
-
splitPermissions
public void splitPermissions(Collection<SpacePermission> existingPermissions, Collection<SpacePermission> initialPermissions, Collection<SpacePermission> requestedPermissions, Set<SpacePermission> permissionsToAdd, Set<SpacePermission> permissionsToRemove) Description copied from interface:EditPermissionsAdministratorDetermine which permissions need to be added or removed. Given a collection of how permissions are now (existingPermissions) and how you wish the permissions to be (newPermissions), this will populate the collectionspermissionsToAddandpermissionsToRemovewith those permissions that you will need to add or remove to reach the desired state.- Specified by:
splitPermissionsin interfaceEditPermissionsAdministrator- Parameters:
existingPermissions- the currently existing permissionsinitialPermissions- the permissions the user was initially shownrequestedPermissions- the new state we want these permissions to be inpermissionsToAdd- collection into which permissions that need adding will be placedpermissionsToRemove- collection into which permissions that need removing will be placed
-
buildPermissionsFromWebForm
protected Collection<SpacePermission> buildPermissionsFromWebForm(Space space, Map<String, ?> formParameters, String parameterQualifier) Private implementation that doesn't check to ensure space key is null -
isRemoveAllAdminPermissions
Description copied from interface:EditPermissionsAdministratorReturns if all admin permissions would be removed by the request.- Specified by:
isRemoveAllAdminPermissionsin interfaceEditPermissionsAdministrator- Parameters:
permissionsToRemove- - permissions to be removed- Returns:
- true if all admin permissions would be removed by the request
-
denyAnonymousPermissions
public void denyAnonymousPermissions(Collection<SpacePermission> currentPermissions, Set<SpacePermission> permissionsToAdd, Set<SpacePermission> permissionsToRemove) Description copied from interface:EditPermissionsAdministratorRemoves all anonymous permissions- Specified by:
denyAnonymousPermissionsin interfaceEditPermissionsAdministrator- Parameters:
currentPermissions- - current state of the permissionspermissionsToAdd- - permissions to be addedpermissionsToRemove- - permissions to be removed
-
addAllPermissions
Description copied from interface:EditPermissionsAdministratorAdds the given set of permissions if the current user has permission to do so, otherwise does nothing silently.- Specified by:
addAllPermissionsin interfaceEditPermissionsAdministrator- Parameters:
permissionsToAdd- the set of permissions you want rid of.
-
removeAllPermissions
Description copied from interface:EditPermissionsAdministratorRemoves the given set of permissions if the current user has permission to do so, otherwise does nothing silently.- Specified by:
removeAllPermissionsin interfaceEditPermissionsAdministrator- Parameters:
permissionsToRemove- the permission you want rid of.
-
canAddPermission
Used by both space and global permission administrators to determine if the user can add the permission. The criteria to be met are: - User has the right to add the permission - permission does not exist already. - permission is a valid anonymous permission. - permission is a valid "all authenticated users" user permission.- Parameters:
permission- permission to be added- Returns:
- true if the permission can be added.
-
removePermission
Description copied from interface:EditPermissionsAdministratorRemoves the given permission if the current user has permission to do so, otherwise does nothing silently.- Specified by:
removePermissionin interfaceEditPermissionsAdministrator- Parameters:
permissionToRemove- the permission you want rid of.
-
addGuardPermissionToGroups
Description copied from interface:EditPermissionsAdministratorAdd the guard permissions for each group if they exist- Specified by:
addGuardPermissionToGroupsin interfaceEditPermissionsAdministrator- Parameters:
groupNames- - names of the groups to be addedguardPermission- - the name of the guard permission to add- Returns:
- false if an error occurred.
-
addGuardPermissionToUsers
Description copied from interface:EditPermissionsAdministratorAdd the guard permissions for each user if they exist- Specified by:
addGuardPermissionToUsersin interfaceEditPermissionsAdministrator- Parameters:
userNames- - names of the users to be addedguardPermission- - the name of the guard permission to add- Returns:
- false if an error occurred.
-
addGuardPermissionToUsers
public List<String> addGuardPermissionToUsers(List<String> userNames, UserAccessor userAccessor, String guardPermission) Description copied from interface:EditPermissionsAdministratorAdd the guard permissions for each user if they exist- Specified by:
addGuardPermissionToUsersin interfaceEditPermissionsAdministrator- Parameters:
userNames- - names of the users to be addeduserAccessor- - user accessorguardPermission- - the name of the guard permission to add- Returns:
- false if an error occurred.
-
addGuardPermissionToGroups
public List<String> addGuardPermissionToGroups(List<String> groupNames, UserAccessor userAccessor, String guardPermission) Description copied from interface:EditPermissionsAdministratorAdd the guard permissions for each group if they exist- Specified by:
addGuardPermissionToGroupsin interfaceEditPermissionsAdministrator- Parameters:
groupNames- - names of the groups to be addeduserAccessor- - user accessorguardPermission- - the name of the guard permission to add- Returns:
- false if an error occurred.
-
setUsersToAdd
Set the users to add from the UI- Parameters:
usersToAdd- a list of user names
-
setGroupsToAdd
Set the groups to add from the UI- Parameters:
groupsToAdd- a list of group names
-
setRemoteUser
@Deprecated(forRemoval=true, since="9.5") public void setRemoteUser(com.atlassian.user.User remoteUser) Deprecated, for removal: This API element is subject to removal in a future version.since 9.5 usesetRemoteUser(ConfluenceUser)The current logged in user- Parameters:
remoteUser- current logged in user
-
setRemoteUser
The current logged in user- Parameters:
remoteUser- current logged in user- Since:
- 9.5
-
applyPermissionChanges
public void applyPermissionChanges(Collection<SpacePermission> oldPermissions, Collection<SpacePermission> newPermissions) throws IllegalArgumentException Description copied from interface:EditPermissionsAdministratorGiven the old permissions and new permissions, apply necessary permission changes to make old permissions the same as new permissions- Specified by:
applyPermissionChangesin interfaceEditPermissionsAdministrator- Parameters:
oldPermissions- - initial permissionsnewPermissions- - expected permissions- Throws:
IllegalArgumentException
-
setRemoteUser(ConfluenceUser)