Class InfoLetterDataManager

java.lang.Object
org.silverpeas.components.infoletter.implementation.InfoLetterDataManager
All Implemented Interfaces:
InfoLetterService, org.silverpeas.core.ApplicationService

@Service @Named("infoLetterService") public class InfoLetterDataManager extends Object implements InfoLetterService
  • Constructor Details

    • InfoLetterDataManager

      public InfoLetterDataManager()
  • Method Details

    • getContributionById

      public <T extends org.silverpeas.core.contribution.model.Contribution> Optional<T> getContributionById(org.silverpeas.core.contribution.model.ContributionIdentifier contributionId)
      Specified by:
      getContributionById in interface org.silverpeas.core.ApplicationService
    • getComponentSettings

      public org.silverpeas.kernel.bundle.SettingBundle getComponentSettings()
      Specified by:
      getComponentSettings in interface org.silverpeas.core.ApplicationService
    • getComponentMessages

      public org.silverpeas.kernel.bundle.LocalizationBundle getComponentMessages(String language)
      Specified by:
      getComponentMessages in interface org.silverpeas.core.ApplicationService
    • isRelatedTo

      public boolean isRelatedTo(String instanceId)
      Specified by:
      isRelatedTo in interface org.silverpeas.core.ApplicationService
    • createInfoLetter

      public void createInfoLetter(InfoLetter il)
      Implementation of InfoLetterService interface
      Specified by:
      createInfoLetter in interface InfoLetterService
      Parameters:
      il - the information letter to create
    • updateInfoLetter

      public void updateInfoLetter(InfoLetter ie)
      Description copied from interface: InfoLetterService
      Update information letter
      Specified by:
      updateInfoLetter in interface InfoLetterService
      Parameters:
      ie - the information letter to update
    • getInfoLetters

      public List<InfoLetter> getInfoLetters(String instanceId)
      Description copied from interface: InfoLetterService
      Retrieve information letters
      Specified by:
      getInfoLetters in interface InfoLetterService
      Parameters:
      instanceId - the application identifier
      Returns:
      the information letters of the current application identifier given in parameter
    • getInfoLetterPublications

      public List<InfoLetterPublication> getInfoLetterPublications(org.silverpeas.core.contribution.model.ContributionIdentifier id)
      Description copied from interface: InfoLetterService
      Retrieve information letter publications
      Specified by:
      getInfoLetterPublications in interface InfoLetterService
      Parameters:
      id - the information letter unique identifier
      Returns:
      the list of information letter publications of an information letter
    • createInfoLetterPublication

      public void createInfoLetterPublication(InfoLetterPublicationPdC ilp, String userId)
      Description copied from interface: InfoLetterService
      Create information letter publication
      Specified by:
      createInfoLetterPublication in interface InfoLetterService
      Parameters:
      ilp - the information letter publication pdc to create
      userId - the creator user identifier
    • deleteInfoLetterPublication

      public void deleteInfoLetterPublication(org.silverpeas.core.contribution.model.ContributionIdentifier id)
      Description copied from interface: InfoLetterService
      Delete information letter publication
      Specified by:
      deleteInfoLetterPublication in interface InfoLetterService
      Parameters:
      id - the information letter publication unique identifier
    • updateInfoLetterPublication

      public void updateInfoLetterPublication(InfoLetterPublicationPdC ilp)
      Description copied from interface: InfoLetterService
      Update information letter publication
      Specified by:
      updateInfoLetterPublication in interface InfoLetterService
      Parameters:
      ilp - the information letter publication to update
    • getInfoLetter

      public InfoLetter getInfoLetter(org.silverpeas.core.contribution.model.ContributionIdentifier id)
      Description copied from interface: InfoLetterService
      Retrieve an information letter from his primary key
      Specified by:
      getInfoLetter in interface InfoLetterService
      Parameters:
      id - the unique identifier of the info letter
      Returns:
      the infirmation letter
    • getInfoLetterPublication

      public InfoLetterPublicationPdC getInfoLetterPublication(org.silverpeas.core.contribution.model.ContributionIdentifier id)
      Description copied from interface: InfoLetterService
      Retrieve information letter publication from his key
      Specified by:
      getInfoLetterPublication in interface InfoLetterService
      Parameters:
      id - the unique information letter identifier
      Returns:
      an Information Letter Publication PdC
    • createDefaultLetter

      public InfoLetter createDefaultLetter(String componentId)
      Description copied from interface: InfoLetterService
      Create a default Info Letter when instantiated
      Specified by:
      createDefaultLetter in interface InfoLetterService
      Parameters:
      componentId - the component identifier
      Returns:
      a default Info Letter
    • deleteAllInfoLetters

      public void deleteAllInfoLetters(String componentId)
      Deletes all the info letters (and then all the publications and external subscribers) in the specified component instance.
      Specified by:
      deleteAllInfoLetters in interface InfoLetterService
      Parameters:
      componentId - the unique identifier of the InfoLetter instance.
    • getInternalSubscribers

      public org.silverpeas.core.subscription.util.SubscriptionSubscriberList getInternalSubscribers(String componentId)
      Specified by:
      getInternalSubscribers in interface InfoLetterService
      Parameters:
      componentId - componentId component instance id
      Returns:
      a list of subscriber ids indexed by type of subscriber
    • setInternalSubscribers

      public void setInternalSubscribers(String componentId, org.silverpeas.core.admin.user.model.User[] users, org.silverpeas.core.admin.user.model.Group[] groups)
      Description copied from interface: InfoLetterService
      Update internal user subscribers list
      Specified by:
      setInternalSubscribers in interface InfoLetterService
      Parameters:
      componentId - componentId component instance id
      users - an array of User detail
      groups - an array of Group
    • getEmailsExternalsSubscribers

      public Set<String> getEmailsExternalsSubscribers(org.silverpeas.core.contribution.model.ContributionIdentifier id)
      Description copied from interface: InfoLetterService
      Retrieve external emails address
      Specified by:
      getEmailsExternalsSubscribers in interface InfoLetterService
      Parameters:
      id - the info letter identifier
      Returns:
      a set of external emails
    • setEmailsExternalsSubscribers

      public void setEmailsExternalsSubscribers(org.silverpeas.core.contribution.model.ContributionIdentifier id, Set<String> emails)
      Description copied from interface: InfoLetterService
      Save external subscriber emails address
      Specified by:
      setEmailsExternalsSubscribers in interface InfoLetterService
      Parameters:
      id - the letter unique identifier
      emails - the list of external emails to save
    • toggleSubscriber

      public void toggleSubscriber(String userId, String componentId, boolean isUserSubscribing)
      Description copied from interface: InfoLetterService
      Toggle subscription unsubscription of a user to the newsletter
      Specified by:
      toggleSubscriber in interface InfoLetterService
      Parameters:
      userId - the user identifier
      componentId - the info letter component instance identifier
      isUserSubscribing - true if user is subscribing, false else if
    • isUserSubscribed

      public boolean isUserSubscribed(String userId, String componentId)
      Description copied from interface: InfoLetterService
      Check if use is an internal subscriber of the information letter
      Specified by:
      isUserSubscribed in interface InfoLetterService
      Parameters:
      userId - the user identifier
      componentId - the info letter component instance identifier
      Returns:
      true if user is a subscriber, false else if
    • initTemplate

      public void initTemplate(org.silverpeas.core.contribution.model.ContributionIdentifier id, String userId)
      Description copied from interface: InfoLetterService
      Initialize template
      Specified by:
      initTemplate in interface InfoLetterService
      Parameters:
      id - the info letter identifier
      userId - the user identifier
    • sendLetterByMail

      public Set<String> sendLetterByMail(InfoLetterPublicationPdC ilp, String mimeMultipart, Set<String> listEmailDest, String subject, String emailFrom)
      Description copied from interface: InfoLetterService
      Send letter by mail
      Specified by:
      sendLetterByMail in interface InfoLetterService
      Parameters:
      ilp - the information letter
      mimeMultipart - please have a look to https://en.wikipedia.org/wiki/MIME#Multipart_subtypes
      listEmailDest - list of email
      subject - subject of email
      emailFrom - sender of email
      Returns:
      set of emails in error
    • indexInfoLetter

      public void indexInfoLetter(String componentId)
      Description copied from interface: InfoLetterService
      Indexes all info letter indexable data.
      Specified by:
      indexInfoLetter in interface InfoLetterService
      Parameters:
      componentId - the identifier of the concerned component instance.