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 Details

    • remoteUser

      protected com.atlassian.user.User remoteUser
    • PARAMETER_PREFIX

      public static final String PARAMETER_PREFIX
      See Also:
  • Constructor Details

  • Method Details

    • isGroupsToAddTooLarge

      public boolean isGroupsToAddTooLarge(Map requestParams)
      Description copied from interface: EditPermissionsAdministrator
      Validate if the number of groups to add is greater than maximum allowed. Validation only occurs if the group add button is pressed
      Specified by:
      isGroupsToAddTooLarge in interface EditPermissionsAdministrator
      Parameters:
      requestParams - params from the request
      Returns:
      true if limit is exceeded.
    • isGroupsToAddEmpty

      public boolean isGroupsToAddEmpty(Map requestParams)
      Description copied from interface: EditPermissionsAdministrator
      Validate if the number of groups to add is empty Validation only occurs if the group add button is pressed
      Specified by:
      isGroupsToAddEmpty in interface EditPermissionsAdministrator
      Parameters:
      requestParams - params from the request
      Returns:
      true if groups are empty
    • getNumOfGroupEntries

      public int getNumOfGroupEntries()
      Description copied from interface: EditPermissionsAdministrator
      Returns the number of group entries that are to be added.
      Specified by:
      getNumOfGroupEntries in interface EditPermissionsAdministrator
      Returns:
      the number of group entries that are to be added
    • isUsersToAddTooLarge

      public boolean isUsersToAddTooLarge(Map requestParams)
      Description copied from interface: EditPermissionsAdministrator
      Validate if the number of users to add is greater than maximum allowed. Validation only occurs if the user add button is pressed
      Specified by:
      isUsersToAddTooLarge in interface EditPermissionsAdministrator
      Parameters:
      requestParams - params from the request
      Returns:
      true if limit is exceeded.
    • isUsersToAddEmpty

      public boolean isUsersToAddEmpty(Map requestParams)
      Description copied from interface: EditPermissionsAdministrator
      Validate if the number of users to add is empty Validation only occurs if the user add button is pressed
      Specified by:
      isUsersToAddEmpty in interface EditPermissionsAdministrator
      Parameters:
      requestParams - params from the request
      Returns:
      true if users are empty
    • getNumOfUserEntries

      public int getNumOfUserEntries()
      Description copied from interface: EditPermissionsAdministrator
      Returns the number of user entries that are to be added.
      Specified by:
      getNumOfUserEntries in interface EditPermissionsAdministrator
      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: EditPermissionsAdministrator
      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.
      Specified by:
      splitPermissions in interface EditPermissionsAdministrator
      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
    • 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

      public boolean isRemoveAllAdminPermissions(Set<SpacePermission> permissionsToRemove)
      Description copied from interface: EditPermissionsAdministrator
      Returns if all admin permissions would be removed by the request.
      Specified by:
      isRemoveAllAdminPermissions in interface EditPermissionsAdministrator
      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: EditPermissionsAdministrator
      Removes all anonymous permissions
      Specified by:
      denyAnonymousPermissions in interface EditPermissionsAdministrator
      Parameters:
      currentPermissions - - current state of the permissions
      permissionsToAdd - - permissions to be added
      permissionsToRemove - - permissions to be removed
    • addAllPermissions

      public void addAllPermissions(Set<SpacePermission> permissionsToAdd)
      Description copied from interface: EditPermissionsAdministrator
      Adds the given set of permissions if the current user has permission to do so, otherwise does nothing silently.
      Specified by:
      addAllPermissions in interface EditPermissionsAdministrator
      Parameters:
      permissionsToAdd - the set of permissions you want rid of.
    • removeAllPermissions

      public void removeAllPermissions(Set<SpacePermission> permissionsToRemove)
      Description copied from interface: EditPermissionsAdministrator
      Removes the given set of permissions if the current user has permission to do so, otherwise does nothing silently.
      Specified by:
      removeAllPermissions in interface EditPermissionsAdministrator
      Parameters:
      permissionsToRemove - the permission you want rid of.
    • canAddPermission

      protected boolean canAddPermission(SpacePermission permission)
      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

      public void removePermission(SpacePermission permissionToRemove)
      Description copied from interface: EditPermissionsAdministrator
      Removes the given permission if the current user has permission to do so, otherwise does nothing silently.
      Specified by:
      removePermission in interface EditPermissionsAdministrator
      Parameters:
      permissionToRemove - the permission you want rid of.
    • addGuardPermissionToGroups

      public List<String> addGuardPermissionToGroups(List<String> groupNames, String guardPermission)
      Description copied from interface: EditPermissionsAdministrator
      Add the guard permissions for each group if they exist
      Specified by:
      addGuardPermissionToGroups in interface EditPermissionsAdministrator
      Parameters:
      groupNames - - names of the groups to be added
      guardPermission - - the name of the guard permission to add
      Returns:
      false if an error occurred.
    • addGuardPermissionToUsers

      public List<String> addGuardPermissionToUsers(List<String> userNames, String guardPermission)
      Description copied from interface: EditPermissionsAdministrator
      Add the guard permissions for each user if they exist
      Specified by:
      addGuardPermissionToUsers in interface EditPermissionsAdministrator
      Parameters:
      userNames - - names of the users to be added
      guardPermission - - 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: EditPermissionsAdministrator
      Add the guard permissions for each user if they exist
      Specified by:
      addGuardPermissionToUsers in interface EditPermissionsAdministrator
      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.
    • addGuardPermissionToGroups

      public List<String> addGuardPermissionToGroups(List<String> groupNames, UserAccessor userAccessor, String guardPermission)
      Description copied from interface: EditPermissionsAdministrator
      Add the guard permissions for each group if they exist
      Specified by:
      addGuardPermissionToGroups in interface EditPermissionsAdministrator
      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.
    • setUsersToAdd

      public void setUsersToAdd(List<String> usersToAdd)
      Set the users to add from the UI
      Parameters:
      usersToAdd - a list of user names
    • setGroupsToAdd

      public void setGroupsToAdd(List<String> groupsToAdd)
      Set the groups to add from the UI
      Parameters:
      groupsToAdd - a list of group names
    • setRemoteUser

      public void setRemoteUser(com.atlassian.user.User remoteUser)
      The current logged in user
      Parameters:
      remoteUser - current logged in user
    • applyPermissionChanges

      public void applyPermissionChanges(Collection<SpacePermission> oldPermissions, Collection<SpacePermission> newPermissions) throws IllegalArgumentException
      Description copied from interface: EditPermissionsAdministrator
      Given the old permissions and new permissions, apply necessary permission changes to make old permissions the same as new permissions
      Specified by:
      applyPermissionChanges in interface EditPermissionsAdministrator
      Parameters:
      oldPermissions - - initial permissions
      newPermissions - - expected permissions
      Throws:
      IllegalArgumentException