Class SendMailToVisitorCommentListener
- java.lang.Object
-
- org.ametys.runtime.plugin.component.AbstractLogEnabled
-
- org.ametys.web.repository.comment.SendMailToVisitorCommentListener
-
- All Implemented Interfaces:
Observer
,LogEnabled
,PluginAware
,Serviceable
public class SendMailToVisitorCommentListener extends AbstractLogEnabled implements Observer, Serviceable, PluginAware
Send emails to visitor, when comment is online or removed
-
-
Field Summary
Fields Modifier and Type Field Description protected CommentsDAO
_commentsDAO
The DAO for commentsprotected ContentHelper
_contentHelper
The content helperprotected I18nUtils
_i18nUtils
The i18n utils of runtimeprotected String
_pluginName
The plugin-
Fields inherited from interface org.ametys.core.observation.Observer
MAX_PRIORITY, MIN_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description SendMailToVisitorCommentListener()
-
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 notificationprivate void
_sendCommentDeletedNotificationMail(Content content, String commentId, boolean commentIsValidated, String commentAuthorName, String commentAuthorEmail, String commentContent)
protected void
_sendCommentModifiedNotificationMail(Content content, Comment comment, String commentAuthorName, String commentAuthorEmail, boolean commentIsEmailHidden, String commentAuthorUrl, String commentContent)
Send notification on comment's modificationprotected void
_sendCommentUnvalidatedNotificationMail(Content content, Comment comment)
Send notification on comment's unvalidationprotected void
_sendCommentValidatedNotificationMail(Content content, Comment comment)
Send notification on comment's validationprotected void
_sendMail(Content content, Comment comment, String subjectI18nKey, String bodyI18nKey)
Send notification on commentprotected void
_sendMail(Content content, Comment comment, String subjectI18nKey, String bodyI18nKey, List<String> i18nParams)
Send notification on comment to comment's authorint
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
-
_contentHelper
protected ContentHelper _contentHelper
The content helper
-
_pluginName
protected String _pluginName
The plugin
-
_commentsDAO
protected CommentsDAO _commentsDAO
The DAO for comments
-
-
Constructor Detail
-
SendMailToVisitorCommentListener
public SendMailToVisitorCommentListener()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Throws:
ServiceException
-
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.
-
_sendCommentDeletedNotificationMail
private void _sendCommentDeletedNotificationMail(Content content, String commentId, boolean commentIsValidated, String commentAuthorName, String commentAuthorEmail, String commentContent)
-
_sendCommentValidatedNotificationMail
protected void _sendCommentValidatedNotificationMail(Content content, Comment comment)
Send notification on comment's validation- Parameters:
content
- the contentcomment
- the validated comment
-
_sendCommentUnvalidatedNotificationMail
protected void _sendCommentUnvalidatedNotificationMail(Content content, Comment comment)
Send notification on comment's unvalidation- Parameters:
content
- the contentcomment
- the unvalidated comment
-
_sendCommentModifiedNotificationMail
protected void _sendCommentModifiedNotificationMail(Content content, Comment comment, String commentAuthorName, String commentAuthorEmail, boolean commentIsEmailHidden, String commentAuthorUrl, String commentContent)
Send notification on comment's modification- Parameters:
content
- the contentcomment
- the modified commentcommentAuthorName
- the author's name before modificationcommentAuthorEmail
- the author's email before modificationcommentIsEmailHidden
- the email hidden status before modificationcommentAuthorUrl
- the comment's url before modificationcommentContent
- the comment's content before modification
-
_sendMail
protected void _sendMail(Content content, Comment comment, String subjectI18nKey, String bodyI18nKey)
Send notification on comment- Parameters:
content
- the contentcomment
- the modified commentsubjectI18nKey
- the i18n for email subjectbodyI18nKey
- the i18n for email body
-
_sendMail
protected void _sendMail(Content content, Comment comment, String subjectI18nKey, String bodyI18nKey, List<String> i18nParams)
Send notification on comment to comment's author- Parameters:
content
- the contentcomment
- the modified commentsubjectI18nKey
- 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
-
-