com.atlassian.confluence.search.lucene.filter
Class HibernateSpacePermissionsFilterDao
java.lang.Object
org.springframework.dao.support.DaoSupport
org.springframework.orm.hibernate.support.HibernateDaoSupport
com.atlassian.confluence.search.lucene.filter.HibernateSpacePermissionsFilterDao
- All Implemented Interfaces:
- SpacePermissionsFilterDao, org.springframework.beans.factory.InitializingBean
public class HibernateSpacePermissionsFilterDao
- extends org.springframework.orm.hibernate.support.HibernateDaoSupport
- 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
Fields inherited from class org.springframework.dao.support.DaoSupport |
logger |
Methods inherited from class org.springframework.orm.hibernate.support.HibernateDaoSupport |
checkDaoConfig, convertHibernateAccessException, createHibernateTemplate, getHibernateTemplate, getSession, getSession, getSessionFactory, releaseSession, setHibernateTemplate, setSessionFactory |
Methods inherited from class org.springframework.dao.support.DaoSupport |
afterPropertiesSet, initDao |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HibernateSpacePermissionsFilterDao
public HibernateSpacePermissionsFilterDao()
getUserAccessor
public UserAccessor getUserAccessor()
setUserAccessor
public void setUserAccessor(UserAccessor userAccessor)
getPermittedSpaceKeysForUser
public List<String> getPermittedSpaceKeysForUser(com.atlassian.user.User user)
- Description copied from interface:
SpacePermissionsFilterDao
- Get the keys for all spaces the supplied user has view permission on.
- Specified by:
getPermittedSpaceKeysForUser
in interface SpacePermissionsFilterDao
- Parameters:
user
- the user to check permission for.
- Returns:
- a List of space key Strings
getUnPermittedSpaceKeysForUser
public List<String> getUnPermittedSpaceKeysForUser(com.atlassian.user.User user)
- Description copied from interface:
SpacePermissionsFilterDao
- Get the keys for all spaces the supplied user does not view permission on.
- Specified by:
getUnPermittedSpaceKeysForUser
in interface SpacePermissionsFilterDao
- Parameters:
user
- the user to check permission for.
- Returns:
- a List of space key Strings
setSpacePermissionDao
public void setSpacePermissionDao(SpacePermissionDao spacePermissionDao)
Copyright © 2003-2013 Atlassian. All Rights Reserved.