Skip to content

Commit

Permalink
improve service listener
Browse files Browse the repository at this point in the history
  • Loading branch information
marioserrano09 committed Apr 29, 2023
1 parent c7d14d5 commit d15d7f5
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,13 @@
import tools.dynamia.templates.VelocityTemplateEngine;

@Listener
public class AutoSendSMSFromEmailServiceListener implements EmailServiceListener {
public class AutoSendSMSFromEmailServiceListener extends EmailServiceListenerAdapter {

@Autowired
private SMSService smsService;

private LoggingService logger = new SLF4JLoggingService(AutoSendSMSFromEmailServiceListener.class);

@Override
public void onMailSending(EmailMessage message) {
//ignore
}

@Override
public void onMailSended(EmailMessage message) {
Expand Down Expand Up @@ -74,9 +70,4 @@ public void onMailSended(EmailMessage message) {
private String parse(EmailMessage message, String text) {
return new VelocityTemplateEngine().evaluate(text, message.getTemplateModel());
}

@Override
public void onMailSendFail(EmailMessage message, Throwable cause) {
//ignore
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,33 @@
*/
public interface EmailServiceListener {

/**
* Executed after email templates and data is process
*
* @param message
*/
void onMailProcessing(EmailMessage message);

/**
* Executed just before email is send
*
* @param message
*/
void onMailSending(EmailMessage message);

/**
* Executed after email is sended succefull
*
* @param message
*/
void onMailSended(EmailMessage message);

/**
* Executed if something explode sending the email message
*
* @param message
* @param cause
*/
void onMailSendFail(EmailMessage message, Throwable cause);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package tools.dynamia.modules.email;

public class EmailServiceListenerAdapter implements EmailServiceListener{
@Override
public void onMailProcessing(EmailMessage message) {

}

@Override
public void onMailSending(EmailMessage message) {

}

@Override
public void onMailSended(EmailMessage message) {

}

@Override
public void onMailSendFail(EmailMessage message, Throwable cause) {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ private EmailSendResult processAndSendEmail(EmailMessage mailMessage, EmailAccou
if (mailMessage.getTemplate() != null) {
processTemplate(mailMessage);
}


fireOnMailProcessing(mailMessage);

JavaMailSenderImpl jmsi = (JavaMailSenderImpl) createMailSender(emailAccount);
MimeMessage mimeMessage = jmsi.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
Expand Down Expand Up @@ -390,6 +394,13 @@ private String[] parseDestination(String destination, VelocityContext context) {
return null;
}

private void fireOnMailProcessing(EmailMessage message) {
Collection<EmailServiceListener> listeners = Containers.get().findObjects(EmailServiceListener.class);
for (EmailServiceListener listener : listeners) {
listener.onMailProcessing(message);
}
}

private void fireOnMailSending(EmailMessage message) {
Collection<EmailServiceListener> listeners = Containers.get().findObjects(EmailServiceListener.class);
for (EmailServiceListener listener : listeners) {
Expand Down

0 comments on commit d15d7f5

Please sign in to comment.