com.atlassian.confluence.spaces.persistence.dao.hibernate
Class HibernateSpaceDao

java.lang.Object
  extended by org.springframework.dao.support.DaoSupport
      extended by org.springframework.orm.hibernate.support.HibernateDaoSupport
          extended by com.atlassian.hibernate.HibernateObjectDao
              extended by com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
                  extended by com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao
                      extended by com.atlassian.confluence.spaces.persistence.dao.hibernate.HibernateSpaceDao
All Implemented Interfaces:
bucket.core.persistence.ObjectDao, VersionedObjectDao, SpaceDao, org.springframework.beans.factory.InitializingBean

public class HibernateSpaceDao
extends ConfluenceHibernateObjectDao
implements SpaceDao


Field Summary
 
Fields inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
cacheFactory, log
 
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
 
Constructor Summary
HibernateSpaceDao()
           
 
Method Summary
 java.util.List findAllGlobalSpaces()
           
 java.util.List findAllSpacesSorted(java.lang.String sortField, SpaceType type)
          Like findAllSorted, but allows you to query for a specific type of space
 int findPageTotal(Space space)
          Fast way to count pages in a space without loading them.
protected  com.atlassian.core.bean.EntityObject getByClassId(long l)
           
 Space getById(long id)
           
 int getNumberOfBlogPosts(Space space)
          Fast way to count blog posts in a space without loading them.
 int getNumberOfMail(Space space)
          Fast way to count pages in a space without loading them.
 java.util.List getPermittedSpacesForUser(com.atlassian.user.User user, java.lang.String permission)
          Find all spaces on which the given user has the given permission
 java.util.List getPermittedSpacesForUserByType(com.atlassian.user.User user, java.lang.String permission, SpaceType type)
          Query for spaces by type.
 java.util.List getPermittedSpacesForUserInSpaceGroup(com.atlassian.user.User user, java.lang.String permission, SpaceGroup spaceGroup)
          Query for spaces by type.
 java.lang.Class getPersistentClass()
           
 Space getSpace(java.lang.String spaceKey)
          first tries to fetch the space from the cache by space id if not, fetch it from database
 java.util.List getSpacesContainingCommentsByUser(java.lang.String username)
          Find all spaces containing comments by a particular user.
 java.util.List getSpacesContainingPagesEditedByUser(java.lang.String username)
          Find all spaces containing pages that were edited by a particular user.
 java.util.List getSpacesCreatedAfter(java.util.Date creationDate)
           
 java.util.List getSpacesCreatedByUser(java.lang.String username)
          Find all the spaces created by a given user.
 java.util.List getSpacesCreatedOrUpdatedSinceDate(java.util.Date previousLoginDate)
           
 java.util.List getSpacesInSpaceGroup(SpaceGroup spaceGroup)
          Find all spaces within a given spaceGroup
 UserAccessor getUserAccessor()
           
 void remove(com.atlassian.core.bean.EntityObject entity)
          Override the parent remove method as we want to remove the object out of the cache as well
 void setHibernateConfig(com.atlassian.config.db.HibernateConfig hibernateConfig)
           
 void setUserAccessor(UserAccessor userAccessor)
           
 
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao
findByQuery
 
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
findAllSorted, findLatestVersionsCount, findLatestVersionsIterator, save, setCacheFactory, updateModificationData
 
Methods inherited from class com.atlassian.hibernate.HibernateObjectDao
findAll, findNamedQuery, findNamedQuery, findNamedQuery, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findSingleObject, index, refresh, reIndex, replicate, save, saveRaw, setIndexer, unIndex
 
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
 
Methods inherited from interface bucket.core.persistence.ObjectDao
findAll, findAllSorted, refresh, replicate, save, saveRaw
 

Constructor Detail

HibernateSpaceDao

public HibernateSpaceDao()
Method Detail

findAllGlobalSpaces

public java.util.List findAllGlobalSpaces()
Specified by:
findAllGlobalSpaces in interface SpaceDao

findAllSpacesSorted

public java.util.List findAllSpacesSorted(java.lang.String sortField,
                                          SpaceType type)
Like findAllSorted, but allows you to query for a specific type of space

Specified by:
findAllSpacesSorted in interface SpaceDao
Parameters:
sortField -
Returns:
sorted List of spaces

getByClassId

protected com.atlassian.core.bean.EntityObject getByClassId(long l)
Overrides:
getByClassId in class com.atlassian.hibernate.HibernateObjectDao

getById

public Space getById(long id)
Specified by:
getById in interface SpaceDao

getSpace

public Space getSpace(java.lang.String spaceKey)
first tries to fetch the space from the cache by space id if not, fetch it from database

Specified by:
getSpace in interface SpaceDao
Parameters:
spaceKey -

