Class ConversationsServiceImpl

  • All Implemented Interfaces:
    Observer, org.sakaiproject.conversations.api.ConversationsService

    public class ConversationsServiceImpl
    extends Object
    implements org.sakaiproject.conversations.api.ConversationsService, Observer
    • Constructor Detail

      • ConversationsServiceImpl

        public ConversationsServiceImpl()
    • Method Detail

      • init

        public void init()
      • getEntityPrefix

        public String getEntityPrefix()
      • getTopicsForSite

        @Transactional(readOnly=true)
        public List<org.sakaiproject.conversations.api.beans.TopicTransferBean> getTopicsForSite​(String siteId)
                                                                                          throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        getTopicsForSite in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • saveTopic

        @Transactional
        public org.sakaiproject.conversations.api.beans.TopicTransferBean saveTopic​(org.sakaiproject.conversations.api.beans.TopicTransferBean topicBean)
                                                                             throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        saveTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • pinTopic

        @Transactional
        public void pinTopic​(String topicId,
                             boolean pinned)
                      throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        pinTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • lockTopic

        @Transactional
        public org.sakaiproject.conversations.api.beans.TopicTransferBean lockTopic​(String topicId,
                                                                                    boolean locked)
                                                                             throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        lockTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • recursivelyLockPosts

        public void recursivelyLockPosts​(org.sakaiproject.conversations.api.model.Post post,
                                         Boolean locked)
      • hideTopic

        @Transactional
        public void hideTopic​(String topicId,
                              boolean hidden)
                       throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        hideTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • bookmarkTopic

        @Transactional
        public void bookmarkTopic​(String topicId,
                                  boolean bookmarked)
                           throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        bookmarkTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • deleteTopic

        @Transactional
        public boolean deleteTopic​(String topicId)
                            throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        deleteTopic in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • saveTopicReactions

        @Transactional
        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:
        saveTopicReactions in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • savePost

        @Transactional
        public org.sakaiproject.conversations.api.beans.PostTransferBean savePost​(org.sakaiproject.conversations.api.beans.PostTransferBean postBean)
                                                                           throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        savePost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • getPostsByTopicId

        @Transactional(readOnly=true)
        public List<org.sakaiproject.conversations.api.beans.PostTransferBean> getPostsByTopicId​(String siteId,
                                                                                                 String topicId)
                                                                                          throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        getPostsByTopicId in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • deletePost

        @Transactional
        public boolean deletePost​(String siteId,
                                  String topicId,
                                  String postId,
                                  boolean setTopicResolved)
                           throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        deletePost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • lockPost

        @Transactional
        public org.sakaiproject.conversations.api.beans.PostTransferBean lockPost​(String siteId,
                                                                                  String topicId,
                                                                                  String postId,
                                                                                  boolean locked)
                                                                           throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        lockPost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • hidePost

        @Transactional
        public void hidePost​(String postId,
                             boolean hidden,
                             String siteId)
                      throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        hidePost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • savePostReactions

        @Transactional
        public Map<org.sakaiproject.conversations.api.Reaction,​Integer> savePostReactions​(String postId,
                                                                                                Map<org.sakaiproject.conversations.api.Reaction,​Boolean> reactions)
                                                                                         throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        savePostReactions in interface org.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:
        markPostsViewed in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • saveComment

        @Transactional
        public org.sakaiproject.conversations.api.beans.CommentTransferBean saveComment​(org.sakaiproject.conversations.api.beans.CommentTransferBean commentBean)
                                                                                 throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        saveComment in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • deleteComment

        @Transactional
        public boolean deleteComment​(String siteId,
                                     String commentId)
                              throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        deleteComment in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • upvotePost

        @Transactional
        public org.sakaiproject.conversations.api.beans.PostTransferBean upvotePost​(String siteId,
                                                                                    String topicId,
                                                                                    String postId)
                                                                             throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        upvotePost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • unUpvotePost

        @Transactional
        public org.sakaiproject.conversations.api.beans.PostTransferBean unUpvotePost​(String siteId,
                                                                                      String postId)
                                                                               throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        unUpvotePost in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • saveTag

        @Transactional
        public org.sakaiproject.conversations.api.model.Tag saveTag​(org.sakaiproject.conversations.api.model.Tag tag)
                                                             throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        saveTag in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • createTags

        @Transactional
        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:
        createTags in interface org.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:
        getTagsForSite in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • deleteTag

        @Transactional
        public void deleteTag​(Long tagId)
                       throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        deleteTag in interface org.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:
        getSettingsForSite in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • saveSettings

        @Transactional
        public org.sakaiproject.conversations.api.model.Settings saveSettings​(org.sakaiproject.conversations.api.model.Settings settings)
                                                                       throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        saveSettings in interface org.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:
        getConvStatusForSiteAndUser in interface org.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:
        saveConvStatus in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • getSiteStats

        public Map<String,​Object> getSiteStats​(String siteId,
                                                     Instant from,
                                                     Instant to,
                                                     int page,
                                                     String sort)
                                              throws org.sakaiproject.conversations.api.ConversationsPermissionsException
        Specified by:
        getSiteStats in interface org.sakaiproject.conversations.api.ConversationsService
        Throws:
        org.sakaiproject.conversations.api.ConversationsPermissionsException
      • getEventKeys

        public String[] getEventKeys()