Class ConversationsServiceImpl
- java.lang.Object
-
- org.sakaiproject.conversations.impl.ConversationsServiceImpl
-
-
Field Summary
-
Fields inherited from interface org.sakaiproject.conversations.api.ConversationsService
POSTS_CACHE_NAME, PROP_DISABLE_DISCUSSIONS, PROP_MAX_THREAD_DEPTH, PROP_THREADS_PAGE_SIZE, REFERENCE_ROOT, SORT_NAME_ASCENDING, SORT_NAME_DESCENDING, SORT_POSTS_CREATED_ASCENDING, SORT_POSTS_CREATED_DESCENDING, SORT_REACTIONS_MADE_ASCENDING, SORT_REACTIONS_MADE_DESCENDING, SORT_TOPICS_CREATED_ASCENDING, SORT_TOPICS_CREATED_DESCENDING, SORT_TOPICS_VIEWED_ASCENDING, SORT_TOPICS_VIEWED_DESCENDING, STATS_CACHE_NAME, TOOL_ID
-
-
Constructor Summary
Constructors Constructor Description ConversationsServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbookmarkTopic(String topicId, boolean bookmarked)List<org.sakaiproject.conversations.api.model.Tag>createTags(List<org.sakaiproject.conversations.api.model.Tag> tags)booleancurrentUserCanViewComment(org.sakaiproject.conversations.api.model.ConversationsComment comment)booleancurrentUserCanViewPost(org.sakaiproject.conversations.api.model.ConversationsPost post)booleancurrentUserCanViewTopic(org.sakaiproject.conversations.api.model.ConversationsTopic topic)voiddeleteComment(String siteId, String commentId)voiddeletePost(String siteId, String topicId, String postId, boolean setTopicResolved)voiddeleteTag(Long tagId)voiddeleteTopic(String topicId)org.sakaiproject.conversations.api.beans.TopicTransferBeangetBlankTopic(String siteId)Optional<org.sakaiproject.conversations.api.beans.CommentTransferBean>getComment(String commentId)Optional<String>getCommentPortalUrl(String commentId)org.sakaiproject.conversations.api.model.ConvStatusgetConvStatusForSiteAndUser(String siteId, String userId)StringgetEntityPrefix()String[]getEventKeys()intgetNumberOfThreadPages(String siteId, String topicId)Optional<org.sakaiproject.conversations.api.beans.PostTransferBean>getPost(String postId)Optional<String>getPostPortalUrl(String topicId, String postId)Collection<org.sakaiproject.conversations.api.beans.PostTransferBean>getPostsByTopicId(String siteId, String topicId, Integer page, org.sakaiproject.conversations.api.PostSort postSort, String requestedPostId)org.sakaiproject.conversations.api.model.SettingsgetSettingsForSite(String siteId)Map<String,Object>getSiteStats(String siteId, Instant from, Instant to, int page, String sort)List<org.sakaiproject.conversations.api.model.Tag>getTagsForSite(String siteId)Optional<org.sakaiproject.conversations.api.beans.TopicTransferBean>getTopic(String topicId)Optional<String>getTopicPortalUrl(String topicId)List<org.sakaiproject.conversations.api.beans.TopicTransferBean>getTopicsForSite(String siteId)org.sakaiproject.conversations.api.beans.PostTransferBeanhidePost(String siteId, String topicId, String postId, boolean hidden)org.sakaiproject.conversations.api.model.ConversationsTopichideTopic(String topicId, boolean hidden, boolean needsModerator)voidinit()org.sakaiproject.conversations.api.beans.PostTransferBeanlockPost(String siteId, String topicId, String postId, boolean locked)org.sakaiproject.conversations.api.beans.TopicTransferBeanlockTopic(String topicId, boolean locked, boolean needsModerator)voidmarkPostsViewed(Set<String> postIds, String topicId)voidpinTopic(String topicId, boolean pinned)voidrecursivelyLockPosts(org.sakaiproject.conversations.api.model.ConversationsPost post, Boolean locked)org.sakaiproject.conversations.api.beans.CommentTransferBeansaveComment(org.sakaiproject.conversations.api.beans.CommentTransferBean commentBean)voidsaveConvStatus(org.sakaiproject.conversations.api.model.ConvStatus convStatus)org.sakaiproject.conversations.api.beans.PostTransferBeansavePost(org.sakaiproject.conversations.api.beans.PostTransferBean postBean, boolean sendMessage)Map<org.sakaiproject.conversations.api.Reaction,Integer>savePostReactions(String topicId, String postId, Map<org.sakaiproject.conversations.api.Reaction,Boolean> reactions)org.sakaiproject.conversations.api.model.SettingssaveSettings(org.sakaiproject.conversations.api.model.Settings settings)org.sakaiproject.conversations.api.model.TagsaveTag(org.sakaiproject.conversations.api.model.Tag tag)org.sakaiproject.conversations.api.beans.TopicTransferBeansaveTopic(org.sakaiproject.conversations.api.beans.TopicTransferBean topicBean, boolean sendMessage)Map<org.sakaiproject.conversations.api.Reaction,Integer>saveTopicReactions(String topicId, Map<org.sakaiproject.conversations.api.Reaction,Boolean> reactions)org.sakaiproject.conversations.api.beans.PostTransferBeanunUpvotePost(String siteId, String postId)voidupdate(Observable observable, Object arg)org.sakaiproject.conversations.api.beans.PostTransferBeanupvotePost(String siteId, String topicId, String postId)
-
-
-
Method Detail
-
init
public void init()
-
update
public void update(Observable observable, Object arg)
-
getEntityPrefix
public String getEntityPrefix()
-
getBlankTopic
public org.sakaiproject.conversations.api.beans.TopicTransferBean getBlankTopic(String siteId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getBlankTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getTopic
public Optional<org.sakaiproject.conversations.api.beans.TopicTransferBean> getTopic(String topicId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
currentUserCanViewTopic
public boolean currentUserCanViewTopic(org.sakaiproject.conversations.api.model.ConversationsTopic topic)
- Specified by:
currentUserCanViewTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
getTopicsForSite
public List<org.sakaiproject.conversations.api.beans.TopicTransferBean> getTopicsForSite(String siteId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getTopicsForSitein interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getTopicPortalUrl
public Optional<String> getTopicPortalUrl(String topicId)
- Specified by:
getTopicPortalUrlin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
getPostPortalUrl
public Optional<String> getPostPortalUrl(String topicId, String postId)
- Specified by:
getPostPortalUrlin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
getCommentPortalUrl
public Optional<String> getCommentPortalUrl(String commentId)
- Specified by:
getCommentPortalUrlin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
saveTopic
public org.sakaiproject.conversations.api.beans.TopicTransferBean saveTopic(org.sakaiproject.conversations.api.beans.TopicTransferBean topicBean, boolean sendMessage) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
saveTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
pinTopic
public void pinTopic(String topicId, boolean pinned) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
pinTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
lockTopic
public org.sakaiproject.conversations.api.beans.TopicTransferBean lockTopic(String topicId, boolean locked, boolean needsModerator) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
lockTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
recursivelyLockPosts
public void recursivelyLockPosts(org.sakaiproject.conversations.api.model.ConversationsPost post, Boolean locked)
-
hideTopic
public org.sakaiproject.conversations.api.model.ConversationsTopic hideTopic(String topicId, boolean hidden, boolean needsModerator) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
hideTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
bookmarkTopic
public void bookmarkTopic(String topicId, boolean bookmarked) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
bookmarkTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
deleteTopic
public void deleteTopic(String topicId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
deleteTopicin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
saveTopicReactions
public Map<org.sakaiproject.conversations.api.Reaction,Integer> saveTopicReactions(String topicId, Map<org.sakaiproject.conversations.api.Reaction,Boolean> reactions) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
saveTopicReactionsin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getPost
public Optional<org.sakaiproject.conversations.api.beans.PostTransferBean> getPost(String postId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getPostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
savePost
public org.sakaiproject.conversations.api.beans.PostTransferBean savePost(org.sakaiproject.conversations.api.beans.PostTransferBean postBean, boolean sendMessage) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
savePostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
currentUserCanViewPost
public boolean currentUserCanViewPost(org.sakaiproject.conversations.api.model.ConversationsPost post)
- Specified by:
currentUserCanViewPostin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
currentUserCanViewComment
public boolean currentUserCanViewComment(org.sakaiproject.conversations.api.model.ConversationsComment comment)
- Specified by:
currentUserCanViewCommentin interfaceorg.sakaiproject.conversations.api.ConversationsService
-
getNumberOfThreadPages
@Transactional(readOnly=true) public int getNumberOfThreadPages(String siteId, String topicId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getNumberOfThreadPagesin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getPostsByTopicId
@Transactional(readOnly=true) public Collection<org.sakaiproject.conversations.api.beans.PostTransferBean> getPostsByTopicId(String siteId, String topicId, Integer page, org.sakaiproject.conversations.api.PostSort postSort, String requestedPostId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getPostsByTopicIdin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
deletePost
public void deletePost(String siteId, String topicId, String postId, boolean setTopicResolved) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
deletePostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
lockPost
public org.sakaiproject.conversations.api.beans.PostTransferBean lockPost(String siteId, String topicId, String postId, boolean locked) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
lockPostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
hidePost
public org.sakaiproject.conversations.api.beans.PostTransferBean hidePost(String siteId, String topicId, String postId, boolean hidden) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
hidePostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
savePostReactions
public Map<org.sakaiproject.conversations.api.Reaction,Integer> savePostReactions(String topicId, String postId, Map<org.sakaiproject.conversations.api.Reaction,Boolean> reactions) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
savePostReactionsin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
markPostsViewed
public void markPostsViewed(Set<String> postIds, String topicId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
markPostsViewedin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getComment
public Optional<org.sakaiproject.conversations.api.beans.CommentTransferBean> getComment(String commentId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getCommentin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
saveComment
public org.sakaiproject.conversations.api.beans.CommentTransferBean saveComment(org.sakaiproject.conversations.api.beans.CommentTransferBean commentBean) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
saveCommentin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
deleteComment
public void deleteComment(String siteId, String commentId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
deleteCommentin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
upvotePost
public org.sakaiproject.conversations.api.beans.PostTransferBean upvotePost(String siteId, String topicId, String postId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
upvotePostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
unUpvotePost
public org.sakaiproject.conversations.api.beans.PostTransferBean unUpvotePost(String siteId, String postId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
unUpvotePostin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
saveTag
public org.sakaiproject.conversations.api.model.Tag saveTag(org.sakaiproject.conversations.api.model.Tag tag) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
saveTagin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
createTags
public List<org.sakaiproject.conversations.api.model.Tag> createTags(List<org.sakaiproject.conversations.api.model.Tag> tags) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
createTagsin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getTagsForSite
@Transactional(readOnly=true) public List<org.sakaiproject.conversations.api.model.Tag> getTagsForSite(String siteId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getTagsForSitein interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
deleteTag
public void deleteTag(Long tagId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
deleteTagin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getSettingsForSite
public org.sakaiproject.conversations.api.model.Settings getSettingsForSite(String siteId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getSettingsForSitein interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
saveSettings
public org.sakaiproject.conversations.api.model.Settings saveSettings(org.sakaiproject.conversations.api.model.Settings settings) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
saveSettingsin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getConvStatusForSiteAndUser
public org.sakaiproject.conversations.api.model.ConvStatus getConvStatusForSiteAndUser(String siteId, String userId) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getConvStatusForSiteAndUserin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
saveConvStatus
public void saveConvStatus(org.sakaiproject.conversations.api.model.ConvStatus convStatus) throws org.sakaiproject.conversations.api.ConversationsPermissionsException- Specified by:
saveConvStatusin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getSiteStats
@Transactional(readOnly=true) public Map<String,Object> getSiteStats(String siteId, Instant from, Instant to, int page, String sort) throws org.sakaiproject.conversations.api.ConversationsPermissionsException
- Specified by:
getSiteStatsin interfaceorg.sakaiproject.conversations.api.ConversationsService- Throws:
org.sakaiproject.conversations.api.ConversationsPermissionsException
-
getEventKeys
public String[] getEventKeys()
-
-