Class HibernatePageDao
java.lang.Object
org.springframework.dao.support.DaoSupport
com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao<T>
com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao<T>
com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao<Page>
com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao
- All Implemented Interfaces:
PageDaoInternal
,PageDao
,org.springframework.beans.factory.InitializingBean
-
Nested Class Summary
Nested classes/interfaces inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
HibernateObjectDao.Cacheability
-
Field Summary
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Counts the total number of all page entities across all spaces, including non-current pagesint
Counts the total number of current pages across all spacesint
Counts the number of pages that are drafts.int
countPagesInSubtree
(@NonNull Page page) Return total descendant page including input pageint
Counts the number of published pages that have unpublished changes.findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
(SpacePermissionQueryBuilder permissionQueryBuilder, String blogTitle, Space space, int maxResultCount) Searches for blog posts in all spaces except the one specified, looking for those that have the given title in a current or previous version, and returns the first maxResultCount results.findBlogsWithCurrentOrHistoricalTitleInPermittedSpace
(SpacePermissionQueryBuilder permissionQueryBuilder, String blogTitle, Space space, int maxResultCount) Searches for blogs in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.Get Content creator for bulk permission checkingfindPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
(SpacePermissionQueryBuilder permissionQueryBuilder, String pageTitle, Space space, int maxResultCount) Searches for pages in all spaces except the one specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.findPagesWithCurrentOrHistoricalTitleInPermittedSpace
(SpacePermissionQueryBuilder permissionQueryBuilder, String pageTitle, Space space, int maxResultCount) Searches for pages in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.getAbstractPages
(Space space, String title, List<ContentStatus> statuses, LimitedRequest pageRequest) getAbstractPages
(Space space, List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest) getAbstractPages
(com.atlassian.core.util.DateUtils.DateRange range, List<ContentStatus> statuses, LimitedRequest pageRequest) getAbstractPages
(String title, List<ContentStatus> statuses, LimitedRequest pageRequest) getAbstractPages
(List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest) getAbstractPagesByCreationDate
(com.atlassian.core.util.DateUtils.DateRange range, LimitedRequest pageRequest) getAbstractPagesByTitle
(String title, LimitedRequest limitedRequest) getAllChildren
(Page page, LimitedRequest pageRequest) Returns all children of a page (including drafts), limited to the pagination requested.getAncestorsFor
(Collection<Long> ids) Get the list page ids of the ancestors of the given page ids.int
getBlogPosts
(Space space, LimitedRequest limitedRequest) getById
(long id) getChildren
(Page page, LimitedRequest pageRequest) int
getCommentCountOnPage
(long id) Count the number of comments on the passed in page.getDescendantIds
(Page page) Finds the ids of all descendant pages of the given pagegetDescendantIds
(Page page, ContentStatus... contentStatus) Finds the ids of all descendant pages of the given pagegetDescendants
(Page page) Finds all descendant pages (recursive) of the given pagegetDescendantTitles
(Page page) Finds all descendant titles of the given pagegetDraftChildren
(Page page, LimitedRequest pageRequest) Returns the children of a page which have a status of DRAFT, limited to the pagination requested.getMaxSiblingPosition
(Page page) Gets the highest position value of all the page's siblings.getOrphanedPages
(@Nullable String spaceKey) Get the page by space and title.getPageById
(long id) Get the page with the given id.getPageByIdWithComments
(long id) Get the page with the given id, and perform an eager load of the comments and their children.long
getPageCount
(@NonNull String spaceKey) Get total number of current pages in a spacelong
getPageCount
(@NonNull String spaceKey, List<ContentStatus> statuses) Get total number of pages in a space, within any of the given statuses.getPageIds
(Space space) Get the ids of all pages (current and historical) in the given space.getPageInTrash
(String spaceKey, String title) getPages
(LimitedRequest pageRequest) getPages
(Space space, LimitedRequest pageRequest) getPagesByIds
(Iterable<Long> ids) Get the pages with the given ids.getPagesCreatedOrUpdatedSinceDate
(Date previousLoginDate) getPagesStartingWith
(Space space, String s) Fetches statistics about pagesgetPagesWithPermissions
(@NonNull Space space) Get all current pages in a space and eagerly fetch permissions at the same time.getPageWithComments
(Space space, String pageTitle) Get the page by space and title, and perform an eager load of the comments and their children.getPermissionPages
(Space space) getPermissionPages
(Space space, LimitedRequest limitedRequest) Pagination permission pages for particular Spacelong
getPermissionPagesCount
(Space space) Get total number of permission pages for particular SpacegetRecentlyAddedPages
(int maxCount, @Nullable String spaceKey) getRecentlyAuthoredPagesByUser
(ConfluenceUser user, int maxCount) getRecentlyUpdatedPages
(int maxCount, @Nullable String spaceKey) getTopLevelPages
(Space space) getTopLevelPages
(Space space, LimitedRequest limitedRequest) final List<OutgoingLink>
getUndefinedLinks
(@Nullable String spaceKey) getUndefinedPages
(@Nullable String spaceKey) Deprecated.protected void
scanFilteredPages
(Space space, List<ContentStatus> statuses, LimitedRequest pageRequest) Retrieves a page response of all pages in space with specified content statuses.scanFilteredPages
(List<ContentStatus> statuses, LimitedRequest pageRequest) Retrieves a page response of all the pages with specified content statuses.void
setEventPublisher
(com.atlassian.event.api.EventPublisher eventPublisher) Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
applyChildVersioningPolicy, findAllSorted, findLatestVersionsCount, findLatestVersionsIterator, findLatestVersionsIterator, findNamedQueryStringParams, findNamedQueryStringParams, remove, save
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.ConfluenceHibernateObjectDao
updateModificationData
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
applyTransactionTimeout, applyTransactionTimeout, checkDaoConfig, createHibernateTemplate, findAll, findAllSorted, findNamedQuery, findNamedQuery, findNamedQuery, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findSingleObject, getByClassId, getCountResult, getHibernateTemplate, getSessionFactory, reIndex, save, saveEntity, saveRaw, setHibernateTemplate, setSessionFactory, uniqueResult
Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
-
Constructor Details
-
HibernatePageDao
public HibernatePageDao()
-
-
Method Details
-
getPageById
Description copied from interface:PageDao
Get the page with the given id.- Specified by:
getPageById
in interfacePageDao
- Parameters:
id
- of the page to load- Returns:
- the page with the given id, or null if no such page exists
-
getPagesByIds
Description copied from interface:PageDao
Get the pages with the given ids.- Specified by:
getPagesByIds
in interfacePageDao
-
getCommentCountOnPage
public int getCommentCountOnPage(long id) Description copied from interface:PageDao
Count the number of comments on the passed in page.- Specified by:
getCommentCountOnPage
in interfacePageDao
-
getPageByIdWithComments
Description copied from interface:PageDao
Get the page with the given id, and perform an eager load of the comments and their children. This can be used as a performance optimisation when it is known that all comments will be displayed.- Specified by:
getPageByIdWithComments
in interfacePageDao
- Parameters:
id
- of the page to load- Returns:
- the page with the given id, or null if no such page exists
-
getPage
-
getPageWithComments
Description copied from interface:PageDao
Get the page by space and title, and perform an eager load of the comments and their children. This can be used as a performance optimisation when it is known that all comments will be displayed.- Specified by:
getPageWithComments
in interfacePageDao
- Parameters:
space
- The space the page belongs topageTitle
- The title of the page- Returns:
- the page with the given title in the given space, or null if no such page exists
-
getPage
Description copied from interface:PageDao
Get the page by space and title. -
getPages
-
getPagesWithPermissions
Description copied from interface:PageDao
Get all current pages in a space and eagerly fetch permissions at the same time. This is an optimisation for when you known that permissions will need to be fetched for all or most of the pages later.- Specified by:
getPagesWithPermissions
in interfacePageDao
- Returns:
- a list of all the current pages in a space
-
getPages
- Specified by:
getPages
in interfacePageDaoInternal
-
getPages
- Specified by:
getPages
in interfacePageDaoInternal
-
getBlogPosts
- Specified by:
getBlogPosts
in interfacePageDaoInternal
-
getAbstractPages
public List<AbstractPage> getAbstractPages(Space space, List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest) - Specified by:
getAbstractPages
in interfacePageDaoInternal
-
getAbstractPages
public List<AbstractPage> getAbstractPages(List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest) - Specified by:
getAbstractPages
in interfacePageDaoInternal
-
getPageIds
Description copied from interface:PageDao
Get the ids of all pages (current and historical) in the given space.- Specified by:
getPageIds
in interfacePageDao
- Parameters:
space
- space to retrieve page ids from, can not be null.- Returns:
- a Collection of ids for pages.
-
getAbstractPagesByTitle
- Specified by:
getAbstractPagesByTitle
in interfacePageDaoInternal
-
getAbstractPagesByCreationDate
public List<AbstractPage> getAbstractPagesByCreationDate(com.atlassian.core.util.DateUtils.DateRange range, LimitedRequest pageRequest) - Specified by:
getAbstractPagesByCreationDate
in interfacePageDaoInternal
-
getAbstractPages
public List<AbstractPage> getAbstractPages(Space space, String title, List<ContentStatus> statuses, LimitedRequest pageRequest) - Specified by:
getAbstractPages
in interfacePageDaoInternal
-
getAbstractPages
public List<AbstractPage> getAbstractPages(String title, List<ContentStatus> statuses, LimitedRequest pageRequest) - Specified by:
getAbstractPages
in interfacePageDaoInternal
-
getAbstractPages
public List<AbstractPage> getAbstractPages(com.atlassian.core.util.DateUtils.DateRange range, List<ContentStatus> statuses, LimitedRequest pageRequest) - Specified by:
getAbstractPages
in interfacePageDaoInternal
-
getPagesStartingWith
- Specified by:
getPagesStartingWith
in interfacePageDao
-
getRecentlyAddedPages
- Specified by:
getRecentlyAddedPages
in interfacePageDao
-
getRecentlyUpdatedPages
- Specified by:
getRecentlyUpdatedPages
in interfacePageDao
-
getOrphanedPages
- Specified by:
getOrphanedPages
in interfacePageDao
-
getUndefinedPages
Deprecated.since 6.6.0, usegetUndefinedLinks(String)
- Specified by:
getUndefinedPages
in interfacePageDao
-
getUndefinedLinks
- Specified by:
getUndefinedLinks
in interfacePageDao
-
getPermissionPages
- Specified by:
getPermissionPages
in interfacePageDao
-
getPermissionPages
Description copied from interface:PageDaoInternal
Pagination permission pages for particular Space- Specified by:
getPermissionPages
in interfacePageDaoInternal
- Returns:
- Collection of permission pages within the request range
-
getPermissionPagesCount
Description copied from interface:PageDaoInternal
Get total number of permission pages for particular Space- Specified by:
getPermissionPagesCount
in interfacePageDaoInternal
- Returns:
- the count
-
getAuthoredPagesCountByUser
- Specified by:
getAuthoredPagesCountByUser
in interfacePageDao
-
getRecentlyAuthoredPagesByUser
-
getPagesCreatedOrUpdatedSinceDate
- Specified by:
getPagesCreatedOrUpdatedSinceDate
in interfacePageDao
-
getPersistentClass
- Specified by:
getPersistentClass
in classHibernateObjectDao<Page>
-
findPagesWithCurrentOrHistoricalTitleInPermittedSpace
public List<AbstractPage> findPagesWithCurrentOrHistoricalTitleInPermittedSpace(SpacePermissionQueryBuilder permissionQueryBuilder, String pageTitle, Space space, int maxResultCount) Description copied from interface:PageDao
Searches for pages in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.Only pages in spaces the remote user is able to view will be returned.
- Specified by:
findPagesWithCurrentOrHistoricalTitleInPermittedSpace
in interfacePageDao
pageTitle
- title of a page in a previous version.space
- Space to search. Must not be null.maxResultCount
- maximum pages to return
-
findBlogsWithCurrentOrHistoricalTitleInPermittedSpace
public List<AbstractPage> findBlogsWithCurrentOrHistoricalTitleInPermittedSpace(SpacePermissionQueryBuilder permissionQueryBuilder, String blogTitle, Space space, int maxResultCount) Description copied from interface:PageDao
Searches for blogs in the space specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.Only blogs in spaces the remote user is able to view will be returned.
- Specified by:
findBlogsWithCurrentOrHistoricalTitleInPermittedSpace
in interfacePageDao
- Parameters:
permissionQueryBuilder
- required to determine how to construct database queries for space permissions, for the current userblogTitle
- title of a page in a previous version.space
- Space to search. Must not be null.maxResultCount
- maximum pages to return- Returns:
- a list of pages that have the given title in a previous version
-
findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
public List<AbstractPage> findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept(SpacePermissionQueryBuilder permissionQueryBuilder, String blogTitle, Space space, int maxResultCount) Description copied from interface:PageDao
Searches for blog posts in all spaces except the one specified, looking for those that have the given title in a current or previous version, and returns the first maxResultCount results.Only pages in spaces the remote user is able to view will be returned.
- Specified by:
findBlogsWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
in interfacePageDao
blogTitle
- Title of the blog to findspace
- Space to exclude from search. If null, all spaces are searched.maxResultCount
- maximum blog posts to return- Returns:
- a list of blog posts that have or have had the given title
-
findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
public List<AbstractPage> findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept(SpacePermissionQueryBuilder permissionQueryBuilder, String pageTitle, Space space, int maxResultCount) Description copied from interface:PageDao
Searches for pages in all spaces except the one specified, looking for those that have the given title in a previous version, and returns the first maxResultCount results.Only pages in spaces the remote user is able to view will be returned.
- Specified by:
findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept
in interfacePageDao
pageTitle
- title of a page in a previous version.space
- Space to exclude from search. If null, all spaces are searched.maxResultCount
- maximum pages to return
-
findContentPermissionSummaryByIds
Description copied from interface:PageDao
Get Content creator for bulk permission checking- Specified by:
findContentPermissionSummaryByIds
in interfacePageDao
- Parameters:
ids
- of Content- Returns:
- list contain information for permission checking
-
countCurrentPages
public int countCurrentPages()Description copied from interface:PageDao
Counts the total number of current pages across all spaces- Specified by:
countCurrentPages
in interfacePageDao
- Returns:
- the number of current pages
-
countDraftPages
public int countDraftPages()Description copied from interface:PageDao
Counts the number of pages that are drafts. This does not include drafts of pages that have already been published (i.e. pages with unpublished changes).- Specified by:
countDraftPages
in interfacePageDao
- Returns:
- the number of draft pages
-
countPagesWithUnpublishedChanges
public int countPagesWithUnpublishedChanges()Description copied from interface:PageDao
Counts the number of published pages that have unpublished changes.- Specified by:
countPagesWithUnpublishedChanges
in interfacePageDao
- Returns:
- the number of pages with unpublished changes.
-
getPageCount
Description copied from interface:PageDao
Get total number of current pages in a space- Specified by:
getPageCount
in interfacePageDao
- Parameters:
spaceKey
- the space to look for pages in- Returns:
- a count number of pages
-
getPageCount
Description copied from interface:PageDao
Get total number of pages in a space, within any of the given statuses.- Specified by:
getPageCount
in interfacePageDao
- Parameters:
spaceKey
- the space to look for pages instatuses
- list of statuses the pages can be in- Returns:
- a count number of pages
-
getPageStatistics
Description copied from interface:PageDao
Fetches statistics about pages- Specified by:
getPageStatistics
in interfacePageDao
- Returns:
- a PageStatisticsDTO with information about pages such as total, current, and draft count
-
countAllPages
public int countAllPages()Description copied from interface:PageDao
Counts the total number of all page entities across all spaces, including non-current pages- Specified by:
countAllPages
in interfacePageDao
- Returns:
- the number of pages
-
getPageInTrash
- Specified by:
getPageInTrash
in interfacePageDao
-
getDescendants
Description copied from interface:PageDao
Finds all descendant pages (recursive) of the given page- Specified by:
getDescendants
in interfacePageDao
- Returns:
- List of descendant pages
-
countPagesInSubtree
Description copied from interface:PageDao
Return total descendant page including input page- Specified by:
countPagesInSubtree
in interfacePageDao
- Returns:
- total page
-
getAncestorsFor
Description copied from interface:PageDao
Get the list page ids of the ancestors of the given page ids.- Specified by:
getAncestorsFor
in interfacePageDao
- Parameters:
ids
- the list of page ids to get ancestor page ids for- Returns:
- a map where the key is the given page id and the value is a list of all its ancestors' page ids
-
getDescendantTitles
Description copied from interface:PageDao
Finds all descendant titles of the given page- Specified by:
getDescendantTitles
in interfacePageDao
- Returns:
- List of descendant titles
-
getDescendantIds
Description copied from interface:PageDao
Finds the ids of all descendant pages of the given page- Specified by:
getDescendantIds
in interfacePageDao
- Returns:
- List of page ids
-
getDescendantIds
Description copied from interface:PageDao
Finds the ids of all descendant pages of the given page- Specified by:
getDescendantIds
in interfacePageDao
- Returns:
- List of page ids
-
getTopLevelPages
- Specified by:
getTopLevelPages
in interfacePageDao
-
getTopLevelPages
- Specified by:
getTopLevelPages
in interfacePageDaoInternal
-
getChildren
- Specified by:
getChildren
in interfacePageDaoInternal
-
getDraftChildren
Description copied from interface:PageDao
Returns the children of a page which have a status of DRAFT, limited to the pagination requested. Will fetch drafts all drafts regardless of whether the current authenticated user has permission to view the drafts- Specified by:
getDraftChildren
in interfacePageDao
- Parameters:
page
- the page to find children forpageRequest
- the pagination requested- Returns:
- the paginated response of Page entities
-
getAllChildren
Description copied from interface:PageDao
Returns all children of a page (including drafts), limited to the pagination requested.- Specified by:
getAllChildren
in interfacePageDao
- Parameters:
page
- the page to find children forpageRequest
- the pagination requested- Returns:
- the paginated response of Page entities
-
getMaxSiblingPosition
Description copied from interface:PageDao
Gets the highest position value of all the page's siblings. This is useful when we need to find what position to assign to a new page that should go to the bottom.- Specified by:
getMaxSiblingPosition
in interfacePageDao
- Parameters:
page
- The page whose siblings from which to get the max position- Returns:
- The highest position value of all the page's siblings
-
scanFilteredPages
Description copied from interface:PageDaoInternal
Retrieves a page response of all the pages with specified content statuses.- Specified by:
scanFilteredPages
in interfacePageDaoInternal
- Parameters:
statuses
- list of content status which we are interested to fetchpageRequest
- limit and cursor of the pages to retrieve. Cursor in pageRequest can't be null.- Returns:
- the paginated list of pages
-
scanFilteredPages
public List<Page> scanFilteredPages(Space space, List<ContentStatus> statuses, LimitedRequest pageRequest) Description copied from interface:PageDaoInternal
Retrieves a page response of all pages in space with specified content statuses.- Specified by:
scanFilteredPages
in interfacePageDaoInternal
- Parameters:
space
- the space to locate the page instatuses
- content status to matchpageRequest
- limit and cursor of the pages to retrieve. Cursor in pageRequest can't be null.- Returns:
- the paginated list of pages
-
getById
-
setEventPublisher
public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher) -
publishEvent
- Overrides:
publishEvent
in classHibernateObjectDao<Page>
-
getUndefinedLinks(String)