Class SendMailToContributorCommentListener
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.web.repository.comment.SendMailToContributorCommentListener
-
- All Implemented Interfaces:
Observer
,LogEnabled
,PluginAware
,Contextualizable
,Serviceable
public class SendMailToContributorCommentListener extends AbstractLogEnabled implements Observer, Serviceable, Contextualizable, PluginAware
Listener to send mails to moderators or observers
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentHelper
_contentHelper
The content helperprotected Context
_context
The avalon contextprotected I18nUtils
_i18nUtils
The i18n utils of runtimeprotected String
_pluginName
The plugin nameprotected RightManager
_rightManager
The ametys rights managerprotected UserManager
_userManager
The users manager.-
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description SendMailToContributorCommentListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected List<String>
_getCommonBodyI18nParams(Content content, Comment comment)
The comment i18n parameters for email notificationprotected String
_getContentURI(Content content)
Get the content URI in back-officeprivate List<String>
_getRecipients(Set<UserIdentity> users)
protected void
_sendCommentAddedNotificationMail(Content content, Comment comment)
Send email notification on comment addedprotected void
_sendCommentReportedNotificationMail(Content content, Comment comment, UserIdentity issuer)
Send email notification on comment reportprotected void
_sendCommentValidatedNotificationMail(Content content, Comment comment)
Send email notification on comment validatedprotected void
_sendMail(Content content, Comment comment, List<String> recipients, String subjectI18nKey, String bodyI18nKey)
Send notification on comment to contributorprotected void
_sendMail(Content content, Comment comment, List<String> recipients, String subjectI18nKey, String bodyI18nKey, List<String> i18nParams)
Send notification on comment to contributorprivate void
_setRequestAttributes(Content content)
void
contextualize(Context context)
int
getPriority(Event event)
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.void
observe(Event event, Map<String,Object> transientVars)
Observes an event.void
service(ServiceManager manager)
void
setPluginInfo(String pluginName, String featureName, String id)
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.boolean
supports(Event event)
Checks if the event is supported.-
Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
-
-
-
Field Detail
-
_i18nUtils
protected I18nUtils _i18nUtils
The i18n utils of runtime
-
_rightManager
protected RightManager _rightManager
The ametys rights manager
-
_userManager
protected UserManager _userManager
The users manager.
-
_contentHelper
protected ContentHelper _contentHelper
The content helper
-
_pluginName
protected String _pluginName
The plugin name
-
-
Constructor Detail
-
SendMailToContributorCommentListener
public SendMailToContributorCommentListener()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualize
in interfaceContextualizable
- Throws:
ContextException
-
setPluginInfo
public void setPluginInfo(String pluginName, String featureName, String id)
Description copied from interface:PluginAware
Sets the plugin info relative to the current component.
Note : The feature name may be null if the targeted component in declared at plugin level.- Specified by:
setPluginInfo
in interfacePluginAware
- Parameters:
pluginName
- Unique identifier for the plugin hosting the extensionfeatureName
- Unique feature identifier (unique for a given pluginName)id
- Unique identifier of this component
-
getPriority
public int getPriority(Event event)
Description copied from interface:Observer
Retrieves the priority to observe this event.
This can be used to process a supported event before others observers.- Specified by:
getPriority
in interfaceObserver
- Parameters:
event
- the event.- Returns:
- the priority where 0 the max priority and Integer.MAX_VALUE the min priority.
-
supports
public boolean supports(Event event)
Description copied from interface:Observer
Checks if the event is supported. If true, the observe(Event) method will be called.
-
observe
public void observe(Event event, Map<String,Object> transientVars) throws Exception
Description copied from interface:Observer
Observes an event.- Specified by:
observe
in interfaceObserver
- Parameters:
event
- the event.transientVars
- transientVars passed from one Observer to another when processing a single Event. This may allow optimizations between observers.- Throws:
Exception
- if an error occurs. All exceptions will be logged but not propagated, as the observation mechanism should never fail.
-
_setRequestAttributes
private void _setRequestAttributes(Content content)
-
_getRecipients
private List<String> _getRecipients(Set<UserIdentity> users)
-
_sendCommentAddedNotificationMail
protected void _sendCommentAddedNotificationMail(Content content, Comment comment)
Send email notification on comment added- Parameters:
content
- the contentcomment
- the added comment
-
_sendCommentValidatedNotificationMail
protected void _sendCommentValidatedNotificationMail(Content content, Comment comment)
Send email notification on comment validated- Parameters:
content
- the contentcomment
- the validated comment
-
_sendCommentReportedNotificationMail
protected void _sendCommentReportedNotificationMail(Content content, Comment comment, UserIdentity issuer)
Send email notification on comment report- Parameters:
content
- the contentcomment
- the reported commentissuer
- the issuer
-
_sendMail
protected void _sendMail(Content content, Comment comment, List<String> recipients, String subjectI18nKey, String bodyI18nKey)
Send notification on comment to contributor- Parameters:
content
- the contentcomment
- the modified commentrecipients
- the list of recipientssubjectI18nKey
- the i18n for email subjectbodyI18nKey
- the i18n for email body
-
_sendMail
protected void _sendMail(Content content, Comment comment, List<String> recipients, String subjectI18nKey, String bodyI18nKey, List<String> i18nParams)
Send notification on comment to contributor- Parameters:
content
- the contentcomment
- the modified commentrecipients
- the list of recipientssubjectI18nKey
- the i18n for email subjectbodyI18nKey
- the i18n for email bodyi18nParams
- the i18n parameters
-
_getCommonBodyI18nParams
protected List<String> _getCommonBodyI18nParams(Content content, Comment comment)
The comment i18n parameters for email notification- Parameters:
content
- the contentcomment
- the comment- Returns:
- the i18n parameters
-
_getContentURI
protected String _getContentURI(Content content)
Get the content URI in back-office- Parameters:
content
- the content- Returns:
- the content uri
-
-