Class HibernateSpacePermissionsFilterDao
- java.lang.Object
-
- com.atlassian.confluence.impl.search.v2.lucene.filter.HibernateSpacePermissionsFilterDao
-
- All Implemented Interfaces:
SpacePermissionsFilterDao
public class HibernateSpacePermissionsFilterDao extends Object implements SpacePermissionsFilterDao
This implementation was created instead of just using the existing SpaceDao and SpacePermissionsDao for a few reasons -
- Retrieving space objects from a named query results in you being returned Space proxies. The large number of
calls to Space.getKey required by the
SpacePermissionsFilter
make this noticeably slow. By returning space keys a large performance improvement is achieved. - Retrieving the unpermitted space keys for a user allows a decision to be made by the
SpacePermissionsFilter
on whether to filter based on permitted spaces versus filtering on unpermitted. For a large number of spaces choosing the smaller of these two choices can make a performance difference.
- See Also:
SpacePermissionsFilter
-
-
Constructor Summary
Constructors Constructor Description HibernateSpacePermissionsFilterDao(org.hibernate.SessionFactory sessionFactory, SpacePermissionDao spacePermissionDao, UserAccessor userAccessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List<String>
getPermittedSpaceKeys(SpacePermissionQueryBuilder userPermissionQueryBuilder)
Get the keys for all spaces the supplied user does not have permission on.List<String>
getPermittedSpaceKeysForUser(com.atlassian.user.User user)
Deprecated.List<String>
getUnPermittedSpaceKeys(SpacePermissionQueryBuilder userPermissionQueryBuilder)
Get the keys for all spaces the supplied user does not permission on.
-
-
-
Constructor Detail
-
HibernateSpacePermissionsFilterDao
public HibernateSpacePermissionsFilterDao(org.hibernate.SessionFactory sessionFactory, SpacePermissionDao spacePermissionDao, UserAccessor userAccessor)
-
-
Method Detail
-
getPermittedSpaceKeys
public List<String> getPermittedSpaceKeys(SpacePermissionQueryBuilder userPermissionQueryBuilder)
Description copied from interface:SpacePermissionsFilterDao
Get the keys for all spaces the supplied user does not have permission on.- Specified by:
getPermittedSpaceKeys
in interfaceSpacePermissionsFilterDao
- Parameters:
userPermissionQueryBuilder
- filter containing the information required to filter what the given user (or anonymous) can see- Returns:
- a List of space key Strings
-
getUnPermittedSpaceKeys
public List<String> getUnPermittedSpaceKeys(SpacePermissionQueryBuilder userPermissionQueryBuilder)
Description copied from interface:SpacePermissionsFilterDao
Get the keys for all spaces the supplied user does not permission on. The permission being checked is passed in withSpacePermissionQueryBuilder
.- Specified by:
getUnPermittedSpaceKeys
in interfaceSpacePermissionsFilterDao
- Parameters:
userPermissionQueryBuilder
- filter containing the information required to filter what the given user (or anonymous) can see- Returns:
- a List of space key Strings
-
getPermittedSpaceKeysForUser
@Deprecated public List<String> getPermittedSpaceKeysForUser(com.atlassian.user.User user)
Deprecated.Description copied from interface:SpacePermissionsFilterDao
Get the keys for all spaces the supplied user has view permission on. The permission being checked is passed in withSpacePermissionQueryBuilder
.- Specified by:
getPermittedSpaceKeysForUser
in interfaceSpacePermissionsFilterDao
- Parameters:
user
- the user to check permission for.- Returns:
- a List of space key Strings
-
-