public class

DefaultSubscriptionManager

extends MailingListCompiler
implements GroupConfigurable SubscriptionManager
java.lang.Object
   ↳ com.atlassian.jira.mail.MailingListCompiler
     ↳ com.atlassian.jira.issue.subscription.DefaultSubscriptionManager

Summary

[Expand]
Inherited Constants
From interface com.atlassian.jira.issue.subscription.SubscriptionManager
Fields
public static final String JOB_RUNNER_KEY
public static final String SUBSCRIPTION_PREFIX
Public Constructors
DefaultSubscriptionManager(MailQueue mailQueue, TemplateManager templateManager, SubscriptionMailQueueItemFactory subscriptionMailQueueItemFactory, ProjectRoleManager projectRoleManager, GroupManager groupManager, SchedulerService schedulerService, EntityEngine entityEngine)
Public Methods
FilterSubscription createSubscription(ApplicationUser user, Long filterId, String groupName, String cronExpression, Boolean emailOnEmpty)
Creates a new subscription based on the passed in filter id and fired in accordance with the passed in trigger
void deleteSubscription(Long subId)
void deleteSubscriptionsForGroup(Group group)
void deleteSubscriptionsForUser(ApplicationUser user)
Delete all subscriptions owned by a user.
List<FilterSubscription> getAllFilterSubscriptions()
List<FilterSubscription> getAllFilterSubscriptions(Long filterId)
@Nullable String getCronExpressionForSubscription(FilterSubscription subscription)
Retrieve the cron expression associated with this subscription
FilterSubscription getFilterSubscription(ApplicationUser user, Long subId)
FilterSubscription getFilterSubscription(Long subId)
Get a subscription by Id
List<FilterSubscription> getFilterSubscriptions(ApplicationUser user, Long filterId)
@Nullable Date getNextSendTime(FilterSubscription sub)
Returns the next send time for this subscription.
boolean hasSubscription(ApplicationUser user, Long filterId)
boolean isGroupUsed(Group group)
Determine whether configuration exists for the specified Group.
void runSubscription(Long subId)
void runSubscription(ApplicationUser user, Long subId)
Run this subscription now.
void updateSubscription(ApplicationUser user, Long subId, String groupName, String cronExpression, Boolean emailOnEmpty)
[Expand]
Inherited Methods
From class com.atlassian.jira.mail.MailingListCompiler
From class java.lang.Object
From interface com.atlassian.jira.config.group.GroupConfigurable
From interface com.atlassian.jira.issue.subscription.SubscriptionManager

Fields

public static final String JOB_RUNNER_KEY

public static final String SUBSCRIPTION_PREFIX

Public Constructors

public DefaultSubscriptionManager (MailQueue mailQueue, TemplateManager templateManager, SubscriptionMailQueueItemFactory subscriptionMailQueueItemFactory, ProjectRoleManager projectRoleManager, GroupManager groupManager, SchedulerService schedulerService, EntityEngine entityEngine)

Public Methods

public FilterSubscription createSubscription (ApplicationUser user, Long filterId, String groupName, String cronExpression, Boolean emailOnEmpty)

Creates a new subscription based on the passed in filter id and fired in accordance with the passed in trigger

Parameters
user the current user performing this operation
filterId Id of the filter subscribing to
groupName Sent ot group
cronExpression The Cron expression for the subscription
emailOnEmpty send email if filter returns no results
Returns
  • FilterSubscription representing new subscription

public void deleteSubscription (Long subId)

Throws
GenericEntityException

public void deleteSubscriptionsForGroup (Group group)

Throws
GenericEntityException

public void deleteSubscriptionsForUser (ApplicationUser user)

Delete all subscriptions owned by a user.

Parameters
user the current user performing this operation
Throws
GenericEntityException

public List<FilterSubscription> getAllFilterSubscriptions ()

public List<FilterSubscription> getAllFilterSubscriptions (Long filterId)

@Nullable public String getCronExpressionForSubscription (FilterSubscription subscription)

Retrieve the cron expression associated with this subscription

Returns
  • the cron expression associated with this subscription

public FilterSubscription getFilterSubscription (ApplicationUser user, Long subId)

Throws
GenericEntityException

public FilterSubscription getFilterSubscription (Long subId)

Get a subscription by Id

Parameters
subId Subscription Id
Returns
  • Subscription
Throws
GenericEntityException

public List<FilterSubscription> getFilterSubscriptions (ApplicationUser user, Long filterId)

Throws
GenericEntityException

@Nullable public Date getNextSendTime (FilterSubscription sub)

Returns the next send time for this subscription. This may return null if the scheduler does not support the reporting of next send times.

Parameters
sub The subscription
Returns
  • Next send time

public boolean hasSubscription (ApplicationUser user, Long filterId)

Throws
GenericEntityException

public boolean isGroupUsed (Group group)

Determine whether configuration exists for the specified Group.

Parameters
group that may or may not exist.
Returns
  • true if the group is used in the components configuration.

public void runSubscription (Long subId)

Throws
GenericEntityException

public void runSubscription (ApplicationUser user, Long subId)

Run this subscription now.

Parameters
user the current user performing this operation
subId identifies the subscription to update
Throws
GenericEntityException

public void updateSubscription (ApplicationUser user, Long subId, String groupName, String cronExpression, Boolean emailOnEmpty)