Class DefaultForumService

  • All Implemented Interfaces:
    ForumService

    @Service
    public class DefaultForumService
    extends Object
    implements ForumService
    Forums service layer which manage forums application
    • Constructor Detail

      • DefaultForumService

        public DefaultForumService()
    • Method Detail

      • getForumCreatorId

        public String getForumCreatorId​(int forumId)
      • getForumDetail

        public ForumDetail getForumDetail​(ForumPK forumPK)
        Specified by:
        getForumDetail in interface ForumService
        Parameters:
        forumPK - forum primary key
        Returns:
        a ForumDetail from the forum primary key identifier
      • lockForum

        public void lockForum​(ForumPK forumPK,
                              int level)
        Verrouille recursivement l'arborescence d'un forum en ecriture a partir de sa primary key
        Specified by:
        lockForum in interface ForumService
        Parameters:
        forumPK - la primary key du forum
        level - le niveau de verrouillage
      • unlockForum

        public int unlockForum​(ForumPK forumPK,
                               int level)
        Deverrouille recursivement un forum en ecriture a partir de sa primary key
        Specified by:
        unlockForum in interface ForumService
        Parameters:
        forumPK - la primary key du forum
        level - le niveau de verrouillage
        Returns:
        int le code d'erreur
      • deleteForum

        public void deleteForum​(ForumPK forumPK)
        Supprime un forum et tous ses sous-forums a partir de sa primary key
        Specified by:
        deleteForum in interface ForumService
        Parameters:
        forumPK - la primary key du forum
      • createForum

        public int createForum​(ForumPK forumPK,
                               String forumName,
                               String forumDescription,
                               String forumCreator,
                               int forumParent,
                               String categoryId,
                               String keywords)
        Cree un nouveau forum dans la datasource
        Specified by:
        createForum in interface ForumService
        Parameters:
        forumPK - la primary key
        forumName - nom du forum
        forumDescription - description du forum
        forumCreator - l'id du createur du forum
        forumParent - l'id du forum parent
        categoryId - l'id de la categorie
        keywords -
        Returns:
        String l'id du nouveau forum
      • updateForum

        public void updateForum​(ForumPK forumPK,
                                String forumName,
                                String forumDescription,
                                int forumParent,
                                String categoryId,
                                String keywords)
        Met a jour les informations sur un forum dans la datasource
        Specified by:
        updateForum in interface ForumService
        Parameters:
        forumPK - la primary key du forum
        forumName - nom du forum
        forumDescription - description du forum
        forumParent - l'id du forum parent
        categoryId - l'id de la catégorie
        keywords - the keywords associated to this forum.
      • getLastMessage

        public Message getLastMessage​(ForumPK forumPK,
                                      String status)
        Retourne le dernier message d'un forum
        Specified by:
        getLastMessage in interface ForumService
        Parameters:
        forumPK - la primary key du forum
        status -
        Returns:
        the last message in a forum with the specified status.
      • isNewMessageByForum

        public boolean isNewMessageByForum​(String userId,
                                           ForumPK forumPK,
                                           String status)
        Retourne vrai s'il y a des messages non lus sur ce forum depuis la dernière visite
        Specified by:
        isNewMessageByForum in interface ForumService
        Parameters:
        userId - l'id de l'utilisateur
        forumPK - l'id du forum
        status - le status (validé, en attente, ...)
        Returns:
      • setLastVisit

        public void setLastVisit​(String userId,
                                 int messageId)
        enregistre la date de la dernière visite d'un utilisateur sur un forum
        Specified by:
        setLastVisit in interface ForumService
        Parameters:
        messageId - l'id du message
        userId - l'id de l'utilisateur
      • createMessage

        public int createMessage​(MessagePK messagePK,
                                 String title,
                                 String authorId,
                                 Date creationDate,
                                 int forumId,
                                 int parentId,
                                 String content,
                                 String keywords,
                                 String status)
        Create new forum message
        Specified by:
        createMessage in interface ForumService
        Parameters:
        messagePK - message primary key identifier
        title - message title
        authorId - message author identifier
        creationDate - creation date
        forumId - forum identifier
        parentId - parent message identifier
        content - message content
        keywords - the message keywords
        status - the message status
        Returns:
        new message identifier
      • deleteMessage

        public void deleteMessage​(MessagePK messagePK)
        Supprime un message et tous ses sous-messages a partir de sa primary key
        Specified by:
        deleteMessage in interface ForumService
        Parameters:
        messagePK - la primary key du message
        Since:
        04 Octobre 2000
      • getMessageSons

        public Collection<String> getMessageSons​(MessagePK messagePK)
        Liste tous les sous-messages d'un message
        Parameters:
        messagePK - la primary key du message pere
        Returns:
        Vector liste des ids fils
      • getAllMessageSons

        public Collection<String> getAllMessageSons​(MessagePK messagePK)
        Liste tous les sous-messages d'un message récursivement
        Parameters:
        messagePK - la primary key du message pere
        Returns:
        Vector liste des ids fils
      • subscribeMessage

        public void subscribeMessage​(MessagePK messagePK,
                                     String userId)
        Subscribe the given user to the given forum message.
        Specified by:
        subscribeMessage in interface ForumService
        Parameters:
        messagePK -
        userId -
      • unsubscribeMessage

        public void unsubscribeMessage​(MessagePK messagePK,
                                       String userId)
        Unsubscribe the given user to the given forum message.
        Specified by:
        unsubscribeMessage in interface ForumService
        Parameters:
        messagePK -
        userId -
      • subscribeForum

        public void subscribeForum​(ForumPK forumPK,
                                   String userId)
        Subscribe the given user to the given forum.
        Specified by:
        subscribeForum in interface ForumService
        Parameters:
        forumPK -
        userId -
      • unsubscribeForum

        public void unsubscribeForum​(ForumPK forumPK,
                                     String userId)
        Unsubscribe the given user to the given forum.
        Specified by:
        unsubscribeForum in interface ForumService
        Parameters:
        forumPK -
        userId -
      • listAllSubscribers

        public org.silverpeas.core.subscription.util.SubscriptionSubscriberList listAllSubscribers​(MessagePK messagePK)
        Gets the list of subscribers related to the given forum message primary key.
        Specified by:
        listAllSubscribers in interface ForumService
        Parameters:
        messagePK -
        Returns:
      • listAllSubscribers

        public org.silverpeas.core.subscription.util.SubscriptionSubscriberList listAllSubscribers​(ForumPK forumPK)
        Gets the list of subscribers related to the given forum primary key.
        Specified by:
        listAllSubscribers in interface ForumService
        Parameters:
        forumPK -
        Returns:
      • listAllSubscribers

        public org.silverpeas.core.subscription.util.SubscriptionSubscriberList listAllSubscribers​(String instanceId)
        Gets the list of subscribers to the given component instance identifier. This kind of subscribers come from WEB-Service subscriptions (/services/subscribe/{instanceId})
        Specified by:
        listAllSubscribers in interface ForumService
        Parameters:
        instanceId -
        Returns:
      • isSubscriber

        public boolean isSubscriber​(MessagePK messagePK,
                                    String userId)
        Indicates if the given user has subscribed to the given forum message identifier.
        Specified by:
        isSubscriber in interface ForumService
        Parameters:
        messagePK -
        userId -
        Returns:
      • isSubscriberByInheritance

        public boolean isSubscriberByInheritance​(MessagePK messagePK,
                                                 String userId)
        Indicates if the given user is subscribed by inheritance to the given forum message identifier.
        Specified by:
        isSubscriberByInheritance in interface ForumService
        Parameters:
        messagePK -
        userId -
        Returns:
      • isSubscriber

        public boolean isSubscriber​(ForumPK forumPK,
                                    String userId)
        Indicates if the given user has subscribed to the given forum identifier.
        Specified by:
        isSubscriber in interface ForumService
        Parameters:
        forumPK -
        userId -
        Returns:
      • isSubscriberByInheritance

        public boolean isSubscriberByInheritance​(ForumPK forumPK,
                                                 String userId)
        Indicates if the given user is subscribed by inheritance to the given forum identifier.
        Specified by:
        isSubscriberByInheritance in interface ForumService
        Parameters:
        forumPK -
        userId -
        Returns:
      • isSubscriber

        public boolean isSubscriber​(String instanceId,
                                    String userId)
        Indicates if the given user has subscribed to the given component instance identifier.
        Specified by:
        isSubscriber in interface ForumService
        Parameters:
        instanceId -
        userId -
        Returns:
      • createIndex

        public void createIndex​(MessagePK messagePK)
        Method declaration
        Specified by:
        createIndex in interface ForumService
        Parameters:
        messagePK -
      • openConnection

        protected Connection openConnection()
        Open connection
        Returns:
        the connection
      • createCategory

        public String createCategory​(org.silverpeas.core.node.model.NodeDetail category)
        Specified by:
        createCategory in interface ForumService
      • updateCategory

        public void updateCategory​(org.silverpeas.core.node.model.NodeDetail category)
        Specified by:
        updateCategory in interface ForumService
      • getCategory

        public org.silverpeas.core.node.model.NodeDetail getCategory​(org.silverpeas.core.node.model.NodePK pk)
        Specified by:
        getCategory in interface ForumService
      • getWysiwygContent

        protected String getWysiwygContent​(String componentId,
                                           String messageId)
      • getSubscribeService

        protected org.silverpeas.core.subscription.SubscriptionService getSubscribeService()
        Gets instance of centralized subscription services.
        Returns: