@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 |
collaborativeEditingHelperITERATE_ALL| Constructor and Description |
|---|
DefaultPageManager(PageDao 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(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
|
BlogPost |
findNextBlogPost(BlogPost post) |
BlogPost |
findNextBlogPost(String key,
Date time) |
BlogPost |
findPreviousBlogPost(BlogPost post) |
BlogPost |
findPreviousBlogPost(String key,
Date time) |
AbstractPage |
getAbstractPage(long id)
Retrieve the AbstractPage subclass with the given content ID.
|
PageResponse<AbstractPage> |
getAbstractPages(org.joda.time.DateTime date,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns pages and blog posts created on the specified date, that are in any of the given statuses, and also match the given predicate, limited to the page request.
|
List<AbstractPage> |
getAbstractPages(Iterable<Long> ids)
Retrieve a collection of the AbstractPage subclass with the given content IDs.
|
PageResponse<AbstractPage> |
getAbstractPages(List<ContentType> contentTypes,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns all content in the instance within any of the specified statuses, limited to the specified content types and the pagination request.
|
PageResponse<AbstractPage> |
getAbstractPages(Space space,
List<ContentType> contentTypes,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns all content in the space within any of the specified statuses and content types, limited to the pagination request.
|
PageResponse<AbstractPage> |
getAbstractPages(Space space,
String title,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns pages and blog posts that belong to the space, exactly match the given title, are in any of the specified statuses, and match the given predicate, limited to the pagination request.
|
PageResponse<AbstractPage> |
getAbstractPages(String title,
List<ContentStatus> statuses,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns pages and blog posts that exactly match the given title, are in any of the specified statuses, and match the given predicate, limited to the pagination request.
|
PageResponse<AbstractPage> |
getAbstractPagesByCreationDate(org.joda.time.DateTime date,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns the pages and blog posts created on the given date, that also match the given predicate, limited to the page request.
|
PageResponse<AbstractPage> |
getAbstractPagesByTitle(String title,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super AbstractPage>... filter)
Returns all current pages and blog posts that exactly match the given title, that also match the given predicate, limited to the pagination request.
|
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
|
BlogPost |
getBlogPost(long id)
Retrieve the blog post with the given content ID.
|
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.
|
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,
Calendar postingDate,
int period)
Get total number of blogPost.
|
List<BlogPost> |
getBlogPosts(Space space,
boolean currentOnly) |
PageResponse<BlogPost> |
getBlogPosts(Space space,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super BlogPost>... filters)
Returns all the current blog posts in the space, limited to the pagination request.
|
List |
getBlogPosts(String spaceKey,
Calendar postingDate,
int period)
Get list of blogPost by Date.
|
List |
getBlogPosts(String spaceKey,
Calendar postingDate,
int period,
int startIndex,
int maxResultCount)
Get list of blogPost by Date.
|
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 BodyContent |
getBodyContentForRevert(ContentEntityObject historicalVersion) |
AbstractPage |
getById(long id)
Override default implementation to explicitly return an AbstractPage.
|
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.
|
Collection<Long> |
getDescendantIds(Page page)
Finds the ids of a page's descendants
|
List<Page> |
getDescendants(Page page)
Finds all descendant pages of the given page
|
List<String> |
getDescendantTitles(Page page)
Finds all descendant titles of the given page
|
Collection |
getDescendentIds(Page page) |
List |
getDescendents(Page page)
Deprecated.
since 5.5.1. Use
getDescendants(Page) |
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.
|
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.
|
BlogPost |
getNewestBlogPost(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.
|
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.
|
List |
getOrphanedPages(String spaceKey)
Retrieve a list of pages in a given space that are not linked to.
|
Page |
getPage(long id)
Retrieve the page with the given content ID.
|
Page |
getPage(String spaceKey,
String pageTitle)
Retrieve the latest version of a page by its space key and title.
|
Page |
getPage(String spaceKey,
String pageTitle,
boolean eagerLoadComments)
Deprecated.
|
AbstractPage |
getPageByVersion(AbstractPage mostRecentPage,
int version)
returns the historical version of a page
|
long |
getPageCount(String spaceKey)
Get total number of current pages in a space
|
Collection<Long> |
getPageIds(Space space)
Get the ids of all pages (current and historical) in the given space.
|
List |
getPageInTrash(String spaceKey,
String title) |
List<Page> |
getPages(Iterable<Long> ids)
Retrieve a collection of pages with the given content IDs.
|
PageResponse<Page> |
getPages(LimitedRequest pageRequest,
com.google.common.base.Predicate<? super Page>... filters)
Returns all the current pages in this instance of confluence, limited to the pagination request.
|
List<Page> |
getPages(Space space,
boolean currentOnly) |
PageResponse<Page> |
getPages(Space space,
LimitedRequest pageRequest,
com.google.common.base.Predicate<? super Page>... filters)
Returns all the current pages in the space, limited to the pagination request.
|
List |
getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
Get the list of all pages created or updated since a particular date.
|
List |
getPagesStartingWith(Space space,
String s) |
Optional<PageStatisticsDTO> |
getPageStatistics()
Fetches statistics about pages
|
List<Page> |
getPagesWithPermissions(Space space)
Get all current pages in a space and eagerly fetch permissions at the same time.
|
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.
|
List |
getPermissionPages(Space space)
Retrieve all pages within a particular space that have page level permissions applied to them.
|
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.
|
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.
|
List |
getPossibleRedirects(String pageTitle) |
List<AbstractPage> |
getPossibleRedirectsForSpace(Space space,
String pageTitle) |
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.
|
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.
|
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.
|
List |
getRecentlyAddedBlogPosts(int maxPosts,
Date timeSince,
String spaceKey) |
List |
getRecentlyAddedBlogPosts(int maxCount,
String spaceKey)
Retrieve the most recently created blog posts in a given space.
|
List |
getRecentlyAddedPages(int maxCount,
String spaceKey)
Retrieve the most recently created pages in a given space.
|
List |
getRecentlyUpdatedPages(int maxCount,
String spaceKey)
Retrieve the most recently modified pages in a given space.
|
List<Page> |
getTopLevelPages(Space space)
Get all the pages in a space that do not have a parent page.
|
PageResponse<Page> |
getTopLevelPages(Space space,
LimitedRequest pageRequest)
Returns the current top-level pages in a space, limited to the pagination requested.
|
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(String spaceKey)
Retrieve a list of link destinations in a given space that do not have pages.
|
List<OutgoingLink> |
getUndefinedPages(String spaceKey)
Retrieve a list of link destinations in a given space that do not have pages.
|
List<Page> |
getUnsortedTopLevelPages(Space space) |
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,
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
*CreateEventss. |
protected void |
publishCreateEvent(ContentEntityObject obj,
SaveContext saveContext) |
protected void |
publishRemoveEvent(ContentEntityObject obj)
This method publishes
*RemoveEvents. |
protected void |
publishUpdateEvent(ContentEntityObject obj,
ContentEntityObject origObj,
SaveContext saveContext)
This method publishes
*UpdateEvents. |
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,
ContentEntityObject origObj,
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,
SaveContext saveContext) |
<T extends ContentEntityObject> |
saveNewVersion(T current,
Modification<T> modification,
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,
DeleteContext deleteContext) |
void |
updatePageInAncestorCollections(Page page,
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, setAttachmentManager, suppressNotificationsOnEventIfRequired, updateContentLinkingTo, updateContentLinkingTo, updateOutgoingLinksInContent, updateOutgoingLinksInContent, updateSingleContentLinkinTo, updateSingleContentLinkinTo, updateSingleContentLinkinToclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetAttachmentManagergetContributionStatusByUser, getNextVersion, getOtherVersion, getPageAndBlogPostsVersionsLastEditedByUser, getPageAndBlogPostsVersionsLastEditedByUserIncludingDrafts, getPreviousVersion, getRecentlyAddedEntities, getRecentlyModifiedEntities, getRecentlyModifiedEntitiesForUser, getRecentlyModifiedForChangeDigest, getVersionHistorySummaries, getVersionsLastEditedByUser, refreshContentEntity, removeContentEntity, removeHistoricalVersion, revertContentEntityBackToVersion, saveNewVersion, updateContentLinkingTo, updateOutgoingLinksInContent, updateSingleContentLinkinTo, updateSingleContentLinkinTopublic static final String EXCERPT_KEY
public static final String STALE_DRAFT_REMOVE_BATCH_SIZE
public DefaultPageManager(PageDao 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)
PageManagerInternalcreateDraft in interface PageManagerInternalcontentType - - content type of the draft to create: page or blogpostspaceKey - - space key of the space to create the draft intoContentEntityObject.DRAFTpublic AbstractPage createDraft(String contentType, String spaceKey, long parentPageId)
PageManagerInternalcreateDraft in interface PageManagerInternalcontentType - - 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)
PageManagerInternalcreateOrFindDraftFor in interface PageManagerInternalpage - the AbstractPage to retrieve the draft forContentEntityObject.DRAFTpublic void renamePage(AbstractPage page, String newPageTitle)
PageManagerrenamePage in interface PageManagerpage - to renamenewPageTitle - new title for pagepublic void renamePageWithoutNotifications(AbstractPage page, String newPageTitle)
PageManagerrenamePageWithoutNotifications in interface PageManagerpage - to renamenewPageTitle - new title for page@Nonnull public List<BlogPost> getBlogPosts(Space space, boolean currentOnly)
getBlogPosts in interface PageManager@Nonnull public List<AbstractPage> getPossibleRedirectsForSpace(Space space, String pageTitle)
getPossibleRedirectsForSpace in interface PageManager@Nonnull public List<AbstractPage> getPossibleRedirectsInSpace(Space space, String pageTitle, int maxResultCount)
PageManagergetPossibleRedirectsInSpace in interface PageManagerspace - Space to search. Must not be null.pageTitle - title of a page in a previous version.maxResultCount - maximum pages to return@Nonnull public List<AbstractPage> getPossibleBlogRedirectsInSpace(Space space, String blogTitle, int maxResultCount)
PageManagergetPossibleBlogRedirectsInSpace in interface PageManagerspace - Space to search. Must not be null.blogTitle - title of a blog in a previous version.maxResultCount - maximum blogs to return@Nonnull public List<AbstractPage> getPossibleBlogRedirectsNotInSpace(Space space, String blogTitle, int maxResultCount)
PageManagergetPossibleBlogRedirectsNotInSpace in interface PageManagerspace - Space to exclude from search. If null, all spaces are searched.blogTitle - title of a blog post to locatemaxResultCount - maximum blog posts to return@Nonnull public List<AbstractPage> getPossibleRedirectsNotInSpace(Space space, String pageTitle, int maxResultCount)
PageManagergetPossibleRedirectsNotInSpace in interface PageManagerspace - Space to exclude from search. If null, all spaces are searched.pageTitle - title of a page in a previous version.maxResultCount - maximum pages to return@Nonnull public List getPossibleRedirects(String pageTitle)
getPossibleRedirects in interface PageManager@Nonnull public List getRecentlyAddedBlogPosts(int maxPosts, @Nullable Date timeSince, String spaceKey)
getRecentlyAddedBlogPosts in interface PageManager@Nullable public Page getPage(long id)
PageManagergetPage in interface PageManagerid - the database content ID for the page to return@Nonnull public List<Page> getPages(Iterable<Long> ids)
PageManagergetPages in interface PageManagerids - an Iterable of content IDs for the pages to return@Nullable public AbstractPage getAbstractPage(long id)
PageManagergetAbstractPage in interface PageManagerid - the database content ID for the page to return@Nonnull public List<AbstractPage> getAbstractPages(Iterable<Long> ids)
PageManagergetAbstractPages in interface PageManagerids - an Iterable of content IDs for the pages or blogposts to return@Nullable public AbstractPage getById(long id)
getById in interface ContentEntityManagergetById in class DefaultContentEntityManager@Nullable public BlogPost getBlogPost(long id)
PageManagergetBlogPost in interface PageManagerid - the database content ID for the blog post to return@Nullable public Page getPage(String spaceKey, String pageTitle)
PageManagerBoth the space key and page title matches are case-insensitive.
getPage in interface PageManager@Nullable public Page getPageWithComments(String spaceKey, String pageTitle)
PageManagerBoth the space key and page title matches are case-insensitive.
getPageWithComments in interface PageManager@Nonnull public PageResponse<AbstractPage> getAbstractPagesByTitle(String title, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPagesByTitle in interface PageManagerInternaltitle - the title of the page or blog post to matchpageRequest - the pagination requestedfilter - a predicate to apply to the results before returning@Nonnull public PageResponse<AbstractPage> getAbstractPagesByCreationDate(org.joda.time.DateTime date, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPagesByCreationDate in interface PageManagerInternaldate - the creation date of the page or blog postpageRequest - the pagination requestfilter - a predicate to apply to the results before returning@Nonnull public PageResponse<AbstractPage> getAbstractPages(List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPages in interface PageManagerInternalcontentTypes - 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@Nonnull public PageResponse<AbstractPage> getAbstractPages(Space space, List<ContentType> contentTypes, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPages in interface PageManagerInternalspace - 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@Nonnull public PageResponse<AbstractPage> getAbstractPages(org.joda.time.DateTime date, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPages in interface PageManagerInternaldate - 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@Nonnull public PageResponse<AbstractPage> getAbstractPages(Space space, String title, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPages in interface PageManagerInternalspace - 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@Nonnull public PageResponse<AbstractPage> getAbstractPages(String title, List<ContentStatus> statuses, LimitedRequest pageRequest, com.google.common.base.Predicate<? super AbstractPage>... filter)
PageManagerInternalgetAbstractPages in interface PageManagerInternaltitle - 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)
PageManagerInternalfindContentPermissionSummaryByIds in interface PageManagerInternalids - of Contentpublic int getCommentCountOnPage(long pageId)
PageManagergetCommentCountOnPage in interface PageManagerpageId - the id to check for comments on@Deprecated @Nullable public Page getPage(String spaceKey, String pageTitle, boolean eagerLoadComments)
PageManager
Both the space key and page title matches are case-insensitive.
getPage in interface PageManager@Nonnull public List getPageInTrash(String spaceKey, String title)
getPageInTrash in interface PageManager@Nonnull public List<BlogPost> getBlogPostsInTrash(String spaceKey, String title)
PageManagergetBlogPostsInTrash in interface PageManagerspaceKey - 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@Nonnull public List<Page> getDescendants(Page page)
PageManagergetDescendants in interface PageManager@Nonnull public List<String> getDescendantTitles(Page page)
PageManagergetDescendantTitles in interface PageManager@Nonnull public List getDescendents(Page page)
getDescendants(Page)getDescendents in interface PageManagerpublic void updatePageInAncestorCollections(Page page, @Nullable Page newParent)
PageManagerupdatePageInAncestorCollections in interface PageManagerpage - the page being updated with new ancestorsnewParent - the new parent page of the page being updatedpublic void removePageFromAncestorCollections(Page page)
PageManagerremovePageFromAncestorCollections in interface PageManagerpublic void removeAllPages(Space space)
PageManagerThis 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 PageManagerspace - the space to remove pages from.public void removeAllPages(Space space, com.atlassian.core.util.ProgressMeter progress)
removeAllPages in interface PageManagerspace - 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 PageManagerpublic void refreshPage(ContentEntityObject page)
PageManagerrefreshPage in interface PageManagerpage - the page to refreshpublic void deepCopyPage(PageCopyOptions pageCopyOptions, Page originalPage, Page destinationPage)
PageManagerdeepCopyPage in interface PageManagerpageCopyOptions - hint for us how we should copy page. Need to have READ permission on this page and all his child pagesoriginalPage - source page. Need to have CREATE permission on itdestinationPage - destination pagepublic final void deepDeletePage(PageDeleteOptions options, Page targetPage)
PageManagerdeepDeletePage in interface PageManageroptions - options for bulk delete pagestargetPage - target page hierarchy to be deletedpublic int countPagesInSubtree(Page page)
PageManagercountPagesInSubtree in interface PageManager@Nonnull public Collection<Long> getDescendantIds(Page page)
PageManagergetDescendantIds in interface PageManager@Nonnull public Collection getDescendentIds(Page page)
getDescendentIds in interface PageManager@Nonnull public List<Page> getTopLevelPages(Space space)
PageManagergetTopLevelPages in interface PageManager@Nonnull public ListBuilder<Page> getTopLevelPagesBuilder(Space space)
getTopLevelPagesBuilder in interface PageManagerspace - the space in which to look for pages@Nonnull public PageResponse<Page> getTopLevelPages(Space space, LimitedRequest pageRequest)
PageManagerInternalgetTopLevelPages in interface PageManagerInternalspace - the space to locate pages inpageRequest - the pagination requested@Nonnull public PageResponse<Page> getChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManagerInternalgetChildren in interface PageManagerInternalpage - the page to find children forpageRequest - the pagination requesteddepth - the depth to return children to@Nonnull public PageResponse<Page> getDraftChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManagergetDraftChildren in interface PageManagerpage - the page to find children forpageRequest - the pagination requesteddepth - the depth to return children to@Nonnull public PageResponse<Page> getAllChildren(Page page, LimitedRequest pageRequest, Depth depth)
PageManagerInternalgetAllChildren in interface PageManagerInternalpage - the page to find children forpageRequest - the pagination requesteddepth - the depth to return children topublic int removeStaleSharedDrafts()
PageManagerremoveStaleSharedDrafts in interface PageManager@Nullable public BlogPost findPreviousBlogPost(String key, Date time)
findPreviousBlogPost in interface PageManager@Nullable public BlogPost findNextBlogPost(String key, Date time)
findNextBlogPost in interface PageManager@Deprecated public void trashPage(AbstractPage page)
trashPage in interface PageManagerpublic final void trashPage(AbstractPage page, @Nonnull DeleteContext deleteContext)
trashPage in interface PageManagerpage - page to be trasheddeleteContext - context a DeleteContext holding additional parameters for the manager to use when trashing the page.public void restorePage(AbstractPage page)
PageManagerrestorePage in interface PageManagerpage - a trashed pagepublic void movePageToTopLevel(Page page, Space space)
PageManagertargetSpace. If the top-level pages are manually ordered, the page
will be added to the end of the child pages.movePageToTopLevel in interface PageManagerpage - the page to movespace - the space to move the page topublic void moveBlogPostToTopLevel(BlogPost blogPost, Space space)
PageManagertargetSpace.moveBlogPostToTopLevel in interface PageManagerblogPost - the blogPost to movespace - the space to move the page topublic void movePageAfter(Page page, Page refPage)
PageManagermovePageAfter in interface PageManagerpage - the page to moverefPage - the page which the first page will be placed afterpublic void movePageBefore(Page page, Page refPage)
PageManagermovePageBefore in interface PageManagerpage - the page to moverefPage - the page which the first page will be placed beforepublic void movePageAsChild(Page page, Page newParent)
movePageAsChild in interface PageManagerpage - the page to movenewParent - the page which the first page will be made a child ofpublic void moveChildrenToNewParent(Page oldPage, Page newParent)
PageManagerThe 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 PageManageroldPage - the page whose children you want to movenewParent - the page whose the children will now belong topublic void setChildPageOrder(Page parentPage, List<Long> childIds)
PageManagersetChildPageOrder in interface PageManagerparentPage - the page for which children should be ordered.childIds - children page IDs in the new orderpublic void revertChildPageOrder(Page parentPage)
PageManagerrevertChildPageOrder in interface PageManagerparentPage - the page for which children should be unordered.@Nonnull public List<ContentEntityObject> getOrderedXhtmlContentFromContentId(long startContentId, long endContentId, int maxRows)
PageManagergetOrderedXhtmlContentFromContentId in interface PageManagerstartContentId - The minimum IDendContentId - The maximum IDmaxRows - The maximum number of rows to returnpublic int getCountOfLatestXhtmlContent(long endContentId)
PageManagergetCountOfLatestXhtmlContent in interface PageManagerendContentId - The maximum IDpublic long getHighestCeoId()
PageManagergetHighestCeoId in interface PageManager@Nonnull public List<ContentEntityObject> getPreviousVersionsOfPageWithTaskId(long pageId, long taskId, int maxRows)
PageManagergetPreviousVersionsOfPageWithTaskId in interface PageManagerpageId - 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 return@Nullable public AbstractPage getPageByVersion(AbstractPage mostRecentPage, int version)
PageManagergetPageByVersion in interface PageManagermostRecentPage - - must specify the most recent recent version of the page (page must be associated with a space)version - - historical version to retrieve@Nullable public BlogPost getBlogPost(String spaceKey, String postTitle, Calendar day)
PageManagerBoth the space key and page title matches are case-insensitive.
getBlogPost in interface PageManager@Nullable public BlogPost getBlogPost(String spaceKey, String postTitle, Calendar day, boolean eagerLoadComments)
PageManagerBoth the space key and page title matches are case-insensitive.
getBlogPost in interface PageManager@Nullable public BlogPost getNewestBlogPost(@Nullable String spaceKey)
PageManagergetNewestBlogPost in interface PageManagerspaceKey - the key of the space to retrieve the most recently created blog post for.@Nonnull public List getRecentlyAddedBlogPosts(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyAddedBlogPosts in interface PageManagermaxCount - 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 spaces@Nonnull public List getRecentlyAddedPages(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyAddedPages in interface PageManagermaxCount - the maximum number of pages to retrievespaceKey - the key of the space to retrieve the pages from, or null to retrieve posts from all spaces@Nonnull public List getRecentlyUpdatedPages(int maxCount, @Nullable String spaceKey)
PageManager
For queries like this, you're probably much better off using the SearchManager
getRecentlyUpdatedPages in interface PageManagermaxCount - the maximum number of pages to retrievespaceKey - the key of the space to retrieve the pages from, or null to retrieve posts from all spaces@Nonnull public List getOrphanedPages(@Nullable String spaceKey)
PageManagerThe 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 PageManagerspaceKey - the key of the space to look for orphans in, or null to search all spaces@Nonnull public List<OutgoingLink> getUndefinedPages(@Nullable String spaceKey)
PageManagerThe 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 PageManagerspaceKey - the key of the space to look for undefined pages in, or null to search all spacespublic final List<OutgoingLink> getUndefinedLinks(@Nullable String spaceKey)
PageManagerThe 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 PageManagerspaceKey - the key of the space to look for undefined pages in, or null to search all spaces@Nonnull public List getPermissionPages(Space space)
PageManagergetPermissionPages in interface PageManagerspace - the space to searchpublic void saveContentEntity(ContentEntityObject obj, @Nullable SaveContext saveContext)
saveContentEntity in interface ContentEntityManagersaveContentEntity in class DefaultContentEntityManagerobj - - 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)
ContentEntityManagersaveContentEntity in interface ContentEntityManagersaveContentEntity in class DefaultContentEntityManagersaveContext - - 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 ContentEntityManagersaveNewVersion in class DefaultContentEntityManagerT - 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)).protected void publishCreateEvent(ContentEntityObject obj)
DefaultContentEntityManager*CreateEventss.
Specific content entity object manager that need to publish those events should override this method.publishCreateEvent in class DefaultContentEntityManagerobj - the created content entity objectprotected void publishCreateEvent(ContentEntityObject obj, @Nullable SaveContext saveContext)
publishCreateEvent in class DefaultContentEntityManagerprotected void publishUpdateEvent(ContentEntityObject obj, @Nullable ContentEntityObject origObj, @Nullable SaveContext saveContext)
DefaultContentEntityManager*UpdateEvents.
Specific content entity object manager that need to publish those events should override this method.publishUpdateEvent in class DefaultContentEntityManagerobj - the updated content entity objectorigObj - the old version of the content entity object, for history purposesaveContext - the associated SaveContextprotected void publishRemoveEvent(ContentEntityObject obj)
DefaultContentEntityManager*RemoveEvents.
Specific content entity object manager that need to publish those events should override this method.publishRemoveEvent in class DefaultContentEntityManagerobj - the removed content entity objectpublic int getAuthoredPagesCountByUser(String username)
PageManagergetAuthoredPagesCountByUser in interface PageManagerusername - the username of the user to search forpublic boolean isPageRecentlyUpdatedForUser(Page page, @Nullable com.atlassian.user.User user)
PageManagerisPageRecentlyUpdatedForUser in interface PageManagerpage - the page in questionuser - the user or null if it is the anonymous user@Nonnull protected BodyContent getBodyContentForRevert(ContentEntityObject historicalVersion)
getBodyContentForRevert in class DefaultContentEntityManager@Nonnull public List getPagesCreatedOrUpdatedSinceDate(Date previousLoginDate)
PageManagergetPagesCreatedOrUpdatedSinceDate in interface PageManagerpreviousLoginDate - the date the pages must have been created or edited after@Nonnull public List getBlogPosts(String spaceKey, Calendar postingDate, int period)
PageManagergetBlogPosts in interface PageManagerspaceKey - 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 supported@Nonnull public List getBlogPosts(String spaceKey, Calendar postingDate, int period, int startIndex, int maxResultCount)
PageManagergetBlogPosts in interface PageManagerspaceKey - 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)
PageManagergetBlogPostCount in interface PageManagerspaceKey - 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)
PageManagergetPageCount in interface PageManagerspaceKey - the space to look for posts inpublic int countCurrentPages()
PageManagercountCurrentPages in interface PageManagerpublic int countDraftPages()
PageManagercountDraftPages in interface PageManagerpublic int countPagesWithUnpublishedChanges()
PageManagercountPagesWithUnpublishedChanges in interface PageManagerpublic Optional<PageStatisticsDTO> getPageStatistics()
PageManagergetPageStatistics in interface PageManagerpublic int countCurrentBlogs()
PageManagercountCurrentBlogs in interface PageManagerpublic int countDraftBlogs()
PageManagercountDraftBlogs in interface PageManagerpublic int countBlogsWithUnpublishedChanges()
PageManagercountBlogsWithUnpublishedChanges in interface PageManagerpublic Optional<BlogPostStatisticsDTO> getBlogStatistics()
PageManagergetBlogStatistics in interface PageManager@Nonnull public Set<Date> getYearsWithBlogPosts(String spaceKey)
PageManagergetYearsWithBlogPosts in interface PageManagerspaceKey - the key of the space to look for blog posts in.@Nonnull public Set<Date> getMonthsWithBlogPosts(String spaceKey, Calendar year)
PageManagergetMonthsWithBlogPosts in interface PageManagerspaceKey - 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.@Nonnull public List<Page> getPages(Space space, boolean currentOnly)
getPages in interface PageManager@Nonnull public List<Page> getPagesWithPermissions(Space space)
PageManagergetPagesWithPermissions in interface PageManager@Nonnull public PageResponse<Page> getPages(Space space, LimitedRequest pageRequest, com.google.common.base.Predicate<? super Page>... filters)
PageManagerInternalgetPages in interface PageManagerInternalspace - the space to locate pages inpageRequest - the pagination requestedfilters - a Predicate to apply to the results before returning@Nonnull public PageResponse<Page> getPages(LimitedRequest pageRequest, com.google.common.base.Predicate<? super Page>... filters)
PageManagerInternalgetPages in interface PageManagerInternalpageRequest - the pagination requestedfilters - a Predicate to apply to the results before returning@Nonnull public PageResponse<BlogPost> getBlogPosts(Space space, LimitedRequest pageRequest, com.google.common.base.Predicate<? super BlogPost>... filters)
PageManagerInternalgetBlogPosts in interface PageManagerInternalspace - the space to locate blog posts inpageRequest - the pagination requested@Nonnull public Collection<Long> getPageIds(Space space)
PageManagergetPageIds in interface PageManagerspace - space to retrieve page ids from, can not be null.@Nonnull public List getPagesStartingWith(Space space, String s)
getPagesStartingWith in interface PageManager@Nullable public BlogPost findPreviousBlogPost(BlogPost post)
findPreviousBlogPost in interface PageManager@Nullable public BlogPost findNextBlogPost(BlogPost post)
findNextBlogPost in interface PageManager@Deprecated public NotificationManager getNotificationManager()
getNotificationManager in interface PageManagergetNotificationManager in class DefaultContentEntityManager@Deprecated public AttachmentManager getAttachmentManager()
getAttachmentManager in interface PageManagergetAttachmentManager in class DefaultContentEntityManager@Deprecated public PermissionManager getPermissionManager()
@Deprecated public void setNotificationManager(NotificationManager notificationManager)
setNotificationManager in interface PageManagerCopyright © 2003–2019 Atlassian. All rights reserved.