Class CmsSubscriptionManager

java.lang.Object
org.opencms.db.CmsSubscriptionManager

public class CmsSubscriptionManager extends Object
Manager that provides methods to subscribe resources to users, read subscribed or unvisited resources and more.

Since:
8.0
  • Field Details

  • Constructor Details

    • CmsSubscriptionManager

      Initializes a new CmsSubscriptionManager, called from the configuration.

  • Method Details

    • getDateLastVisitedBy

      public long getDateLastVisitedBy(CmsObject cms, CmsUser user, CmsResource resource) throws CmsException
      Returns the date when the resource was last visited by the user.

      Parameters:
      cms - the current users context
      user - the user to check the date
      resource - the resource to check the date
      Returns:
      the date when the resource was last visited by the user
      Throws:
      CmsException - if something goes wrong
    • getDateLastVisitedBy

      public long getDateLastVisitedBy(CmsObject cms, CmsUser user, String resourcePath) throws CmsException
      Returns the date when the resource was last visited by the user.

      Parameters:
      cms - the current users context
      user - the user to check the date
      resourcePath - the name of the resource to check the date
      Returns:
      the date when the resource was last visited by the user
      Throws:
      CmsException - if something goes wrong
    • getMaxVisitedCount

      public int getMaxVisitedCount()
      Returns the maximum number of visited resources to store per user.

      Returns:
      the maximum number of visited resources to store per user
    • getPoolName

      public String getPoolName()
      Returns the name of the database pool to use.

      Returns:
      the name of the database pool to use
    • initialize

      Initializes this subscription manager with the OpenCms system configuration.

      Parameters:
      cms - an OpenCms context object that must have been initialized with "Admin" permissions
      Throws:
      CmsRoleViolationException - in case the given opencms object does not have CmsRole.ROOT_ADMIN permissions
    • isEnabled

      public boolean isEnabled()
      Returns if the subscription functionality is enabled.

      Returns:
      true if the subscription functionality is enabled, otherwise false
    • markResourceAsVisitedBy

      public void markResourceAsVisitedBy(CmsObject cms, CmsResource resource, CmsUser user) throws CmsException
      Mark the given resource as visited by the user.

      Parameters:
      cms - the current users context
      resource - the resource to mark as visited
      user - the user that visited the resource
      Throws:
      CmsException - if something goes wrong
    • markResourceAsVisitedBy

      public void markResourceAsVisitedBy(CmsObject cms, String resourcePath, CmsUser user) throws CmsException
      Mark the given resource as visited by the user.

      Parameters:
      cms - the current users context
      resourcePath - the name of the resource to mark as visited
      user - the user that visited the resource
      Throws:
      CmsException - if something goes wrong
    • readAllSubscribedResources

      Returns all resources subscribed by the given user or group.

      Parameters:
      cms - the current users context
      principal - the principal to read the subscribed resources
      Returns:
      all resources subscribed by the given user or group
      Throws:
      CmsException - if something goes wrong
    • readResourcesVisitedBy

      Returns the resources that were visited by a user set in the filter.

      Parameters:
      cms - the current users context
      filter - the filter that is used to get the visited resources
      Returns:
      the resources that were visited by a user set in the filter
      Throws:
      CmsException - if something goes wrong
    • readSubscribedDeletedResources

      public List<I_CmsHistoryResource> readSubscribedDeletedResources(CmsObject cms, CmsUser user, boolean includeGroups, String folderPath, boolean includeSubFolders, long deletedFrom) throws CmsException
      Returns the subscribed history resources that were deleted.

      Parameters:
      cms - the current users context
      user - the user that subscribed to the resource
      includeGroups - indicates if the users groups should also be checked for subscribed deleted resources
      folderPath - the folder path of the deleted resources, if null all deleted resources will be returned
      includeSubFolders - indicates if the sub folders of the specified folder path should be considered, too
      deletedFrom - the time stamp from which the resources should have been deleted
      Returns:
      the subscribed history resources that were deleted
      Throws:
      CmsException - if something goes wrong
    • readSubscribedResources

      Returns the resources that were subscribed by a user or group set in the filter.

      Parameters:
      cms - the current users context
      filter - the filter that is used to get the subscribed resources
      Returns:
      the resources that were subscribed by a user or group set in the filter
      Throws:
      CmsException - if something goes wrong
    • setEnabled

      public void setEnabled(boolean enabled)
      Sets if the subscription functionality is enabled.

      Parameters:
      enabled - the flag indicating if the subscription functionality is enabled
    • setEnabled

      public void setEnabled(String enabled)
      Sets if the subscription functionality is enabled.

      Parameters:
      enabled - the flag indicating if the subscription functionality is enabled
    • setMaxVisitedCount

      public void setMaxVisitedCount(String maxVisitedCount)
      Sets the maximum number of visited resources to store per user.

      Parameters:
      maxVisitedCount - the maximum number of visited resources to store per user
    • setPoolName

      public void setPoolName(String poolName)
      Sets the name of the database pool to use.

      Parameters:
      poolName - the name of the database pool to use
    • setSecurityManager

      public void setSecurityManager(CmsSecurityManager securityManager)
      Sets the security manager during initialization.

      Parameters:
      securityManager - the security manager
    • setSubscribedResourceAsDeleted

      Marks a subscribed resource as deleted.

      Parameters:
      cms - the current users context
      resource - the subscribed resource to mark as deleted
      Throws:
      CmsException - if something goes wrong
    • subscribeResourceFor

      public void subscribeResourceFor(CmsObject cms, CmsPrincipal principal, CmsResource resource) throws CmsException
      Subscribes the user or group to the resource.

      Parameters:
      cms - the current users context
      principal - the principal that subscribes to the resource
      resource - the resource to subscribe to
      Throws:
      CmsException - if something goes wrong
    • subscribeResourceFor

      public void subscribeResourceFor(CmsObject cms, CmsPrincipal principal, String resourcePath) throws CmsException
      Subscribes the user or group to the resource.

      Parameters:
      cms - the current users context
      principal - the principal that subscribes to the resource
      resourcePath - the name of the resource to subscribe to
      Throws:
      CmsException - if something goes wrong
    • unsubscribeAllDeletedResources

      public void unsubscribeAllDeletedResources(CmsObject cms, long deletedTo) throws CmsException
      Unsubscribes all deleted resources that were deleted before the specified time stamp.

      Parameters:
      cms - the current users context
      deletedTo - the time stamp to which the resources have been deleted
      Throws:
      CmsException - if something goes wrong
    • unsubscribeAllResourcesFor

      public void unsubscribeAllResourcesFor(CmsObject cms, CmsPrincipal principal) throws CmsException
      Unsubscribes the user or group from all resources.

      Parameters:
      cms - the current users context
      principal - the principal that unsubscribes from all resources
      Throws:
      CmsException - if something goes wrong
    • unsubscribeResourceFor

      public void unsubscribeResourceFor(CmsObject cms, CmsPrincipal principal, CmsResource resource) throws CmsException
      Unsubscribes the principal from the resource.

      Parameters:
      cms - the current users context
      principal - the principal that unsubscribes from the resource
      resource - the resource to unsubscribe from
      Throws:
      CmsException - if something goes wrong
    • unsubscribeResourceFor

      public void unsubscribeResourceFor(CmsObject cms, CmsPrincipal principal, String resourcePath) throws CmsException
      Unsubscribes the principal from the resource.

      Parameters:
      cms - the current users context
      principal - the principal that unsubscribes from the resource
      resourcePath - the name of the resource to unsubscribe from
      Throws:
      CmsException - if something goes wrong
    • unsubscribeResourceForAll

      public void unsubscribeResourceForAll(CmsObject cms, CmsResource resource) throws CmsException
      Unsubscribes all groups and users from the resource.

      Parameters:
      cms - the current users context
      resource - the resource to unsubscribe all groups and users from
      Throws:
      CmsException - if something goes wrong
    • unsubscribeResourceForAll

      public void unsubscribeResourceForAll(CmsObject cms, String resourcePath) throws CmsException
      Unsubscribes all groups and users from the resource.

      Parameters:
      cms - the current users context
      resourcePath - the name of the resource to unsubscribe all groups and users from
      Throws:
      CmsException - if something goes wrong