Package com.atlassian.jira.notification
Class DefaultNotificationSchemeManager
java.lang.Object
com.atlassian.jira.scheme.AbstractSchemeManager
com.atlassian.jira.notification.DefaultNotificationSchemeManager
- All Implemented Interfaces:
Startable
,NotificationSchemeManager
,SchemeManager
public class DefaultNotificationSchemeManager
extends AbstractSchemeManager
implements NotificationSchemeManager, Startable
-
Field Summary
Fields inherited from class com.atlassian.jira.scheme.AbstractSchemeManager
eventPublisher, groupManager, projectManager, schemeFactory, securityTypeManager
Fields inherited from interface com.atlassian.jira.scheme.SchemeManager
PROJECT_ASSOCIATION
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultNotificationSchemeManager
(ProjectManager projectManager, PermissionTypeManager permissionTypeManager, PermissionContextFactory permissionContextFactory, OfBizDelegator delegator, SchemeFactory schemeFactory, com.atlassian.event.api.EventPublisher eventPublisher, NotificationTypeManager notificationTypeManager, NodeAssociationStore nodeAssociationStore, GroupManager groupManager, UserPreferencesManager userPreferencesManager, com.atlassian.cache.CacheManager cacheManager, ApplicationRoleManager applicationRoleManager, FeatureManager featureManager) -
Method Summary
Modifier and TypeMethodDescriptionorg.ofbiz.core.entity.GenericValue
Creates a default scheme, with an id of 0protected AbstractSchemeAddedToProjectEvent
createSchemeAddedToProjectEvent
(Scheme scheme, Project project) protected AbstractSchemeCopiedEvent
createSchemeCopiedEvent
(Scheme oldScheme, Scheme newScheme) protected AbstractSchemeEvent
createSchemeCreatedEvent
(Scheme scheme) org.ofbiz.core.entity.GenericValue
createSchemeEntity
(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) protected Object
createSchemeEntityDeletedEvent
(org.ofbiz.core.entity.GenericValue entity) protected org.ofbiz.core.entity.GenericValue
createSchemeEntityNoEvent
(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) protected AbstractSchemeRemovedFromProjectEvent
createSchemeRemovedFromProjectEvent
(Scheme scheme, Project project) protected AbstractSchemeUpdatedEvent
createSchemeUpdatedEvent
(Scheme scheme, Scheme originalScheme) void
deleteScheme
(Long id) Deletes a scheme from the databaseprotected I18nHelper
org.ofbiz.core.entity.GenericValue
Gets the default scheme.List<org.ofbiz.core.entity.GenericValue>
getEntities
(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId) Inherited from SchemeManager.List<org.ofbiz.core.entity.GenericValue>
getEntities
(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId, String parameter) Inherited from SchemeManager.List<org.ofbiz.core.entity.GenericValue>
getEntities
(org.ofbiz.core.entity.GenericValue scheme, String entityTypeId) Inherited from SchemeManager.List<org.ofbiz.core.entity.GenericValue>
getEntities
(org.ofbiz.core.entity.GenericValue scheme, String type, Long entityTypeId) Inherited from SchemeManager.getNotificationSchemeEntities
(Project project, long entityTypeId) Get the notification scheme entities for this project and entity type.org.ofbiz.core.entity.GenericValue
getNotificationSchemeForProject
(org.ofbiz.core.entity.GenericValue projectGV) Get the notification scheme for this project.getRecipients
(IssueEvent event) Given an issue event this method returns a set ofNotificationRecipient
s who will receive an e-mail notificationgetRecipients
(IssueEvent event, SchemeEntity scheme) Retrieve the set of recipients for the event using the specified notification entity.Collection<org.ofbiz.core.entity.GenericValue>
getSchemesContainingEntity
(String type, String parameter) This is a method that is meant to quickly get you all the schemes that contain an entity of the specified type and parameter.getSchemesMapByConditions
(Map<String, ?> conditions) Retrieve a map of scheme ids to scheme names that match the specified conditions.boolean
hasEntities
(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId, String type, String parameter, Long templateId) boolean
protected SchemeEntity
makeSchemeEntity
(org.ofbiz.core.entity.GenericValue schemeEntityGV) void
onClearCache
(ClearCacheEvent event) void
removeSchemeEntitiesForField
(String customFieldId) void
start()
This method will be called after the plugin system is fully initialised and all components added to the dependency injection framework.Methods inherited from class com.atlassian.jira.scheme.AbstractSchemeManager
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, copyScheme, createScheme, createSchemeAndEntities, createSchemeGenericValue, createSchemeNoEvent, createSchemeObject, deleteEntities, deleteEntity, flushProjectSchemes, getAssociatedSchemes, getAssociationType, getDefaultSchemeObject, getEntities, getEntities, getEntitiesByIds, getEntity, getGroups, getGroups, getNameForCopy, getProjects, getScheme, getScheme, getSchemeFor, getSchemeIdFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, getUsers, removeEntities, removeEntities, removeSchemesFromProject, removeSchemesFromProject, schemeExists, swapParameterForEntitiesOfType, updateScheme, updateScheme
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.atlassian.jira.notification.NotificationSchemeManager
getEntities
Methods inherited from interface com.atlassian.jira.scheme.SchemeManager
addDefaultSchemeToProject, addDefaultSchemeToProject, addSchemeToProject, addSchemeToProject, copyScheme, copyScheme, createScheme, createSchemeAndEntities, createSchemeObject, deleteEntities, deleteEntity, getAssociatedSchemes, getDefaultSchemeObject, getEntities, getEntitiesByIds, getEntity, getGroups, getGroups, getProjects, getScheme, getScheme, getSchemeFor, getSchemeIdFor, getSchemeObject, getSchemeObject, getSchemeObjects, getSchemes, getSchemes, getUnassociatedSchemes, getUsers, getUsers, getUsers, getUsers, removeEntities, removeEntities, removeSchemesFromProject, removeSchemesFromProject, schemeExists, swapParameterForEntitiesOfType, updateScheme, updateScheme
-
Constructor Details
-
DefaultNotificationSchemeManager
public DefaultNotificationSchemeManager(ProjectManager projectManager, PermissionTypeManager permissionTypeManager, PermissionContextFactory permissionContextFactory, OfBizDelegator delegator, SchemeFactory schemeFactory, com.atlassian.event.api.EventPublisher eventPublisher, NotificationTypeManager notificationTypeManager, NodeAssociationStore nodeAssociationStore, GroupManager groupManager, UserPreferencesManager userPreferencesManager, com.atlassian.cache.CacheManager cacheManager, ApplicationRoleManager applicationRoleManager, FeatureManager featureManager)
-
-
Method Details
-
start
Description copied from interface:Startable
This method will be called after the plugin system is fully initialised and all components added to the dependency injection framework. -
onClearCache
- Overrides:
onClearCache
in classAbstractSchemeManager
-
getSchemeEntityName
- Specified by:
getSchemeEntityName
in classAbstractSchemeManager
-
getEntityName
- Specified by:
getEntityName
in classAbstractSchemeManager
-
getSchemeDesc
- Specified by:
getSchemeDesc
in classAbstractSchemeManager
-
getDefaultNameKey
- Specified by:
getDefaultNameKey
in classAbstractSchemeManager
-
getDefaultDescriptionKey
- Specified by:
getDefaultDescriptionKey
in classAbstractSchemeManager
-
createSchemeCreatedEvent
- Specified by:
createSchemeCreatedEvent
in classAbstractSchemeManager
-
createSchemeCopiedEvent
@Nonnull protected AbstractSchemeCopiedEvent createSchemeCopiedEvent(@Nonnull Scheme oldScheme, @Nonnull Scheme newScheme) - Specified by:
createSchemeCopiedEvent
in classAbstractSchemeManager
-
createSchemeUpdatedEvent
- Specified by:
createSchemeUpdatedEvent
in classAbstractSchemeManager
-
deleteScheme
Description copied from interface:SchemeManager
Deletes a scheme from the database- Specified by:
deleteScheme
in interfaceSchemeManager
- Overrides:
deleteScheme
in classAbstractSchemeManager
- Parameters:
id
- Id of the scheme to be deleted- Throws:
org.ofbiz.core.entity.GenericEntityException
- If a DB error occurs
-
createSchemeAddedToProjectEvent
@Nonnull protected AbstractSchemeAddedToProjectEvent createSchemeAddedToProjectEvent(Scheme scheme, Project project) - Specified by:
createSchemeAddedToProjectEvent
in classAbstractSchemeManager
-
getDefaultScheme
public org.ofbiz.core.entity.GenericValue getDefaultScheme() throws org.ofbiz.core.entity.GenericEntityExceptionDescription copied from interface:SchemeManager
Gets the default scheme. This should have an id of 0This does not work for the Default Notification scheme as it does not have an id of 0.
- Specified by:
getDefaultScheme
in interfaceSchemeManager
- Overrides:
getDefaultScheme
in classAbstractSchemeManager
- Returns:
- The default scheme
- Throws:
org.ofbiz.core.entity.GenericEntityException
- If a DB error occurs
-
createDefaultScheme
public org.ofbiz.core.entity.GenericValue createDefaultScheme() throws org.ofbiz.core.entity.GenericEntityExceptionDescription copied from interface:SchemeManager
Creates a default scheme, with an id of 0- Specified by:
createDefaultScheme
in interfaceSchemeManager
- Overrides:
createDefaultScheme
in classAbstractSchemeManager
- Returns:
- The new permission scheme object
- Throws:
org.ofbiz.core.entity.GenericEntityException
- If a DB error occurs
-
removeSchemeEntitiesForField
- Specified by:
removeSchemeEntitiesForField
in interfaceNotificationSchemeManager
- Throws:
RemoveException
-
makeSchemeEntity
- Specified by:
makeSchemeEntity
in classAbstractSchemeManager
-
createSchemeEntityDeletedEvent
- Specified by:
createSchemeEntityDeletedEvent
in classAbstractSchemeManager
-
getNotificationSchemeEntities
public List<SchemeEntity> getNotificationSchemeEntities(Project project, long entityTypeId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Get the notification scheme entities for this project and entity type.Returns an empty List if there problems (e.g. more than one scheme association for the Project) encountered.
- Specified by:
getNotificationSchemeEntities
in interfaceNotificationSchemeManager
- Parameters:
project
- the projectentityTypeId
- the type of entity- Returns:
- notificationSchemeEntities scheme entities representing the notifications for the project
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getNotificationSchemeForProject
public org.ofbiz.core.entity.GenericValue getNotificationSchemeForProject(org.ofbiz.core.entity.GenericValue projectGV) Description copied from interface:NotificationSchemeManager
Get the notification scheme for this project. There should be only one.Returns null if there problems (e.g. more than one scheme association) encountered.
- Specified by:
getNotificationSchemeForProject
in interfaceNotificationSchemeManager
- Parameters:
projectGV
- the project- Returns:
- notificationScheme the GenericValue object representing a notification scheme
-
getSchemesMapByConditions
Description copied from interface:NotificationSchemeManager
Retrieve a map of scheme ids to scheme names that match the specified conditions.- Specified by:
getSchemesMapByConditions
in interfaceNotificationSchemeManager
- Parameters:
conditions
- Map of conditions on which to limit the search- Returns:
- Map scheme ids -> scheme names
-
getSchemesContainingEntity
@Nonnull public Collection<org.ofbiz.core.entity.GenericValue> getSchemesContainingEntity(String type, String parameter) Description copied from interface:NotificationSchemeManager
This is a method that is meant to quickly get you all the schemes that contain an entity of the specified type and parameter.- Specified by:
getSchemesContainingEntity
in interfaceNotificationSchemeManager
- Parameters:
type
- is the entity typeparameter
- is the scheme entries parameter value- Returns:
- Collection of GenericValues that represents a scheme
-
isHasMailServer
public boolean isHasMailServer() throws com.atlassian.mail.MailException- Specified by:
isHasMailServer
in interfaceNotificationSchemeManager
- Throws:
com.atlassian.mail.MailException
-
createSchemeEntity
public org.ofbiz.core.entity.GenericValue createSchemeEntity(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) throws org.ofbiz.core.entity.GenericEntityException - Specified by:
createSchemeEntity
in interfaceSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
createSchemeEntityNoEvent
protected org.ofbiz.core.entity.GenericValue createSchemeEntityNoEvent(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) throws org.ofbiz.core.entity.GenericEntityException - Specified by:
createSchemeEntityNoEvent
in classAbstractSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getRecipients
public Set<NotificationRecipient> getRecipients(IssueEvent event, SchemeEntity scheme) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Retrieve the set of recipients for the event using the specified notification entity.- Specified by:
getRecipients
in interfaceNotificationSchemeManager
- Parameters:
event
- issue eventscheme
- scheme entity- Returns:
- a Set of notification recipients
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getRecipients
Description copied from interface:NotificationSchemeManager
Given an issue event this method returns a set ofNotificationRecipient
s who will receive an e-mail notification- Specified by:
getRecipients
in interfaceNotificationSchemeManager
- Parameters:
event
- The issue event that triggered the notification- Returns:
- A Set of recipients that will receive e-mails for this event.
-
hasEntities
public boolean hasEntities(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId, String type, String parameter, Long templateId) throws org.ofbiz.core.entity.GenericEntityException - Specified by:
hasEntities
in interfaceNotificationSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getEntities
public List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, String entityTypeId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Inherited from SchemeManager.- Specified by:
getEntities
in interfaceNotificationSchemeManager
- Specified by:
getEntities
in interfaceSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getEntities
public List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Inherited from SchemeManager.- Specified by:
getEntities
in interfaceNotificationSchemeManager
- Specified by:
getEntities
in interfaceSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getEntities
public List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId, String parameter) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Inherited from SchemeManager.- Specified by:
getEntities
in interfaceNotificationSchemeManager
- Specified by:
getEntities
in interfaceSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getEntities
public List<org.ofbiz.core.entity.GenericValue> getEntities(org.ofbiz.core.entity.GenericValue scheme, String type, Long entityTypeId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManager
Inherited from SchemeManager.- Specified by:
getEntities
in interfaceNotificationSchemeManager
- Specified by:
getEntities
in interfaceSchemeManager
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
createSchemeRemovedFromProjectEvent
@Nonnull protected AbstractSchemeRemovedFromProjectEvent createSchemeRemovedFromProjectEvent(Scheme scheme, Project project) - Specified by:
createSchemeRemovedFromProjectEvent
in classAbstractSchemeManager
-
getApplicationI18n
- Overrides:
getApplicationI18n
in classAbstractSchemeManager
-