getSpacesInSpaceGroup

public java.util.List getSpacesInSpaceGroup(SpaceGroup spaceGroup)
Description copied from interface: SpaceDao
Find all spaces within a given spaceGroup

Specified by:
getSpacesInSpaceGroup in interface SpaceDao
Returns:
List of spaces

getSpacesCreatedByUser

public java.util.List getSpacesCreatedByUser(java.lang.String username)
Description copied from interface: SpaceDao
Find all the spaces created by a given user.

Specified by:
getSpacesCreatedByUser in interface SpaceDao

getSpacesContainingPagesEditedByUser

public java.util.List getSpacesContainingPagesEditedByUser(java.lang.String username)
Description copied from interface: SpaceDao
Find all spaces containing pages that were edited by a particular user. This is for tracking down whether a user can be safely deleted or not.

Specified by:
getSpacesContainingPagesEditedByUser in interface SpaceDao
Parameters:
username - the name of the user to track down
Returns:
a list of the spaces containing pages that were edited by this user, or the empty list if no such spaces exist.

getSpacesContainingCommentsByUser

public java.util.List getSpacesContainingCommentsByUser(java.lang.String username)
Description copied from interface: SpaceDao
Find all spaces containing comments by a particular user. This is for tracking down whether a user can be safely deleted or not. Does currently not include personal spaces, but probably should.

Specified by:
getSpacesContainingCommentsByUser in interface SpaceDao
Parameters:
username - the name of the user to track down
Returns:
a list of the spaces containing comments by this user, or the empty list if no such spaces exist.

getSpacesCreatedOrUpdatedSinceDate

public java.util.List getSpacesCreatedOrUpdatedSinceDate(java.util.Date previousLoginDate)
Specified by:
getSpacesCreatedOrUpdatedSinceDate in interface SpaceDao

findPageTotal

public int findPageTotal(Space space)
Description copied from interface: SpaceDao
Fast way to count pages in a space without loading them. Counts all pages, not just the current versions.

Specified by:
findPageTotal in interface SpaceDao
Returns:
returns the number of all versions of all pages in a space

remove

public void remove(com.atlassian.core.bean.EntityObject entity)
Override the parent remove method as we want to remove the object out of the cache as well

Specified by:
remove in interface bucket.core.persistence.ObjectDao
Overrides:
remove in class com.atlassian.hibernate.HibernateObjectDao
Parameters:
entity -

setHibernateConfig

public void setHibernateConfig(com.atlassian.config.db.HibernateConfig hibernateConfig)

getPersistentClass

public java.lang.Class getPersistentClass()
Specified by:
getPersistentClass in interface bucket.core.persistence.ObjectDao

getNumberOfBlogPosts

public int getNumberOfBlogPosts(Space space)
Description copied from interface: SpaceDao
Fast way to count blog posts in a space without loading them. Counts all blog posts, not just the current versions.

Specified by:
getNumberOfBlogPosts in interface SpaceDao
Returns:
returns the number of all versions of all blog posts in a space

getNumberOfMail

public int getNumberOfMail(Space space)
Description copied from interface: SpaceDao
Fast way to count pages in a space without loading them. Counts all mail, not just the current versions.

Specified by:
getNumberOfMail in interface SpaceDao
Returns:
returns the number of all versions of all mail in a space

getSpacesCreatedAfter

public java.util.List getSpacesCreatedAfter(java.util.Date creationDate)
Specified by:
getSpacesCreatedAfter in interface SpaceDao

getPermittedSpacesForUser

public java.util.List getPermittedSpacesForUser(com.atlassian.user.User user,
                                                java.lang.String permission)
Description copied from interface: SpaceDao
Find all spaces on which the given user has the given permission

Specified by:
getPermittedSpacesForUser in interface SpaceDao

getPermittedSpacesForUserByType

public java.util.List getPermittedSpacesForUserByType(com.atlassian.user.User user,
                                                      java.lang.String permission,
                                                      SpaceType type)
Query for spaces by type.

Specified by:
getPermittedSpacesForUserByType in interface SpaceDao
Parameters:
user -
permission -
type -

getPermittedSpacesForUserInSpaceGroup

public java.util.List getPermittedSpacesForUserInSpaceGroup(com.atlassian.user.User user,
                                                            java.lang.String permission,
                                                            SpaceGroup spaceGroup)
Query for spaces by type.

Specified by:
getPermittedSpacesForUserInSpaceGroup in interface SpaceDao
Parameters:
user -
permission -
spaceGroup -

setUserAccessor

public void setUserAccessor(UserAccessor userAccessor)

getUserAccessor

public UserAccessor getUserAccessor()


Copyright © 2003-2008 Atlassian Pty Ltd. All Rights Reserved.