Class HibernatePageDao
- java.lang.Object
-
- org.springframework.dao.support.DaoSupport
-
- com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao<T>
-
- com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao<T>
-
- com.atlassian.confluence.internal.persistence.hibernate.AbstractContentEntityObjectHibernateDao<Page>
-
- com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao
-
- All Implemented Interfaces:
ObjectDao
,ContentEntityObjectDao<Page>
,VersionedObjectDao<Page>
,PageDaoInternal
,ContentEntityObjectDaoInternal<Page>
,ObjectDaoInternal<Page>
,VersionedObjectDaoInternal<Page>
,PageDao
,org.springframework.beans.factory.InitializingBean
public class HibernatePageDao extends AbstractContentEntityObjectHibernateDao<Page> implements PageDaoInternal
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
HibernateObjectDao.Cacheability
-
-
Field Summary
-
Fields inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
cacheFactory, confluenceUserDao
-
-
Constructor Summary
Constructors Constructor Description HibernatePageDao()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
countAllPages()
Counts the total number of all page entities across all spaces, including non-current pagesint
countCurrentPages()
Counts the total number of current pages across all spacesint
countDraftPages()
Counts the number of pages that are drafts.int
countPagesInSubtree(@NonNull Page page)
Return total descendant page including input pageint
countPagesWithUnpublishedChanges()
Counts the number of published pages that have unpublished changes.List<AbstractPage>
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.List<AbstractPage>
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.List<ContentPermissionSummary>
findContentPermissionSummaryByIds(Collection<Long> ids)
Get Content creator for bulk permission checkingList<AbstractPage>
findPagesWithCurrentOrHistoricalTitleInAllPermittedSpacesExcept(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.List<AbstractPage>
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.List<AbstractPage>
getAbstractPages(Space space, String title, List<ContentStatus> statuses, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPages(Space space, List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPages(com.atlassian.core.util.DateUtils.DateRange range, List<ContentStatus> statuses, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPages(String title, List<ContentStatus> statuses, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPages(List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPagesByCreationDate(com.atlassian.core.util.DateUtils.DateRange range, LimitedRequest pageRequest)
List<AbstractPage>
getAbstractPagesByTitle(String title, LimitedRequest limitedRequest)
PageResponse<Page>
getAllChildren(Page page, LimitedRequest pageRequest, Depth depth)
Returns all children of a page (including drafts), limited to the pagination requested.Map<Long,List<Long>>
getAncestorsFor(Collection<Long> ids)
Get the list page ids of the ancestors of the given page ids.int
getAuthoredPagesCountByUser(String username)
List<BlogPost>
getBlogPosts(Space space, LimitedRequest limitedRequest)
List<Page>
getChildren(Page page, LimitedRequest pageRequest, Depth depth)
int
getCommentCountOnPage(long id)
Count the number of comments on the passed in page.List<Long>
getDescendantIds(Page page)
Finds the ids of all descendant pages of the given pageList<Long>
getDescendantIds(Page page, ContentStatus... contentStatus)
Finds the ids of all descendant pages of the given pageList<Page>
getDescendants(Page page)
Finds all descendant pages (recursive) of the given pageList<String>
getDescendantTitles(Page page)
Finds all descendant titles of the given pagePageResponse<Page>
getDraftChildren(Page page, LimitedRequest pageRequest, Depth depth)
Returns the children of a page which have a status of DRAFT, limited to the pagination requested.Integer
getMaxSiblingPosition(Page page)
Gets the highest position value of all the page's siblings.Date
getOldestPageCreationDate()
Gets the creation date of the oldest page.List<Page>
getOrphanedPages(@Nullable String spaceKey)
Page
getPage(Space space, String pageTitle)
Get the page by space and title.Page
getPage(Space space, String pageTitle, boolean eagerLoadComments)
Page
getPageById(long id)
Get the page with the given id.Page
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.Collection<Long>
getPageIds(Space space)
Get the ids of all pages (current and historical) in the given space.List<Page>
getPageInTrash(String spaceKey, String title)
List<Page>
getPages(@Nullable Space space, boolean currentOnly)
List<Page>
getPages(LimitedRequest pageRequest)
List<Page>
getPages(Space space, LimitedRequest pageRequest)
List<Page>
getPagesByIds(Iterable<Long> ids)
Get the pages with the given ids.List<Page>
getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
List<Page>
getPagesStartingWith(Space space, String s)
Optional<PageStatisticsDTO>
getPageStatistics()
Fetches statistics about pagesList<Page>
getPagesWithPermissions(@NonNull Space space)
Get all current pages in a space and eagerly fetch permissions at the same time.Page
getPageWithComments(Space space, String pageTitle)
Get the page by space and title, and perform an eager load of the comments and their children.List<Page>
getPermissionPages(Space space)
Collection<Page>
getPermissionPages(Space space, LimitedRequest limitedRequest)
Pagination permission pages for particular Spacelong
getPermissionPagesCount(Space space)
Get total number of permission pages for particular SpaceClass
getPersistentClass()
Gets the type ofEntityObject
this Dao works with.List<Page>
getRecentlyAddedPages(int maxCount, @Nullable String spaceKey)
List<Page>
getRecentlyAuthoredPagesByUser(String username, int maxCount)
List<Page>
getRecentlyUpdatedPages(int maxCount, @Nullable String spaceKey)
List<Page>
getTopLevelPages(Space space)
List<Page>
getTopLevelPages(Space space, LimitedRequest limitedRequest)
List<OutgoingLink>
getUndefinedLinks(@Nullable String spaceKey)
List<Page>
getUndefinedPages(@Nullable String spaceKey)
Deprecated.since 6.6.0, usegetUndefinedLinks(String)
void
saveRawWithoutReindex(com.atlassian.core.bean.EntityObject objectToSave)
This is for internal use only, Do not rely on it as a public API.List<Page>
scanFilteredPages(Space space, List<ContentStatus> statuses, LimitedRequest pageRequest)
Retrieves a page response of all pages in space with specified content statuses.List<Page>
scanFilteredPages(List<ContentStatus> statuses, LimitedRequest pageRequest)
Retrieves a page response of all the pages with specified content statuses.-
Methods inherited from class com.atlassian.confluence.internal.persistence.hibernate.AbstractContentEntityObjectHibernateDao
countContentBySpaceIdAndStatus, findAllDraftsFor, findAllLegacyDraftsFor, findContentBySpaceIdAndStatus, findContentBySpaceIdAndStatus, findDraftFor, findDraftsWithUnpublishedChangesForUser, findHistoricalVersionsAfterVersion, findPreviousVersions, findUnpublishedContentWithUserContributions, getAllCurrentEntities, getAllModifiers, getByClassId, getById, getContentAuthoredByUser, getContributionStatusByUser, getFirstVersionAfter, getFirstVersionBefore, getLastEditedVersionsOf, getObjectType, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getPagesByCursor, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getTrashedContent, getTrashedContents, getTrashedContents, getTrashedEntities, getVersion, getVersionEditContributors, getVersionHistorySummary, getVersionHistorySummary, getVersionsLastEditedByUser, getVersionsLastEditedByUserNew
-
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.VersionedHibernateObjectDao
findAllSorted, findLatestVersionsCount, findLatestVersionsCount, findLatestVersionsIterator, findLatestVersionsIterator, findNamedQueryStringParams, findNamedQueryStringParams, save, saveEntity, setCacheFactory, setConfluenceUserDao, updateEntityModificationData, updateModificationData
-
Methods inherited from class com.atlassian.confluence.core.persistence.hibernate.HibernateObjectDao
applyTransactionTimeout, applyTransactionTimeout, checkDaoConfig, createHibernateTemplate, findAll, findAllSorted, findByClassIds, findByClassIdsFiltered, findNamedQuery, findNamedQuery, findNamedQuery, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParam, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findNamedQueryStringParams, findSingleObject, getCountResult, getHibernateTemplate, getSessionFactory, index, indexEntity, refresh, refreshEntity, reIndex, reIndexEntity, remove, removeEntity, replicate, replicateEntity, save, saveEntity, saveRaw, saveRawEntity, setEventPublisher, setHibernateTemplate, setIndexer, setSessionFactory, unIndex, unIndexEntity, uniqueResult
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.core.persistence.ContentEntityObjectDao
countContentBySpaceIdAndStatus, findAllDraftsFor, findAllLegacyDraftsFor, findContentBySpaceIdAndStatus, findContentBySpaceIdAndStatus, findDraftFor, findDraftsWithUnpublishedChangesForUser, findHistoricalVersionsAfterVersion, findPreviousVersions, findUnpublishedContentWithUserContributions, getAllCurrentEntities, getAllModifiers, getAllModifiers, getById, getContentAuthoredByUser, getContributionStatusByUser, getFirstVersionAfter, getFirstVersionBefore, getLastEditedVersionsOf, getObjectType, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getTrashedContent, getTrashedContents, getTrashedContents, getVersion, getVersionEditContributors, getVersionHistorySummary, getVersionHistorySummary, getVersionsLastEditedByUser, getVersionsLastEditedByUserNew
-
Methods inherited from interface com.atlassian.confluence.internal.persistence.ContentEntityObjectDaoInternal
findContentBySpaceIdAndStatusAndFilter, getTrashedEntities
-
Methods inherited from interface com.atlassian.confluence.internal.persistence.ObjectDaoInternal
findAll, findAllSorted, findAllSorted, findByClassIds, findByClassIdsFiltered, refresh, refreshEntity, remove, removeEntity, replicate, replicateEntity, save, saveEntity, saveRaw, saveRawEntity
-
Methods inherited from interface com.atlassian.confluence.internal.pages.persistence.PageDaoInternal
getAbstractPages, getAbstractPages, getAbstractPages, getAbstractPages, getAbstractPages, getAbstractPagesByCreationDate, getAbstractPagesByTitle, getBlogPosts, getChildren, getPages, getPages, getTopLevelPages
-
Methods inherited from interface com.atlassian.confluence.core.persistence.VersionedObjectDao
findLatestVersionsCount, findLatestVersionsIterator, save
-
Methods inherited from interface com.atlassian.confluence.internal.persistence.VersionedObjectDaoInternal
saveEntity
-
-
-
-
Method Detail
-
getPageById
public Page getPageById(long id)
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
public List<Page> getPagesByIds(Iterable<Long> ids)
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
public Page getPageByIdWithComments(long id)
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
-
getPageWithComments
public Page getPageWithComments(Space space, String pageTitle)
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
public Page getPage(Space space, String pageTitle)
Description copied from interface:PageDao
Get the page by space and title.
-
getPagesWithPermissions
public List<Page> getPagesWithPermissions(@NonNull Space space)
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
public List<Page> getPages(LimitedRequest pageRequest)
- Specified by:
getPages
in interfacePageDaoInternal
-
getPages
public List<Page> getPages(Space space, LimitedRequest pageRequest)
- Specified by:
getPages
in interfacePageDaoInternal
-
getBlogPosts
public List<BlogPost> getBlogPosts(Space space, LimitedRequest limitedRequest)
- 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
public Collection<Long> getPageIds(Space space)
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
public List<AbstractPage> getAbstractPagesByTitle(String title, LimitedRequest limitedRequest)
- 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
public List<Page> getPagesStartingWith(Space space, String s)
- Specified by:
getPagesStartingWith
in interfacePageDao
-
getRecentlyAddedPages
public List<Page> getRecentlyAddedPages(int maxCount, @Nullable String spaceKey)
- Specified by:
getRecentlyAddedPages
in interfacePageDao
-
getRecentlyUpdatedPages
public List<Page> getRecentlyUpdatedPages(int maxCount, @Nullable String spaceKey)
- Specified by:
getRecentlyUpdatedPages
in interfacePageDao
-
getOrphanedPages
public List<Page> getOrphanedPages(@Nullable String spaceKey)
- Specified by:
getOrphanedPages
in interfacePageDao
-
getUndefinedPages
@Deprecated public List<Page> getUndefinedPages(@Nullable String spaceKey)
Deprecated.since 6.6.0, usegetUndefinedLinks(String)
- Specified by:
getUndefinedPages
in interfacePageDao
-
getUndefinedLinks
public final List<OutgoingLink> getUndefinedLinks(@Nullable String spaceKey)
- Specified by:
getUndefinedLinks
in interfacePageDao
-
getPermissionPages
public List<Page> getPermissionPages(Space space)
- Specified by:
getPermissionPages
in interfacePageDao
-
getPermissionPages
public Collection<Page> getPermissionPages(Space space, LimitedRequest limitedRequest)
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
public long getPermissionPagesCount(Space space)
Description copied from interface:PageDaoInternal
Get total number of permission pages for particular Space- Specified by:
getPermissionPagesCount
in interfacePageDaoInternal
- Returns:
- the count
-
getAuthoredPagesCountByUser
public int getAuthoredPagesCountByUser(String username)
- Specified by:
getAuthoredPagesCountByUser
in interfacePageDao
-
getRecentlyAuthoredPagesByUser
public List<Page> getRecentlyAuthoredPagesByUser(String username, int maxCount)
- Specified by:
getRecentlyAuthoredPagesByUser
in interfacePageDao
-
getPagesCreatedOrUpdatedSinceDate
public List<Page> getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
- Specified by:
getPagesCreatedOrUpdatedSinceDate
in interfacePageDao
-
getPersistentClass
public Class getPersistentClass()
Description copied from interface:ObjectDaoInternal
Gets the type ofEntityObject
this Dao works with.- Specified by:
getPersistentClass
in interfaceObjectDao
- Specified by:
getPersistentClass
in interfaceObjectDaoInternal<Page>
- Returns:
- the type
-
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
public List<ContentPermissionSummary> findContentPermissionSummaryByIds(Collection<Long> ids)
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
public long getPageCount(@NonNull String spaceKey)
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
public long getPageCount(@NonNull String spaceKey, List<ContentStatus> statuses)
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
public Optional<PageStatisticsDTO> 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
public List<Page> getPageInTrash(String spaceKey, String title)
- Specified by:
getPageInTrash
in interfacePageDao
-
getDescendants
public List<Page> getDescendants(Page page)
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
public int countPagesInSubtree(@NonNull Page page)
Description copied from interface:PageDao
Return total descendant page including input page- Specified by:
countPagesInSubtree
in interfacePageDao
- Returns:
- total page
-
getAncestorsFor
public Map<Long,List<Long>> getAncestorsFor(Collection<Long> ids)
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
public List<String> getDescendantTitles(Page page)
Description copied from interface:PageDao
Finds all descendant titles of the given page- Specified by:
getDescendantTitles
in interfacePageDao
- Returns:
- List of descendant titles
-
getDescendantIds
public List<Long> getDescendantIds(Page page)
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
public List<Long> getDescendantIds(Page page, ContentStatus... contentStatus)
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
public List<Page> getTopLevelPages(Space space)
- Specified by:
getTopLevelPages
in interfacePageDao
-
getTopLevelPages
public List<Page> getTopLevelPages(Space space, LimitedRequest limitedRequest)
- Specified by:
getTopLevelPages
in interfacePageDaoInternal
-
getChildren
public List<Page> getChildren(Page page, LimitedRequest pageRequest, Depth depth)
- Specified by:
getChildren
in interfacePageDaoInternal
-
getDraftChildren
public PageResponse<Page> getDraftChildren(Page page, LimitedRequest pageRequest, Depth depth)
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 requesteddepth
- the depth to return children to- Returns:
- the paginated response of Page entities
-
getAllChildren
public PageResponse<Page> getAllChildren(Page page, LimitedRequest pageRequest, Depth depth)
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 requesteddepth
- the depth to return children to- Returns:
- the paginated response of Page entities
-
getMaxSiblingPosition
public Integer getMaxSiblingPosition(Page page)
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
-
getOldestPageCreationDate
public Date getOldestPageCreationDate()
Description copied from interface:ContentEntityObjectDao
Gets the creation date of the oldest page.- Specified by:
getOldestPageCreationDate
in interfaceContentEntityObjectDao<Page>
- Overrides:
getOldestPageCreationDate
in classAbstractContentEntityObjectHibernateDao<Page>
- Returns:
- creation date of the oldest page in Confluence
-
saveRawWithoutReindex
public void saveRawWithoutReindex(com.atlassian.core.bean.EntityObject objectToSave)
Description copied from interface:ContentEntityObjectDaoInternal
This is for internal use only, Do not rely on it as a public API.
Perform a saveRaw but without performing the re-index; it is unnecessary in the context of a migration or upgrade.
- Specified by:
saveRawWithoutReindex
in interfaceContentEntityObjectDaoInternal<Page>
-
scanFilteredPages
public List<Page> scanFilteredPages(List<ContentStatus> statuses, LimitedRequest pageRequest)
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
-
-