com.atlassian.confluence.security.administrators
Interface EditPermissionsAdministrator

All Superinterfaces:
PermissionsAdministrator
All Known Implementing Classes:
AbstractEditPermissionsAdministrator, EditGlobalPermissionsAdministrator, EditSpacePermissionsAdministrator

public interface EditPermissionsAdministrator
extends PermissionsAdministrator

Provides the logic required by the actions to edit the permissions for both global and spaces


Field Summary
static Integer MAX_ENTRIES
          the max number of entries for adding groups or users to permission scheme.
 
Method Summary
 void addAllPermissions(Set<SpacePermission> permissionsToAdd)
          Adds the given set of permissions if the current user has permission to do so, otherwise does nothing silently.
 List<String> addGuardPermissionToGroups(List<String> groupNames, UserAccessor userAccessor, String guardPermission)
          Add the guard permissions for each group if they exist
 List<String> addGuardPermissionToUsers(List<String> userNames, UserAccessor userAccessor, String guardPermission)
          Add the guard permissions for each user if they exist
 void addPermission(SpacePermission permissionToAdd)
          Adds the given permission if the current user has permission to do so, otherwise does nothing silently.
 void applyPermissionChanges(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 permissions
 Collection<SpacePermission> buildPermissionsFromWebForm(Map formParameters, String parameterQualifier)
          Given a map containing the web form parameters from a permissions edit, return the list of global permissions that are represented by the form
 SpacePermission createGroupGuardPermission(String guardPermission, String groupName)
          Creates the relevant guard permission for the group
 SpacePermission createUserGuardPermission(String guardPermission, String userName)
          Creates the relevant guard permission for the user
 void denyAnonymousPermissions(Collection<SpacePermission> currentPermissions, Set<SpacePermission> permissionsToAdd, Set<SpacePermission> permissionsToRemove)
          Removes all anonymous permissions
 String getAdministrativePermissionType()
          Returns the top level permission type applicable to the current scope.
 Collection<SpacePermission> getInitialPermissionsFromForm(Map requestParams)
          Retrieve the permissions initial state
 int getNumOfGroupEntries()
          Returns the number of group entries that are to be added.
 int getNumOfUserEntries()
          Returns the number of user entries that are to be added.
 Collection<SpacePermission> getRequestedPermissionsFromForm(Map requestParams)
          Retrieve the state of the permissions requested by the user
 boolean isGroupsToAddEmpty(Map requestParams)
          Validate if the number of groups to add is empty Validation only occurs if the group add button is pressed
 boolean isGroupsToAddTooLarge(Map requestParams)
          Validate if the number of groups to add is greater than maximum allowed.
 boolean isRemoveAllAdminPermissions(Set<SpacePermission> permissionsToRemove)
          Returns if all admin permissions would be removed by the request.
 boolean isUsersToAddEmpty(Map requestParams)
          Validate if the number of users to add is empty Validation only occurs if the user add button is pressed
 boolean isUsersToAddTooLarge(Map requestParams)
          Validate if the number of users to add is greater than maximum allowed.
 void removeAllPermissions(Set<SpacePermission> permissionsToRemove)
          Removes the given set of permissions if the current user has permission to do so, otherwise does nothing silently.
 void removePermission(SpacePermission permissionToRemove)
          Removes the given permission if the current user has permission to do so, otherwise does nothing silently.
 void splitPermissions(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 interface com.atlassian.confluence.security.administrators.PermissionsAdministrator
buildAnonymousPermissionRow, buildGroupPermissionTable, buildUserPermissionTable, getPermissions
 

Field Detail

MAX_ENTRIES

static final Integer MAX_ENTRIES
the max number of entries for adding groups or users to permission scheme.

Method Detail

isGroupsToAddTooLarge

boolean isGroupsToAddTooLarge(Map requestParams)
Validate if the number of groups to add is greater than maximum allowed. Validation only occurs if the group add button is pressed

Parameters:
requestParams - params from the request
Returns:
true if limit is exceeded.

isGroupsToAddEmpty

boolean isGroupsToAddEmpty(Map requestParams)
Validate if the number of groups to add is empty Validation only occurs if the group add button is pressed

Parameters:
requestParams - params from the request
Returns:
true if groups are empty

getNumOfGroupEntries

int getNumOfGroupEntries()
Returns the number of group entries that are to be added.

Returns:
the number of group entries that are to be added

isUsersToAddTooLarge

boolean isUsersToAddTooLarge(Map requestParams)
Validate if the number of users to add is greater than maximum allowed. Validation only occurs if the user add button is pressed

Parameters:
requestParams - params from the request
Returns:
true if limit is exceeded.

isUsersToAddEmpty

boolean isUsersToAddEmpty(Map requestParams)
Validate if the number of users to add is empty Validation only occurs if the user add button is pressed

Parameters:
requestParams - params from the request
Returns:
true if users are empty

getNumOfUserEntries

int getNumOfUserEntries()
Returns the number of user entries that are to be added.

Returns:
the number of user entries that are to be added

buildPermissionsFromWebForm

Collection<SpacePermission> buildPermissionsFromWebForm(Map formParameters,
                                                        String parameterQualifier)
Given a map containing the web form parameters from a permissions edit, return the list of global permissions that are represented by the form

Parameters:
formParameters - the map of form parameters
parameterQualifier - distinguishes the set of parameters from other sets of parameters used to represent permissions in the same form.
Returns:
a list of the permissions in the form

splitPermissions

void splitPermissions(Collection<SpacePermission> existingPermissions,
                      Collection<SpacePermission> initialPermissions,
                      Collection<SpacePermission> requestedPermissions,
                      Set<SpacePermission> permissionsToAdd,
                      Set<SpacePermission> permissionsToRemove)
Determine 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 collections permissionsToAdd and permissionsToRemove with those permissions that you will need to add or remove to reach the desired state.

Parameters:
existingPermissions - the currently existing permissions
initialPermissions - the permissions the user was initially shown
requestedPermissions - the new state we want these permissions to be in
permissionsToAdd - collection into which permissions that need adding will be placed
permissionsToRemove - collection into which permissions that need removing will be placed

isRemoveAllAdminPermissions

boolean isRemoveAllAdminPermissions(Set<SpacePermission> permissionsToRemove)
Returns if all admin permissions would be removed by the request.

Parameters:
permissionsToRemove - - permissions to be removed
Returns:
true if all admin permissions would be removed by the request

getInitialPermissionsFromForm

Collection<SpacePermission> getInitialPermissionsFromForm(Map requestParams)
Retrieve the permissions initial state

Returns:
initial state

getRequestedPermissionsFromForm

Collection<SpacePermission> getRequestedPermissionsFromForm(Map requestParams)
Retrieve the state of the permissions requested by the user

Returns:
requested state

denyAnonymousPermissions

void denyAnonymousPermissions(Collection<SpacePermission> currentPermissions,
                              Set<SpacePermission> permissionsToAdd,
                              Set<SpacePermission> permissionsToRemove)
Removes all anonymous permissions

Parameters:
currentPermissions - - current state of the permissions
permissionsToAdd - - permissions to be added
permissionsToRemove - - permissions to be removed

addAllPermissions

void addAllPermissions(Set<SpacePermission> permissionsToAdd)
Adds the given set of permissions if the current user has permission to do so, otherwise does nothing silently.

Parameters:
permissionsToAdd - the set of permissions you want rid of.

addPermission

void addPermission(SpacePermission permissionToAdd)
Adds the given permission if the current user has permission to do so, otherwise does nothing silently.

Parameters:
permissionToAdd - the permission you want rid of.

removeAllPermissions

void removeAllPermissions(Set<SpacePermission> permissionsToRemove)
Removes the given set of permissions if the current user has permission to do so, otherwise does nothing silently.

Parameters:
permissionsToRemove - the permission you want rid of.

removePermission

void removePermission(SpacePermission permissionToRemove)
Removes the given permission if the current user has permission to do so, otherwise does nothing silently.

Parameters:
permissionToRemove - the permission you want rid of.

addGuardPermissionToGroups

List<String> addGuardPermissionToGroups(List<String> groupNames,
                                        UserAccessor userAccessor,
                                        String guardPermission)
Add the guard permissions for each group if they exist

Parameters:
groupNames - - names of the groups to be added
userAccessor - - user accessor
guardPermission - - the name of the guard permission to add
Returns:
false if an error occurred.

addGuardPermissionToUsers

List<String> addGuardPermissionToUsers(List<String> userNames,
                                       UserAccessor userAccessor,
                                       String guardPermission)
Add the guard permissions for each user if they exist

Parameters:
userNames - - names of the users to be added
userAccessor - - user accessor
guardPermission - - the name of the guard permission to add
Returns:
false if an error occurred.

createUserGuardPermission

SpacePermission createUserGuardPermission(String guardPermission,
                                          String userName)
Creates the relevant guard permission for the user

Parameters:
guardPermission - - the name of the guard permission to create
userName - - name of the user to add the permission to
Returns:
spacepermission object for the user

createGroupGuardPermission

SpacePermission createGroupGuardPermission(String guardPermission,
                                           String groupName)
Creates the relevant guard permission for the group

Parameters:
guardPermission - - the name of the guard permission to create
groupName - - name of group to add the permission to
Returns:
spacepermission object for the user

getAdministrativePermissionType

String getAdministrativePermissionType()
Returns the top level permission type applicable to the current scope. That is, the permission that must exist at least once per space, or globally.

Returns:
top level permission type

applyPermissionChanges

void applyPermissionChanges(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 permissions

Parameters:
oldPermissions - - initial permissions
newPermissions - - expected permissions


Copyright © 2003-2011 Atlassian. All Rights Reserved.