Package com.atlassian.jira.notification
Class DefaultNotificationSchemeManager
java.lang.Object
com.atlassian.jira.scheme.AbstractSchemeManager
com.atlassian.jira.notification.DefaultNotificationSchemeManager
- All Implemented Interfaces:
Startable,InitializingComponent,NotificationSchemeManager,SchemeManager
public class DefaultNotificationSchemeManager
extends AbstractSchemeManager
implements NotificationSchemeManager, Startable
-
Field Summary
Fields inherited from class com.atlassian.jira.scheme.AbstractSchemeManager
cacheManager, eventPublisher, groupManager, projectManager, schemeFactory, securityTypeManagerFields 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.GenericValueCreates a default scheme, with an id of 0protected AbstractSchemeAddedToProjectEventcreateSchemeAddedToProjectEvent(Scheme scheme, Project project) protected AbstractSchemeCopiedEventcreateSchemeCopiedEvent(Scheme oldScheme, Scheme newScheme) protected AbstractSchemeEventcreateSchemeCreatedEvent(Scheme scheme) org.ofbiz.core.entity.GenericValuecreateSchemeEntity(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) protected ObjectcreateSchemeEntityDeletedEvent(org.ofbiz.core.entity.GenericValue entity) protected org.ofbiz.core.entity.GenericValuecreateSchemeEntityNoEvent(org.ofbiz.core.entity.GenericValue scheme, SchemeEntity schemeEntity) protected AbstractSchemeRemovedFromProjectEventcreateSchemeRemovedFromProjectEvent(Scheme scheme, Project project) protected AbstractSchemeUpdatedEventcreateSchemeUpdatedEvent(Scheme scheme, Scheme originalScheme) voiddeleteScheme(Long id) Deletes a scheme from the databaseprotected I18nHelperorg.ofbiz.core.entity.GenericValueGets 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.GenericValuegetNotificationSchemeForProject(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 ofNotificationRecipients 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.booleanhasEntities(org.ofbiz.core.entity.GenericValue scheme, Long eventTypeId, String type, String parameter, Long templateId) booleanprotected SchemeEntitymakeSchemeEntity(org.ofbiz.core.entity.GenericValue schemeEntityGV) voidonClearCache(ClearCacheEvent event) voidremoveSchemeEntitiesForField(String customFieldId) voidstart()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, afterInstantiation, 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, removeEntitiesReturningAffectedEntities, removeSchemesFromProject, removeSchemesFromProject, schemeExists, swapParameterForEntitiesOfType, updateScheme, updateSchemeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.jira.notification.NotificationSchemeManager
getEntitiesMethods 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, removeEntitiesReturningAffectedEntities, 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:StartableThis method will be called after the plugin system is fully initialised and all components added to the dependency injection framework. -
onClearCache
- Overrides:
onClearCachein classAbstractSchemeManager
-
getSchemeEntityName
- Specified by:
getSchemeEntityNamein classAbstractSchemeManager
-
getEntityName
- Specified by:
getEntityNamein classAbstractSchemeManager
-
getSchemeDesc
- Specified by:
getSchemeDescin classAbstractSchemeManager
-
getDefaultNameKey
- Specified by:
getDefaultNameKeyin classAbstractSchemeManager
-
getDefaultDescriptionKey
- Specified by:
getDefaultDescriptionKeyin classAbstractSchemeManager
-
createSchemeCreatedEvent
- Specified by:
createSchemeCreatedEventin classAbstractSchemeManager
-
createSchemeCopiedEvent
@Nonnull protected AbstractSchemeCopiedEvent createSchemeCopiedEvent(@Nonnull Scheme oldScheme, @Nonnull Scheme newScheme) - Specified by:
createSchemeCopiedEventin classAbstractSchemeManager
-
createSchemeUpdatedEvent
- Specified by:
createSchemeUpdatedEventin classAbstractSchemeManager
-
deleteScheme
Description copied from interface:SchemeManagerDeletes a scheme from the database- Specified by:
deleteSchemein interfaceSchemeManager- Overrides:
deleteSchemein 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:
createSchemeAddedToProjectEventin classAbstractSchemeManager
-
getDefaultScheme
public org.ofbiz.core.entity.GenericValue getDefaultScheme() throws org.ofbiz.core.entity.GenericEntityExceptionDescription copied from interface:SchemeManagerGets 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:
getDefaultSchemein interfaceSchemeManager- Overrides:
getDefaultSchemein 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:SchemeManagerCreates a default scheme, with an id of 0- Specified by:
createDefaultSchemein interfaceSchemeManager- Overrides:
createDefaultSchemein classAbstractSchemeManager- Returns:
- The new permission scheme object
- Throws:
org.ofbiz.core.entity.GenericEntityException- If a DB error occurs
-
removeSchemeEntitiesForField
- Specified by:
removeSchemeEntitiesForFieldin interfaceNotificationSchemeManager- Throws:
RemoveException
-
makeSchemeEntity
- Specified by:
makeSchemeEntityin classAbstractSchemeManager
-
createSchemeEntityDeletedEvent
- Specified by:
createSchemeEntityDeletedEventin classAbstractSchemeManager
-
getNotificationSchemeEntities
public List<SchemeEntity> getNotificationSchemeEntities(Project project, long entityTypeId) throws org.ofbiz.core.entity.GenericEntityException Description copied from interface:NotificationSchemeManagerGet 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:
getNotificationSchemeEntitiesin 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:NotificationSchemeManagerGet 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:
getNotificationSchemeForProjectin interfaceNotificationSchemeManager- Parameters:
projectGV- the project- Returns:
- notificationScheme the GenericValue object representing a notification scheme
-
getSchemesMapByConditions
Description copied from interface:NotificationSchemeManagerRetrieve a map of scheme ids to scheme names that match the specified conditions.- Specified by:
getSchemesMapByConditionsin 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:NotificationSchemeManagerThis 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:
getSchemesContainingEntityin 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:
isHasMailServerin 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:
createSchemeEntityin 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:
createSchemeEntityNoEventin 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:NotificationSchemeManagerRetrieve the set of recipients for the event using the specified notification entity.- Specified by:
getRecipientsin interfaceNotificationSchemeManager- Parameters:
event- issue eventscheme- scheme entity- Returns:
- a Set of notification recipients
- Throws:
org.ofbiz.core.entity.GenericEntityException
-
getRecipients
Description copied from interface:NotificationSchemeManagerGiven an issue event this method returns a set ofNotificationRecipients who will receive an e-mail notification- Specified by:
getRecipientsin 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:
hasEntitiesin 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:NotificationSchemeManagerInherited from SchemeManager.- Specified by:
getEntitiesin interfaceNotificationSchemeManager- Specified by:
getEntitiesin 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:NotificationSchemeManagerInherited from SchemeManager.- Specified by:
getEntitiesin interfaceNotificationSchemeManager- Specified by:
getEntitiesin 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:NotificationSchemeManagerInherited from SchemeManager.- Specified by:
getEntitiesin interfaceNotificationSchemeManager- Specified by:
getEntitiesin 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:NotificationSchemeManagerInherited from SchemeManager.- Specified by:
getEntitiesin interfaceNotificationSchemeManager- Specified by:
getEntitiesin interfaceSchemeManager- Throws:
org.ofbiz.core.entity.GenericEntityException
-
createSchemeRemovedFromProjectEvent
@Nonnull protected AbstractSchemeRemovedFromProjectEvent createSchemeRemovedFromProjectEvent(Scheme scheme, Project project) - Specified by:
createSchemeRemovedFromProjectEventin classAbstractSchemeManager
-
getApplicationI18n
- Overrides:
getApplicationI18nin classAbstractSchemeManager
-