@ParametersAreNonnullByDefault public class DefaultPageManager extends DefaultContentEntityManager implements PageManagerInternal
Modifier and Type | Field and Description |
---|---|
static String |
EXCERPT_KEY |
static String |
STALE_DRAFT_REMOVE_BATCH_SIZE |
collaborativeEditingHelper
ITERATE_ALL
Constructor and Description |
---|
DefaultPageManager(PageDaoInternal pageDao,
LinkManager linkManager,
ConfluenceIndexer indexer,
LabelManager labelManager,
AttachmentManager attachmentManager,
HibernateSessionManager hibernateSessionManager,
com.google.common.base.Supplier<XhtmlContent> xhtmlContent,
com.atlassian.event.api.EventPublisher eventPublisher,
NotificationManager notificationManager,
BlogPostDao blogPostDao,
AbstractPageDaoInternal abstractPageDao,
SpaceDao spaceDao,
ContentPropertyManager contentPropertyManager,
com.google.common.base.Supplier<PermissionManager> permissionManager,
ChangeIndexer changeIndexer,
LoginManager loginManager,
com.google.common.base.Supplier<ExceptionTolerantMigrator> revertedContentMigrator,
CollaborativeEditingHelper collaborativeEditingHelper,
RelationManager relationManager,
SpacePermissionQueryManager spacePermissionQueryManager,
ContentPermissionManager contentPermissionManager,
com.atlassian.beehive.ClusterLockService clusterLockService,
LinksUpdater linksUpdater,
com.google.common.base.Supplier<UserAccessor> userAccessor,
SpacePermissionManager spacePermissionManager,
SynchronizationManager synchronizationManager,
org.springframework.transaction.PlatformTransactionManager transactionManager,
com.google.common.base.Supplier<DarkFeaturesManager> darkFeaturesManager) |
Modifier and Type | Method and Description |
---|---|
int |
countBlogsWithUnpublishedChanges()
Counts the number of published blog posts that have unpublished changes.
|
int |
countCurrentBlogs()
Counts the total number of current blog posts across all spaces
|
int |
countCurrentPages()
Counts the total number of current pages across all spaces
|
int |
countDraftBlogs()
Counts the number of blog posts that are drafts.
|
int |
countDraftPages()
Counts the number of pages that are drafts.
|
int |
countPagesInSubtree(Page page)
Get number of descendant page including the input page
|
int |
countPagesWithUnpublishedChanges()
Counts the number of published pages that have unpublished changes.
|
AbstractPage |
createDraft(String contentType,
String spaceKey)
This method creates a draft
|
AbstractPage |
createDraft(String contentType,
String spaceKey,
long parentPageId)
This method creates a draft.
|
AbstractPage |
createOrFindDraftFor(@NonNull AbstractPage page)
Retrieves the draft for the given AbstractPage if exists.
|
void |
deepCopyPage(PageCopyOptions pageCopyOptions,
Page originalPage,
Page destinationPage)
Copy child page of originalPage to destinationPage
|
void |
deepDeletePage(PageDeleteOptions options,
Page targetPage)
Deletes a page hierarchy
|
List<ContentPermissionSummary> |
findContentPermissionSummaryByIds(Collection<Long> ids)
Get ContentPermissionSummary for bulk permission checking
|
@Nullable BlogPost |
findNextBlogPost(BlogPost post) |
@Nullable BlogPost |
findNextBlogPost(String key,
Date time) |
@Nullable BlogPost |
findPreviousBlogPost(BlogPost post) |
@Nullable BlogPost |
findPreviousBlogPost(String key,
Date time) |
@Nullable AbstractPage |
getAbstractPage(long id)
Retrieve the AbstractPage subclass with the given content ID.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPages(org.joda.time.DateTime date,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull List<AbstractPage> |
getAbstractPages(Iterable<Long> ids)
Retrieve a collection of the AbstractPage subclass with the given content IDs.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPages(List<ContentType> contentTypes,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPages(Space space,
List<ContentType> contentTypes,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPages(Space space,
String title,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPages(String title,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPagesByCreationDate(org.joda.time.DateTime date,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<AbstractPage> |
getAbstractPagesByTitle(String title,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Deprecated.
|
@NonNull PageResponse<Page> |
getAllChildren(Page page,
LimitedRequest pageRequest,
Depth depth)
Returns all the children of a page (including drafts), limited to the pagination requested
|
AttachmentManager |
getAttachmentManager()
Deprecated.
since 5.8 do not use. Implementation detail mistakenly added to service interface.
|
int |
getAuthoredPagesCountByUser(String username)
Get the number of pages that have been created by a particular user
|
@Nullable BlogPost |
getBlogPost(long id)
Retrieve the blog post with the given content ID.
|
@Nullable BlogPost |
getBlogPost(String spaceKey,
String postTitle,
Calendar day)
Retrieve the latest version of a blog post by its space key, title, and the day on which it was
published.
|
@Nullable BlogPost |
getBlogPost(String spaceKey,
String postTitle,
Calendar day,
boolean eagerLoadComments)
Retrieve the latest version of a blog post by its space key, title, and the day on which it was
published.
|
long |
getBlogPostCount(String spaceKey,
@Nullable Calendar postingDate,
int period)
Get total number of blogPost.
|
@NonNull List<BlogPost> |
getBlogPosts(Space space,
boolean currentOnly) |
@NonNull PageResponse<BlogPost> |
getBlogPosts(Space space,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super BlogPost>... filters)
Deprecated.
|
@NonNull List |
getBlogPosts(String spaceKey,
Calendar postingDate,
int period)
Get list of blogPost by Date.
|
@NonNull List |
getBlogPosts(String spaceKey,
Calendar postingDate,
int period,
int startIndex,
int maxResultCount)
Get list of blogPost by Date.
|
@NonNull List<BlogPost> |
getBlogPostsInTrash(String spaceKey,
String title)
Gets a blog post that is in the trash for a given space that matches the given title.
|
Optional<BlogPostStatisticsDTO> |
getBlogStatistics()
Fetches statistics about blogs
|
protected @NonNull BodyContent |
getBodyContentForRevert(ContentEntityObject historicalVersion) |
@Nullable AbstractPage |
getById(long id)
Override default implementation to explicitly return an AbstractPage.
|
@NonNull PageResponse<Page> |
getChildren(Page page,
LimitedRequest pageRequest,
Depth depth)
Returns the children of a page which have a status of CURRENT, limited to the pagination requested.
|
int |
getCommentCountOnPage(long pageId)
Counts the number of comments on the page specified by the given id.
|
int |
getCountOfLatestXhtmlContent(long endContentId)
Count the number of AbstractPages that have an ID lower than the specified ID, excluding older versions.
|
@NonNull Collection<Long> |
getDescendantIds(Page page)
Finds the ids of a page's descendants
|
@NonNull List<Page> |
getDescendants(Page page)
Finds all descendant pages of the given page
|
@NonNull List<String> |
getDescendantTitles(Page page)
Finds all descendant titles of the given page
|
@NonNull List |
getDescendents(Page page)
Deprecated.
since 5.5.1. Use
getDescendants(Page) |
@NonNull PageResponse<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.
|
long |
getHighestCeoId()
Get the highest content ID in the database, excluding older versions of content.
|
@NonNull Set<Date> |
getMonthsWithBlogPosts(String spaceKey,
Calendar year)
Returns the set of months in the specified year (represented as a Calendar with the year and month fields populated)
for which blog posts exist in the specified space.
|
@Nullable BlogPost |
getNewestBlogPost(@Nullable String spaceKey)
Retrieves the most recently created blog post in the given space.
|
NotificationManager |
getNotificationManager()
Deprecated.
since 5.8 do not use. Implementation detail mistakenly added to service interface.
|
@NonNull List<ContentEntityObject> |
getOrderedXhtmlContentFromContentId(long startContentId,
long endContentId,
int maxRows)
Gets the latest versions of AbstractPages between the given IDs limited by the specified number of rows.
|
@NonNull List |
getOrphanedPages(@Nullable String spaceKey)
Retrieve a list of pages in a given space that are not linked to.
|
@Nullable Page |
getPage(long id)
Retrieve the page with the given content ID.
|
@Nullable Page |
getPage(String spaceKey,
String pageTitle)
Retrieve the latest version of a page by its space key and title.
|
@Nullable AbstractPage |
getPageByVersion(AbstractPage mostRecentPage,
int version)
returns the historical version of a page
|
long |
getPageCount(@NonNull String spaceKey)
Get total number of current pages in a space
|
@NonNull Collection<Long> |
getPageIds(Space space)
Get the ids of all pages (current and historical) in the given space.
|
@NonNull List |
getPageInTrash(String spaceKey,
String title) |
@NonNull List<Page> |
getPages(Iterable<Long> ids)
Retrieve a collection of pages with the given content IDs.
|
@NonNull PageResponse<Page> |
getPages(LimitedRequest pageRequest,
com.google.common.base.Predicate<? super Page>... filters)
Deprecated.
|
@NonNull List<Page> |
getPages(Space space,
boolean currentOnly) |
@NonNull PageResponse<Page> |
getPages(Space space,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super Page>... filters)
Deprecated.
|
@NonNull List |
getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
Get the list of all pages created or updated since a particular date.
|
@NonNull List |
getPagesStartingWith(Space space,
String s) |
Optional<PageStatisticsDTO> |
getPageStatistics()
Fetches statistics about pages
|
@NonNull List<Page> |
getPagesWithPermissions(Space space)
Get all current pages in a space and eagerly fetch permissions at the same time.
|
@Nullable Page |
getPageWithComments(String spaceKey,
String pageTitle)
Retrieve the latest version of a page by its space key and title.
|
PermissionManager |
getPermissionManager()
Deprecated.
since 5.8 do not use. Implementation detail mistakenly added to service interface.
|
@NonNull List |
getPermissionPages(Space space)
Retrieve all pages within a particular space that have page level permissions applied to them.
|
@NonNull List<AbstractPage> |
getPossibleBlogRedirectsInSpace(Space space,
String blogTitle,
int maxResultCount)
Searches for blogs in the space specified, looking for those that have the given title in a
previous version.
|
@NonNull List<AbstractPage> |
getPossibleBlogRedirectsNotInSpace(Space space,
String blogTitle,
int maxResultCount)
Searches for pages in all spaces except the one specified, looking for those that have the given title in a
previous version.
|
@NonNull List<AbstractPage> |
getPossibleRedirectsInSpace(Space space,
String pageTitle,
int maxResultCount)
Searches for pages in the space specified, looking for those that have the given title in a
previous version.
|
@NonNull List<AbstractPage> |
getPossibleRedirectsNotInSpace(Space space,
String pageTitle,
int maxResultCount)
Searches for pages in all spaces except the one specified, looking for those that have the given title in a
previous version.
|
@NonNull List<ContentEntityObject> |
getPreviousVersionsOfPageWithTaskId(long pageId,
long taskId,
int maxRows)
Get previous versions of a CEO that contain the given task ID sorted by versions in descending order.
|
@NonNull List |
getRecentlyAddedBlogPosts(int maxPosts,
@Nullable Date timeSince,
String spaceKey) |
@NonNull List |
getRecentlyAddedBlogPosts(int maxCount,
@Nullable String spaceKey)
Retrieve the most recently created blog posts in a given space.
|
@NonNull List |
getRecentlyAddedPages(int maxCount,
@Nullable String spaceKey)
Retrieve the most recently created pages in a given space.
|
@NonNull List |
getRecentlyUpdatedPages(int maxCount,
@Nullable String spaceKey)
Retrieve the most recently modified pages in a given space.
|
@NonNull List<Page> |
getTopLevelPages(Space space)
Get all the pages in a space that do not have a parent page.
|
@NonNull PageResponse<Page> |
getTopLevelPages(Space space,
LimitedRequest pageRequest)
Returns the current top-level pages in a space, limited to the pagination requested.
|
@NonNull ListBuilder<Page> |
getTopLevelPagesBuilder(Space space)
NOTE: Despite our best intentions, we still have to retrieve all the top level pages and order them outside the
database.
|
List<OutgoingLink> |
getUndefinedLinks(@Nullable String spaceKey)
Retrieve a list of link destinations in a given space that do not have pages.
|
@NonNull List<OutgoingLink> |
getUndefinedPages(@Nullable String spaceKey)
Retrieve a list of link destinations in a given space that do not have pages.
|
@NonNull List<Page> |
getUnsortedTopLevelPages(Space space) |
@NonNull Set<Date> |
getYearsWithBlogPosts(String spaceKey)
Returns the set of years (represented as a Date with the year field populated)
for which blog posts exist in the specified space.
|
boolean |
isPageRecentlyUpdatedForUser(Page page,
@Nullable com.atlassian.user.User user)
Returns true if the page has been created or modified since the user last logged in.
|
void |
moveBlogPostToTopLevel(BlogPost blogPost,
Space space)
Move a blog post to the top level of
targetSpace . |
void |
moveChildrenToNewParent(Page oldPage,
Page newParent)
Moves all the children from one page to another
The new parent should NOT be the child of the old parent, this method will return with no operation in that case
|
void |
movePageAfter(Page page,
Page refPage)
Move the provided page (first argument) after the reference page (second argument).
|
void |
movePageAsChild(Page page,
Page newParent)
Move the source page to the end of targetPage's children list.
|
void |
movePageBefore(Page page,
Page refPage)
Move the provided page (first argument) before the reference page (second argument).
|
void |
movePageToTopLevel(Page page,
Space space)
Move a page to the top level of
targetSpace . |
protected void |
publishCreateEvent(ContentEntityObject obj)
This method publishes
*CreateEvents s. |
protected void |
publishCreateEvent(ContentEntityObject obj,
@Nullable SaveContext saveContext) |
protected void |
publishRemoveEvent(ContentEntityObject obj)
This method publishes
*RemoveEvent s. |
protected void |
publishUpdateEvent(ContentEntityObject obj,
@Nullable ContentEntityObject origObj,
@Nullable SaveContext saveContext)
This method publishes
*UpdateEvent s. |
void |
reconcileIfNeeded(AbstractPage content,
@Nullable SaveContext saveContext)
This method triggers
SynchronyRecoveryEvent if collab editing is turned on and data recovery is needed. |
void |
refreshPage(ContentEntityObject page)
Refresh the page object in the hibernate session.
|
void |
removeAllBlogPosts(Space space) |
void |
removeAllPages(Space space)
Removes all pages in the space.
|
void |
removeAllPages(Space space,
com.atlassian.core.util.ProgressMeter progress)
removes all the pages in a space (including all dependencies like attachments and notifications)
|
void |
removePageFromAncestorCollections(Page page)
Removes the page and its ancestors from the ancestor collection of all descendants.
|
int |
removeStaleSharedDrafts()
Removes any stale shared drafts.
|
void |
renamePage(AbstractPage page,
String newPageTitle)
Call this function if you want to rename the page only.
|
void |
renamePageWithoutNotifications(AbstractPage page,
String newPageTitle)
Call this function if you want to rename the page only, and don't want notifications generated.
|
void |
restorePage(AbstractPage page)
Restores a trashed page, effectively moving it out of the trash and promoting it back to being normal page.
|
void |
revertChildPageOrder(Page parentPage)
Removes manual ordering of child pages.
|
void |
saveContentEntity(ContentEntityObject obj,
@Nullable ContentEntityObject origObj,
@Nullable SaveContext saveContext)
In order to create a history for this object, we need to pass in the modified as well as the original version of the object.
|
void |
saveContentEntity(ContentEntityObject obj,
@Nullable SaveContext saveContext) |
<T extends ContentEntityObject> |
saveNewVersion(T current,
Modification<T> modification,
@Nullable SaveContext saveContext)
Applies the state changes supplied by modification and persists those changes to a new version.
|
void |
setChildPageOrder(Page parentPage,
List<Long> childIds)
Sets ordering of child pages for a supplied page, based on a map of child ids to positions.
|
void |
setNotificationManager(NotificationManager notificationManager)
Deprecated.
since 5.8. Use constructor injection instead.
|
boolean |
spaceHasBlogPosts(String spaceKey) |
void |
trashPage(AbstractPage page)
Deprecated.
|
void |
trashPage(AbstractPage page,
@NonNull DeleteContext deleteContext) |
void |
updatePageInAncestorCollections(Page page,
@Nullable Page newParent)
Updates the ancestors of a page and all it's descendant pages with the new parent page
and its ancestors.
|
createDraft, findAllDraftsFor, findDraftFor, findDraftFor, findUnpublishedContentWithUserContributions, getById, getById, getByIds, getContentEntityObjectDao, getContributionStatusByUser, getEventPublisher, getHibernateSessionManager, getIndexer, getLabelManager, getLinkManager, getNextVersion, getOtherVersion, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getPreviousVersion, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getVersionHistorySummaries, getVersionHistorySummaries, getVersionsLastEditedByUser, refreshContentEntity, removeContentEntities, removeContentEntity, removeHistoricalVersion, revertContentEntityBackToVersion, saveNewVersion
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFilteredAbstractPages, getFilteredAbstractPages, getFilteredAbstractPages, getFilteredAbstractPages, getFilteredAbstractPages, getFilteredAbstractPagesByCreationDate, getFilteredAbstractPagesByTitle, getFilteredBlogPosts, getFilteredPages, getFilteredPages
getContributionStatusByUser, getNextVersion, getOtherVersion, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getPreviousVersion, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getVersionHistorySummaries, getVersionsLastEditedByUser, refreshContentEntity, removeContentEntity, removeHistoricalVersion, revertContentEntityBackToVersion, saveNewVersion
getByIdsAndFilters
public static final String EXCERPT_KEY
public static final String STALE_DRAFT_REMOVE_BATCH_SIZE
public DefaultPageManager(PageDaoInternal pageDao, LinkManager linkManager, ConfluenceIndexer indexer, LabelManager labelManager, AttachmentManager attachmentManager, HibernateSessionManager hibernateSessionManager, com.google.common.base.Supplier<XhtmlContent> xhtmlContent, com.atlassian.event.api.EventPublisher eventPublisher, NotificationManager notificationManager, BlogPostDao blogPostDao, AbstractPageDaoInternal abstractPageDao, SpaceDao spaceDao, ContentPropertyManager contentPropertyManager, com.google.common.base.Supplier<PermissionManager> permissionManager, ChangeIndexer changeIndexer, LoginManager loginManager, com.google.common.base.Supplier<ExceptionTolerantMigrator> revertedContentMigrator, CollaborativeEditingHelper collaborativeEditingHelper, RelationManager relationManager, SpacePermissionQueryManager spacePermissionQueryManager, ContentPermissionManager contentPermissionManager, com.atlassian.beehive.ClusterLockService clusterLockService, LinksUpdater linksUpdater, com.google.common.base.Supplier<UserAccessor> userAccessor, SpacePermissionManager spacePermissionManager, SynchronizationManager synchronizationManager, org.springframework.transaction.PlatformTransactionManager transactionManager, com.google.common.base.Supplier<DarkFeaturesManager> darkFeaturesManager)
public AbstractPage createDraft(String contentType, String spaceKey)
PageManagerInternal
createDraft
in interface PageManagerInternal
contentType
- - content type of the draft to create: page or blogpostspaceKey
- - space key of the space to create the draft intoContentEntityObject.DRAFT
public AbstractPage createDraft(String contentType, String spaceKey, long parentPageId)
PageManagerInternal
createDraft
in interface PageManagerInternal
contentType
- - content type of the draft to create: page or blogpostspaceKey
- - space key of the space to create the draft intoparentPageId
- - parent page ID of the newly created draftpublic AbstractPage createOrFindDraftFor(@NonNull AbstractPage page)
PageManagerInternal
createOrFindDraftFor
in interface PageManagerInternal
page
- the AbstractPage to retrieve the draft forContentEntityObject.DRAFT
public void renamePage(AbstractPage page, String newPageTitle)
PageManager
renamePage
in interface PageManager
page
- to renamenewPageTitle
- new title for pagepublic void renamePageWithoutNotifications(AbstractPage page, String newPageTitle)
PageManager
renamePageWithoutNotifications
in interface PageManager
page
- to renamenewPageTitle
- new title for pagepublic @NonNull List<BlogPost> getBlogPosts(Space space, boolean currentOnly)
getBlogPosts
in interface PageManager
public @NonNull List<AbstractPage> getPossibleRedirectsInSpace(Space space, String pageTitle, int maxResultCount)
PageManager
getPossibleRedirectsInSpace
in interface PageManager
space
- Space to search. Must not be null.pageTitle
- title of a page in a previous version.maxResultCount
- maximum pages to returnpublic @NonNull List<AbstractPage> getPossibleBlogRedirectsInSpace(Space space, String blogTitle, int maxResultCount)
PageManager
getPossibleBlogRedirectsInSpace
in interface PageManager
space
- Space to search. Must not be null.blogTitle
- title of a blog in a previous version.maxResultCount
- maximum blogs to returnpublic @NonNull List<AbstractPage> getPossibleBlogRedirectsNotInSpace(Space space, String blogTitle, int maxResultCount)
PageManager
getPossibleBlogRedirectsNotInSpace
in interface PageManager
space
- Space to exclude from search. If null, all spaces are searched.blogTitle
- title of a blog post to locatemaxResultCount
- maximum blog posts to returnpublic @NonNull List<AbstractPage> getPossibleRedirectsNotInSpace(Space space, String pageTitle, int maxResultCount)
PageManager
getPossibleRedirectsNotInSpace
in interface PageManager
space
- Space to exclude from search. If null, all spaces are searched.pageTitle
- title of a page in a previous version.maxResultCount
- maximum pages to returnpublic @NonNull List getRecentlyAddedBlogPosts(int maxPosts, @Nullable Date timeSince, String spaceKey)
getRecentlyAddedBlogPosts
in interface PageManager
public @Nullable Page getPage(long id)
PageManager
getPage
in interface PageManager
id
- the database content ID for the page to returnpublic @NonNull List<Page> getPages(Iterable<Long> ids)
PageManager
getPages
in interface PageManager
ids
- an Iterable of content IDs for the pages to returnpublic @Nullable AbstractPage getAbstractPage(long id)
PageManager
getAbstractPage
in interface PageManager
id
- the database content ID for the page to returnpublic @NonNull List<AbstractPage> getAbstractPages(Iterable<Long> ids)
PageManager
getAbstractPages
in interface PageManager
ids
- an Iterable of content IDs for the pages or blogposts to returnpublic @Nullable AbstractPage getById(long id)
getById
in interface ContentEntityManager
getById
in class DefaultContentEntityManager
public @Nullable BlogPost getBlogPost(long id)
PageManager
getBlogPost
in interface PageManager
id
- the database content ID for the blog post to returnpublic @Nullable Page getPage(String spaceKey, String pageTitle)
PageManager
Both the space key and page title matches are case-insensitive.
getPage
in interface PageManager
public @Nullable Page getPageWithComments(String spaceKey, String pageTitle)
PageManager
Both the space key and page title matches are case-insensitive.
getPageWithComments
in interface PageManager
@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPagesByTitle(String title, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPagesByTitle(String, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPagesByTitle
in interface PageManagerInternal
title
- the title of the page or blog post to matchpageRequest
- the pagination requestedfilter
- a predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPagesByCreationDate(org.joda.time.DateTime date, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPagesByCreationDate(DateTime, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPagesByCreationDate
in interface PageManagerInternal
date
- the creation date of the page or blog postpageRequest
- the pagination requestfilter
- a predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPages(List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPages(List, List, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPages
in interface PageManagerInternal
contentTypes
- types of the content to fetch, pages and or blog postsstatuses
- list of statuses the content can be inpageRequest
- the pagination requestedfilter
- a Predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPages(Space space, List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPages(Space, List, List, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPages
in interface PageManagerInternal
space
- the space to locate pages incontentTypes
- types of the content to fetch, pages and or blog postsstatuses
- list of statuses the content can be inpageRequest
- the pagination requestedfilter
- a Predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPages(org.joda.time.DateTime date, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPages(DateTime, List, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPages
in interface PageManagerInternal
date
- the creation date to matchstatuses
- list of statuses the content can be inpageRequest
- the pagination requestfilter
- a predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPages(Space space, String title, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPages(Space, String, List, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPages
in interface PageManagerInternal
space
- space the content belongs totitle
- the title of the page to matchstatuses
- list of statuses the content can be inpageRequest
- the pagination requestedfilter
- a Predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<AbstractPage> getAbstractPages(String title, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternal.getFilteredAbstractPages(String, List, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getAbstractPages
in interface PageManagerInternal
title
- the title of the page to matchstatuses
- list of statuses the content can be inpageRequest
- the pagination requestedfilter
- a predicate to apply to the results before returningpublic List<ContentPermissionSummary> findContentPermissionSummaryByIds(Collection<Long> ids)
PageManagerInternal
findContentPermissionSummaryByIds
in interface PageManagerInternal
ids
- of Contentpublic int getCommentCountOnPage(long pageId)
PageManager
getCommentCountOnPage
in interface PageManager
pageId
- the id to check for comments onpublic @NonNull List getPageInTrash(String spaceKey, String title)
getPageInTrash
in interface PageManager
public @NonNull List<BlogPost> getBlogPostsInTrash(String spaceKey, String title)
PageManager
getBlogPostsInTrash
in interface PageManager
spaceKey
- The space key (case-insensitive) in which to look for the blogtitle
- The title (case-insensitive) of the blog to look forpublic boolean spaceHasBlogPosts(String spaceKey)
spaceHasBlogPosts
in interface PageManager
public @NonNull List<Page> getDescendants(Page page)
PageManager
getDescendants
in interface PageManager
public @NonNull List<String> getDescendantTitles(Page page)
PageManager
getDescendantTitles
in interface PageManager
public @NonNull List getDescendents(Page page)
getDescendants(Page)
getDescendents
in interface PageManager
public void updatePageInAncestorCollections(Page page, @Nullable Page newParent)
PageManager
updatePageInAncestorCollections
in interface PageManager
page
- the page being updated with new ancestorsnewParent
- the new parent page of the page being updatedpublic void removePageFromAncestorCollections(Page page)
PageManager
removePageFromAncestorCollections
in interface PageManager
public void removeAllPages(Space space)
PageManager
This can be a lengthy operation and should be performed in a long running task. Current Hibernate session will be cleared as part of this method.
removeAllPages
in interface PageManager
space
- the space to remove pages from.public void removeAllPages(Space space, com.atlassian.core.util.ProgressMeter progress)
removeAllPages
in interface PageManager
space
- the space to remove all pages for.progress
- progress meter to report progress on, can not be null.public void removeAllBlogPosts(Space space)
removeAllBlogPosts
in interface PageManager
public void refreshPage(ContentEntityObject page)
PageManager
refreshPage
in interface PageManager
page
- the page to refreshpublic void deepCopyPage(PageCopyOptions pageCopyOptions, Page originalPage, Page destinationPage)
PageManager
deepCopyPage
in interface PageManager
pageCopyOptions
- hint for us how we should copy page. Need to have READ permission on this page and all its child pagesoriginalPage
- source page. Need to have CREATE permission on itdestinationPage
- destination pagepublic final void deepDeletePage(PageDeleteOptions options, Page targetPage)
PageManager
deepDeletePage
in interface PageManager
options
- options for bulk delete pagestargetPage
- target page hierarchy to be deletedpublic int countPagesInSubtree(Page page)
PageManager
countPagesInSubtree
in interface PageManager
public @NonNull Collection<Long> getDescendantIds(Page page)
PageManager
getDescendantIds
in interface PageManager
public @NonNull List<Page> getTopLevelPages(Space space)
PageManager
getTopLevelPages
in interface PageManager
public @NonNull ListBuilder<Page> getTopLevelPagesBuilder(Space space)
getTopLevelPagesBuilder
in interface PageManager
space
- the space in which to look for pagespublic @NonNull PageResponse<Page> getTopLevelPages(Space space, LimitedRequest pageRequest)
PageManagerInternal
getTopLevelPages
in interface PageManagerInternal
space
- the space to locate pages inpageRequest
- the pagination requestedpublic @NonNull PageResponse<Page> getChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManagerInternal
getChildren
in interface PageManagerInternal
page
- the page to find children forpageRequest
- the pagination requesteddepth
- the depth to return children topublic @NonNull PageResponse<Page> getDraftChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManager
getDraftChildren
in interface PageManager
page
- the page to find children forpageRequest
- the pagination requesteddepth
- the depth to return children topublic @NonNull PageResponse<Page> getAllChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManagerInternal
getAllChildren
in interface PageManagerInternal
page
- the page to find children forpageRequest
- the pagination requesteddepth
- the depth to return children topublic int removeStaleSharedDrafts()
PageManager
removeStaleSharedDrafts
in interface PageManager
public @Nullable BlogPost findPreviousBlogPost(String key, Date time)
findPreviousBlogPost
in interface PageManager
public @Nullable BlogPost findNextBlogPost(String key, Date time)
findNextBlogPost
in interface PageManager
@Deprecated public void trashPage(AbstractPage page)
trashPage
in interface PageManager
public final void trashPage(AbstractPage page, @NonNull DeleteContext deleteContext)
trashPage
in interface PageManager
page
- page to be trasheddeleteContext
- context a DeleteContext
holding additional parameters for the manager to use when trashing the page.public void restorePage(AbstractPage page)
PageManager
restorePage
in interface PageManager
page
- a trashed pagepublic void movePageToTopLevel(Page page, Space space)
PageManager
targetSpace
. If the top-level pages are manually ordered, the page
will be added to the end of the child pages.movePageToTopLevel
in interface PageManager
page
- the page to movespace
- the space to move the page topublic void moveBlogPostToTopLevel(BlogPost blogPost, Space space)
PageManager
targetSpace
.moveBlogPostToTopLevel
in interface PageManager
blogPost
- the blogPost to movespace
- the space to move the page topublic void movePageAfter(Page page, Page refPage)
PageManager
movePageAfter
in interface PageManager
page
- the page to moverefPage
- the page which the first page will be placed afterpublic void movePageBefore(Page page, Page refPage)
PageManager
movePageBefore
in interface PageManager
page
- the page to moverefPage
- the page which the first page will be placed beforepublic void movePageAsChild(Page page, Page newParent)
movePageAsChild
in interface PageManager
page
- the page to movenewParent
- the page which the first page will be made a child ofpublic void moveChildrenToNewParent(Page oldPage, Page newParent)
PageManager
The location of the children under their new parent is dependent on the new parent's existing order. If they are not explicitly ordered, the children will be in their default location in the list. If the new parent have an existing order, the children will be ordered under the new parent.
moveChildrenToNewParent
in interface PageManager
oldPage
- the page whose children you want to movenewParent
- the page whose the children will now belong topublic void setChildPageOrder(Page parentPage, List<Long> childIds)
PageManager
setChildPageOrder
in interface PageManager
parentPage
- the page for which children should be ordered.childIds
- children page IDs in the new orderpublic void revertChildPageOrder(Page parentPage)
PageManager
revertChildPageOrder
in interface PageManager
parentPage
- the page for which children should be unordered.public @NonNull List<ContentEntityObject> getOrderedXhtmlContentFromContentId(long startContentId, long endContentId, int maxRows)
PageManager
getOrderedXhtmlContentFromContentId
in interface PageManager
startContentId
- The minimum IDendContentId
- The maximum IDmaxRows
- The maximum number of rows to returnpublic int getCountOfLatestXhtmlContent(long endContentId)
PageManager
getCountOfLatestXhtmlContent
in interface PageManager
endContentId
- The maximum IDpublic long getHighestCeoId()
PageManager
getHighestCeoId
in interface PageManager
public @NonNull List<ContentEntityObject> getPreviousVersionsOfPageWithTaskId(long pageId, long taskId, int maxRows)
PageManager
getPreviousVersionsOfPageWithTaskId
in interface PageManager
pageId
- The ID of the latest version of the pagetaskId
- The task ID to look for in previous versionsmaxRows
- The maximum number of previous versions to returnpublic @Nullable AbstractPage getPageByVersion(AbstractPage mostRecentPage, int version)
PageManager
getPageByVersion
in interface PageManager
mostRecentPage
- - must specify the most recent recent version of the page (page must be associated with a space)version
- - historical version to retrievepublic @Nullable BlogPost getBlogPost(String spaceKey, String postTitle, Calendar day)
PageManager
Both the space key and page title matches are case-insensitive.
getBlogPost
in interface PageManager
public @Nullable BlogPost getBlogPost(String spaceKey, String postTitle, Calendar day, boolean eagerLoadComments)
PageManager
Both the space key and page title matches are case-insensitive.
getBlogPost
in interface PageManager
public @Nullable BlogPost getNewestBlogPost(@Nullable String spaceKey)
PageManager
getNewestBlogPost
in interface PageManager
spaceKey
- the key of the space to retrieve the most recently created blog post for.public @NonNull List getRecentlyAddedBlogPosts(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyAddedBlogPosts
in interface PageManager
maxCount
- the maximum number of blog posts to retrievespaceKey
- the key of the space to retrieve the posts from, or null to retrieve posts from all spacespublic @NonNull List getRecentlyAddedPages(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyAddedPages
in interface PageManager
maxCount
- the maximum number of pages to retrievespaceKey
- the key of the space to retrieve the pages from, or null to retrieve posts from all spacespublic @NonNull List getRecentlyUpdatedPages(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyUpdatedPages
in interface PageManager
maxCount
- the maximum number of pages to retrievespaceKey
- the key of the space to retrieve the pages from, or null to retrieve posts from all spacespublic @NonNull List getOrphanedPages(@Nullable String spaceKey)
PageManager
The orphaned pages search is not 100% accurate, as the algorithm used to track links doesn't account for all links. Hopefully this can be fixed with future versions of the wiki renderer that allow more accurate tracking of link destinations.
getOrphanedPages
in interface PageManager
spaceKey
- the key of the space to look for orphans in, or null to search all spacespublic @NonNull List<OutgoingLink> getUndefinedPages(@Nullable String spaceKey)
PageManager
The undefined pages search is not 100% accurate, as the algorithm used to track links doesn't account for all links. Hopefully this can be fixed with future versions of the wiki renderer that allow more accurate tracking of link destinations.
getUndefinedPages
in interface PageManager
spaceKey
- the key of the space to look for undefined pages in, or null to search all spacespublic final List<OutgoingLink> getUndefinedLinks(@Nullable String spaceKey)
PageManager
The undefined pages search is not 100% accurate, as the algorithm used to track links doesn't account for all links. Hopefully this can be fixed with future versions of the wiki renderer that allow more accurate tracking of link destinations.
getUndefinedLinks
in interface PageManager
spaceKey
- the key of the space to look for undefined pages in, or null to search all spacespublic @NonNull List getPermissionPages(Space space)
PageManager
getPermissionPages
in interface PageManager
space
- the space to searchpublic void saveContentEntity(ContentEntityObject obj, @Nullable SaveContext saveContext)
saveContentEntity
in interface ContentEntityManager
saveContentEntity
in class DefaultContentEntityManager
obj
- - the ContentEntityObject
to savesaveContext
- - a SaveContext
holding additional parameters for the manager to use when saving.DuplicateDataRuntimeException
- if the supplied page has a duplicate title.public void saveContentEntity(ContentEntityObject obj, @Nullable ContentEntityObject origObj, @Nullable SaveContext saveContext)
ContentEntityManager
saveContentEntity
in interface ContentEntityManager
saveContentEntity
in class DefaultContentEntityManager
saveContext
- - a SaveContext
holding additional parameters for the manager to use when saving.DuplicateDataRuntimeException
- if the supplied page has a duplicate title.public <T extends ContentEntityObject> void saveNewVersion(T current, Modification<T> modification, @Nullable SaveContext saveContext)
ContentEntityManager
manager.<Page>saveNewVersion(page, new Modification<Page>() { public void modify(Page page) { page.setTitle("foobar"); } }, new DefaultSaveContext());
saveNewVersion
in interface ContentEntityManager
saveNewVersion
in class DefaultContentEntityManager
T
- the type content. This ensures that the type of current is the same as the type passed to the modificationcurrent
- the current / latest versionmodification
- an implementation of Modification
which describes the state changes you requiresaveContext
- the save context (null if you have no specific requirements - or just use ContentEntityManager.saveNewVersion(ContentEntityObject, Modification)
).public void reconcileIfNeeded(AbstractPage content, @Nullable SaveContext saveContext)
PageManagerInternal
SynchronyRecoveryEvent
if collab editing is turned on and data recovery is needed.
Recovery is needed when:
content
is the latest version of the page or blog post AND'sync-rev-source'
content property is not empty and not equals to neither 'synchrony'
or 'synchrony-ack'
) ANDsaveContext
is not equal to PageUpdateTrigger.LINK_REFACTORING
reconcileIfNeeded
in interface PageManagerInternal
content
- content to be recoveredsaveContext
- context of operationprotected void publishCreateEvent(ContentEntityObject obj)
DefaultContentEntityManager
*CreateEvents
s.
Specific content entity object manager that need to publish those events should override this method.publishCreateEvent
in class DefaultContentEntityManager
obj
- the created content entity objectprotected void publishCreateEvent(ContentEntityObject obj, @Nullable SaveContext saveContext)
publishCreateEvent
in class DefaultContentEntityManager
protected void publishUpdateEvent(ContentEntityObject obj, @Nullable ContentEntityObject origObj, @Nullable SaveContext saveContext)
DefaultContentEntityManager
*UpdateEvent
s.
Specific content entity object manager that need to publish those events should override this method.publishUpdateEvent
in class DefaultContentEntityManager
obj
- the updated content entity objectorigObj
- the old version of the content entity object, for history purposesaveContext
- the associated SaveContext
protected void publishRemoveEvent(ContentEntityObject obj)
DefaultContentEntityManager
*RemoveEvent
s.
Specific content entity object manager that need to publish those events should override this method.publishRemoveEvent
in class DefaultContentEntityManager
obj
- the removed content entity objectpublic int getAuthoredPagesCountByUser(String username)
PageManager
getAuthoredPagesCountByUser
in interface PageManager
username
- the username of the user to search forpublic boolean isPageRecentlyUpdatedForUser(Page page, @Nullable com.atlassian.user.User user)
PageManager
isPageRecentlyUpdatedForUser
in interface PageManager
page
- the page in questionuser
- the user or null if it is the anonymous userprotected @NonNull BodyContent getBodyContentForRevert(ContentEntityObject historicalVersion)
getBodyContentForRevert
in class DefaultContentEntityManager
public @NonNull List getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
PageManager
getPagesCreatedOrUpdatedSinceDate
in interface PageManager
previousLoginDate
- the date the pages must have been created or edited afterpublic @NonNull List getBlogPosts(String spaceKey, Calendar postingDate, int period)
PageManager
getBlogPosts
in interface PageManager
spaceKey
- the space to look for posts inpostingDate
- a calendar object representing the date range we are looking for. Any part of
the calendar more specific than the supplied period will be ignored.period
- one of the Calendar constants specifying the granularity of the search.
currently, only Calendar.MONTH and Calendar.DATE are supportedpublic @NonNull List getBlogPosts(String spaceKey, Calendar postingDate, int period, int startIndex, int maxResultCount)
PageManager
getBlogPosts
in interface PageManager
spaceKey
- the space to look for posts inpostingDate
- a calendar object representing the date range we are looking for. Any part of
the calendar more specific than the supplied period will be ignored.period
- one of the Calendar constants specifying the granularity of the search.
currently, only Calendar.MONTH and Calendar.DATE are supportedstartIndex
- start number of postsmaxResultCount
- Maximum number of posts to returnpublic long getBlogPostCount(String spaceKey, @Nullable Calendar postingDate, int period)
PageManager
getBlogPostCount
in interface PageManager
spaceKey
- the space to look for posts inpostingDate
- a calendar object representing the date range we are looking for. Any part of
the calendar more specific than the supplied period will be ignored.period
- one of the Calendar constants specifying the granularity of the search.
currently, only Calendar.MONTH and Calendar.DATE are supportedpublic long getPageCount(@NonNull String spaceKey)
PageManager
getPageCount
in interface PageManager
spaceKey
- the space to look for posts inpublic int countCurrentPages()
PageManager
countCurrentPages
in interface PageManager
public int countDraftPages()
PageManager
countDraftPages
in interface PageManager
public int countPagesWithUnpublishedChanges()
PageManager
countPagesWithUnpublishedChanges
in interface PageManager
public Optional<PageStatisticsDTO> getPageStatistics()
PageManager
getPageStatistics
in interface PageManager
public int countCurrentBlogs()
PageManager
countCurrentBlogs
in interface PageManager
public int countDraftBlogs()
PageManager
countDraftBlogs
in interface PageManager
public int countBlogsWithUnpublishedChanges()
PageManager
countBlogsWithUnpublishedChanges
in interface PageManager
public Optional<BlogPostStatisticsDTO> getBlogStatistics()
PageManager
getBlogStatistics
in interface PageManager
public @NonNull Set<Date> getYearsWithBlogPosts(String spaceKey)
PageManager
getYearsWithBlogPosts
in interface PageManager
spaceKey
- the key of the space to look for blog posts in.public @NonNull Set<Date> getMonthsWithBlogPosts(String spaceKey, Calendar year)
PageManager
getMonthsWithBlogPosts
in interface PageManager
spaceKey
- the key of the space to look for blog posts in.year
- the year to examine blog posts for, represented as a Calendar with the year field specified.public @NonNull List<Page> getPages(Space space, boolean currentOnly)
getPages
in interface PageManager
public @NonNull List<Page> getPagesWithPermissions(Space space)
PageManager
getPagesWithPermissions
in interface PageManager
@Deprecated public @NonNull PageResponse<Page> getPages(Space space, LimitedRequest pageRequest, com.google.common.base.Predicate<? super Page>... filters)
PageManagerInternal.getFilteredPages(Space, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getPages
in interface PageManagerInternal
space
- the space to locate pages inpageRequest
- the pagination requestedfilters
- a Predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<Page> getPages(LimitedRequest pageRequest, com.google.common.base.Predicate<? super Page>... filters)
PageManagerInternal.getFilteredPages(LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getPages
in interface PageManagerInternal
pageRequest
- the pagination requestedfilters
- a Predicate to apply to the results before returning@Deprecated public @NonNull PageResponse<BlogPost> getBlogPosts(Space space, LimitedRequest pageRequest, com.google.common.base.Predicate<? super BlogPost>... filters)
PageManagerInternal.getFilteredBlogPosts(Space, LimitedRequest, java.util.function.Predicate[])
PageManagerInternal
getBlogPosts
in interface PageManagerInternal
space
- the space to locate blog posts inpageRequest
- the pagination requestedpublic @NonNull Collection<Long> getPageIds(Space space)
PageManager
getPageIds
in interface PageManager
space
- space to retrieve page ids from, can not be null.public @NonNull List getPagesStartingWith(Space space, String s)
getPagesStartingWith
in interface PageManager
public @Nullable BlogPost findPreviousBlogPost(BlogPost post)
findPreviousBlogPost
in interface PageManager
public @Nullable BlogPost findNextBlogPost(BlogPost post)
findNextBlogPost
in interface PageManager
@Deprecated public NotificationManager getNotificationManager()
getNotificationManager
in interface PageManager
getNotificationManager
in class DefaultContentEntityManager
@Deprecated public AttachmentManager getAttachmentManager()
getAttachmentManager
in class DefaultContentEntityManager
@Deprecated public PermissionManager getPermissionManager()
@Deprecated public void setNotificationManager(NotificationManager notificationManager)
setNotificationManager
in interface PageManager
Copyright © 2003–2020 Atlassian. All rights reserved.