public class DiscussionServiceImpl extends java.lang.Object implements DiscussionService
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
CANNED_QUERY_GET_CHILDREN |
protected static java.lang.String |
CANNED_QUERY_GET_CHILDREN_TARGETS |
protected static java.lang.String |
CANNED_QUERY_GET_TOPICS_WITH_POSTS |
static java.lang.String |
DISCUSSION_COMPONENT |
protected static int |
MAX_REPLIES_FETCH_SIZE |
| Constructor and Description |
|---|
DiscussionServiceImpl() |
| Modifier and Type | Method and Description |
|---|---|
PostInfo |
createPost(TopicInfo topic,
java.lang.String contents)
Creates a new
PostInfo in the given topic,
with the specified contents. |
PostInfo |
createReply(PostInfo parentPost,
java.lang.String contents)
Creates a new
PostInfo which is a reply to
the specified other post, with the given contents. |
TopicInfo |
createTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
java.lang.String title)
Creates a new
TopicInfo attached to the specified Node. |
TopicInfo |
createTopic(java.lang.String siteShortName,
java.lang.String title)
Creates a new
TopicInfo in the given site |
void |
deletePost(PostInfo post)
Deletes an existing
PostInfo from the repository |
void |
deleteTopic(TopicInfo topic)
Deletes an existing
TopicInfo from the repository |
org.alfresco.query.PagingResults |
findTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.lang.String username,
java.lang.String tag,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Searches for all topics attached to the specified Node, filtered
by username or tag, sorted by either oldest or newest topics first.
|
org.alfresco.query.PagingResults |
findTopics(java.lang.String siteShortName,
java.lang.String username,
java.lang.String tag,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Searches for all topics in a site, filtered by username or tag, sorted by
either oldest or newest topics first.
|
org.alfresco.util.Pair |
getForNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
|
PostInfo |
getMostRecentPost(TopicInfo topic)
Retrieves the newest (most recent) Post in a topic, be that
the Primary Post or a Reply.
|
PostInfo |
getPost(TopicInfo topic,
java.lang.String postName)
Retrieves an existing
PostInfo from the repository |
PostInfo |
getPrimaryPost(TopicInfo topic)
Retrieves the Primary (Root) Post in a topic, to which all
replies belong.
|
protected org.alfresco.service.cmr.repository.NodeRef |
getSiteDiscussionsContainer(java.lang.String siteShortName,
boolean create)
Fetches the Discussions Container on a site, creating as required if requested.
|
TopicInfo |
getTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
java.lang.String topicName)
Retrieves an existing
TopicInfo from the repository,
which is attached to the specified Node. |
TopicInfo |
getTopic(java.lang.String siteShortName,
java.lang.String topicName)
Retrieves an existing
TopicInfo from the repository,
which is within a site |
org.alfresco.query.PagingResults |
listHotTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Date since,
org.alfresco.query.PagingRequest paging)
Finds topics which have had replies since the specified date, and
returns them along with the count of replies since then.
|
org.alfresco.query.PagingResults |
listHotTopics(java.lang.String siteShortName,
java.util.Date since,
org.alfresco.query.PagingRequest paging)
Finds topics which have had replies since the specified date, and
returns them along with the count of replies since then.
|
PostWithReplies |
listPostReplies(PostInfo primaryPost,
int levels)
Retrieves all replies to a Post
|
PostWithReplies |
listPostReplies(TopicInfo topic,
int levels)
Retrieves all replies on a Topic
|
org.alfresco.query.PagingResults |
listPosts(TopicInfo topic,
org.alfresco.query.PagingRequest paging)
Retrieves all posts in a topic, ordered by creation date
|
org.alfresco.query.PagingResults |
listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, sorted by
either oldest or newest topics first.
|
org.alfresco.query.PagingResults |
listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Date from,
java.util.Date to,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, created in the
given date range, sorted by either oldest or newest topics first.
|
org.alfresco.query.PagingResults |
listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.lang.String username,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics attached to the specified Node, filtered by username,
sorted by either oldest or newest topics first.
|
org.alfresco.query.PagingResults |
listTopics(java.lang.String siteShortName,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, sorted by either oldest
or newest topics first.
|
org.alfresco.query.PagingResults |
listTopics(java.lang.String siteShortName,
java.util.Date from,
java.util.Date to,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, created in the given date range, sorted by
either oldest or newest topics first.
|
org.alfresco.query.PagingResults |
listTopics(java.lang.String siteShortName,
java.lang.String username,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
Retrieves all topics in a site, filtered by username, sorted by
either oldest or newest topics first.
|
void |
setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry cannedQueryRegistry)
Set the registry of
canned queries |
void |
setContentService(ContentService contentService) |
void |
setFileFolderService(FileFolderService fileFolderService) |
void |
setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService) |
void |
setNodeDAO(NodeDAO nodeDAO) |
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService) |
void |
setSearchService(org.alfresco.service.cmr.search.SearchService searchService) |
void |
setSiteService(SiteService siteService) |
void |
setTaggingService(TaggingService taggingService) |
void |
setTransactionService(TransactionService transactionService) |
PostInfo |
updatePost(PostInfo post)
Updates an existing
PostInfo in the repository. |
TopicInfo |
updateTopic(TopicInfo topic)
Updates an existing
TopicInfo in the repository. |
public static final java.lang.String DISCUSSION_COMPONENT
protected static final java.lang.String CANNED_QUERY_GET_CHILDREN
protected static final java.lang.String CANNED_QUERY_GET_CHILDREN_TARGETS
protected static final java.lang.String CANNED_QUERY_GET_TOPICS_WITH_POSTS
protected static final int MAX_REPLIES_FETCH_SIZE
public void setNodeDAO(NodeDAO nodeDAO)
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
public void setSiteService(SiteService siteService)
public void setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
public void setContentService(ContentService contentService)
public void setTaggingService(TaggingService taggingService)
public void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
public void setFileFolderService(FileFolderService fileFolderService)
public void setTransactionService(TransactionService transactionService)
public void setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry cannedQueryRegistry)
canned queriesprotected org.alfresco.service.cmr.repository.NodeRef getSiteDiscussionsContainer(java.lang.String siteShortName,
boolean create)
public TopicInfo getTopic(java.lang.String siteShortName, java.lang.String topicName)
DiscussionServiceTopicInfo from the repository,
which is within a sitegetTopic in interface DiscussionServicepublic TopicInfo getTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String topicName)
DiscussionServiceTopicInfo from the repository,
which is attached to the specified Node.
The parent Node should normally either be a Site Container, or a
ForumModel.TYPE_FORUMgetTopic in interface DiscussionServicepublic PostInfo getPost(TopicInfo topic, java.lang.String postName)
DiscussionServicePostInfo from the repositorygetPost in interface DiscussionServicepublic TopicInfo createTopic(java.lang.String siteShortName, java.lang.String title)
DiscussionServiceTopicInfo in the given sitecreateTopic in interface DiscussionServicepublic TopicInfo createTopic(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, java.lang.String title)
DiscussionServiceTopicInfo attached to the specified Node.
The parent Node should normally either be a Site Container, or a
ForumModel.TYPE_FORUMcreateTopic in interface DiscussionServicepublic PostInfo createPost(TopicInfo topic, java.lang.String contents)
DiscussionServicePostInfo in the given topic,
with the specified contents.
Normally only one post is created this way on a topic,
and the remainder of the posts are created as
replies to the DiscussionService.getPrimaryPost(TopicInfo)
primary post.createPost in interface DiscussionServicePostInfopublic PostInfo createReply(PostInfo parentPost, java.lang.String contents)
DiscussionServicePostInfo which is a reply to
the specified other post, with the given contents.
The link between the parent post and the reply is
created as part of this.createReply in interface DiscussionServicePostInfopublic TopicInfo updateTopic(TopicInfo topic)
DiscussionServiceTopicInfo in the repository.updateTopic in interface DiscussionServiceTopicInfopublic PostInfo updatePost(PostInfo post)
DiscussionServicePostInfo in the repository.updatePost in interface DiscussionServicePostInfopublic void deleteTopic(TopicInfo topic)
DiscussionServiceTopicInfo from the repositorydeleteTopic in interface DiscussionServicepublic void deletePost(PostInfo post)
DiscussionServicePostInfo from the repositorydeletePost in interface DiscussionServicepublic org.alfresco.util.Pair getForNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
DiscussionServiceTopicInfo or a PostInfo, returns
the objects wrapping the Node.
For a Topic, the 2nd half of the pair is null.
For a Post, both halves of the pair are set.
For anything else, the response is null.getForNodeRef in interface DiscussionServicepublic PostInfo getPrimaryPost(TopicInfo topic)
DiscussionServicegetPrimaryPost in interface DiscussionServicepublic PostInfo getMostRecentPost(TopicInfo topic)
DiscussionServicegetMostRecentPost in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
java.lang.String username,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.lang.String username,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(java.lang.String siteShortName,
java.util.Date from,
java.util.Date to,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Date from,
java.util.Date to,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listHotTopics(java.lang.String siteShortName,
java.util.Date since,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistHotTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listHotTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.util.Date since,
org.alfresco.query.PagingRequest paging)
DiscussionServicelistHotTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults findTopics(java.lang.String siteShortName,
java.lang.String username,
java.lang.String tag,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicefindTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults findTopics(org.alfresco.service.cmr.repository.NodeRef nodeRef,
java.lang.String username,
java.lang.String tag,
boolean sortAscending,
org.alfresco.query.PagingRequest paging)
DiscussionServicefindTopics in interface DiscussionServicepublic org.alfresco.query.PagingResults listPosts(TopicInfo topic, org.alfresco.query.PagingRequest paging)
DiscussionServicelistPosts in interface DiscussionServicepublic PostWithReplies listPostReplies(TopicInfo topic, int levels)
DiscussionServicelistPostReplies in interface DiscussionServicepublic PostWithReplies listPostReplies(PostInfo primaryPost, int levels)
DiscussionServicelistPostReplies in interface DiscussionServiceCopyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.