/** * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof CmsSimpleNewsletterRecipient)) { return false; } CmsSimpleNewsletterRecipient recipient = (CmsSimpleNewsletterRecipient)obj; if (getEmail() != recipient.getEmail()) { return false; } if (!getName().equals(recipient.getName())) { return false; } return true; }
/** * * @see java.lang.Comparable#compareTo(java.lang.Object) */ public int compareTo(I_CmsNewsletterContent o) { return new Integer(m_order).compareTo(new Integer(((CmsNewsletterContent)o).getOrder())); }
/** * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof CmsNewsletterContent)) { return false; } CmsNewsletterContent newsletterContent = (CmsNewsletterContent)obj; if (getOrder() != newsletterContent.getOrder()) { return false; } if (!getContent().equals(newsletterContent.getContent())) { return false; } if (!getChannel().equals(newsletterContent.getChannel())) { return false; } if (!getType().equals(newsletterContent.getType())) { return false; } return true; }
while (contents.hasNext()) { I_CmsNewsletterContent content = (I_CmsNewsletterContent)contents.next(); if (recipient.isSubscriber(content)) { if (content.getType().equals(CmsNewsletterContentType.TYPE_HTML)) { htmlMsg.append(content.getContent()); } else { txtMsg.append(content.getContent()); htmlMail.setHtmlMsg(replaceMacros(htmlMsg.toString(), recipient)); Iterator attachments = m_attachments.iterator(); while (attachments.hasNext()) { htmlMail.setTextMsg(replaceMacros(txtMsg.toString(), recipient)); email = htmlMail; } else { textMail.setMsg(replaceMacros(txtMsg.toString(), recipient)); email = textMail; email.addTo(recipient.getEmail()); email.setSubject(m_subject); } catch (EmailException e) {
/** * Replaces the macros in the given message.<p> * * @param msg the message in which the macros are replaced * @param recipient the recipient in the message * * @return the message with the macros replaced */ private String replaceMacros(String msg, I_CmsNewsletterRecipient recipient) { CmsMacroResolver resolver = CmsMacroResolver.newInstance(); resolver.addMacro(MACRO_USER_FIRSTNAME, recipient.getFirstname()); resolver.addMacro(MACRO_USER_LASTNAME, recipient.getLastname()); resolver.addMacro(MACRO_USER_FULLNAME, recipient.getFullName()); resolver.addMacro(MACRO_USER_EMAIL, recipient.getEmail()); resolver.addMacro( MACRO_SEND_DATE, DateFormat.getDateTimeInstance().format(new Date(System.currentTimeMillis()))); return resolver.resolveMacros(msg); } }
/** * Sends a {@link I_CmsNewsletter} to a list of {@link I_CmsNewsletterRecipient} objects.<p> * * @param recipients a list of CmsNewsletterRecipient objects * @param newsletter the newsletter to be distributed * @param cms the CmsObject */ public void distribute(CmsObject cms, List recipients, I_CmsNewsletter newsletter) { Iterator recipientsIterator = recipients.iterator(); while (recipientsIterator.hasNext()) { I_CmsNewsletterRecipient recipient = (I_CmsNewsletterRecipient)recipientsIterator.next(); try { Email mail = newsletter.getEmail(cms, recipient); mail.addTo(recipient.getEmail(), recipient.getFullName()); mail.send(); } catch (Exception e) { LOG.error(e.getMessage(), e); } } }
while (contents.hasNext()) { I_CmsNewsletterContent content = contents.next(); if (recipient.isSubscriber(content)) { if (content.getType().equals(CmsNewsletterContentType.TYPE_HTML)) { htmlMsg.append(content.getContent()); } else { txtMsg.append(content.getContent()); htmlMail.setHtmlMsg(replaceMacros(htmlMsg.toString(), recipient)); Iterator<CmsResource> attachments = m_attachments.iterator(); while (attachments.hasNext()) { htmlMail.setTextMsg(replaceMacros(txtMsg.toString(), recipient)); email = htmlMail; } else { textMail.setMsg(replaceMacros(txtMsg.toString(), recipient)); email = textMail; email.addTo(recipient.getEmail()); email.setSubject(m_subject); } catch (EmailException e) {
/** * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof CmsNewsletterContent)) { return false; } CmsNewsletterContent newsletterContent = (CmsNewsletterContent)obj; if (getOrder() != newsletterContent.getOrder()) { return false; } if (!getContent().equals(newsletterContent.getContent())) { return false; } if (!getChannel().equals(newsletterContent.getChannel())) { return false; } if (!getType().equals(newsletterContent.getType())) { return false; } return true; }
/** * Replaces the macros in the given message.<p> * * @param msg the message in which the macros are replaced * @param recipient the recipient in the message * * @return the message with the macros replaced */ private String replaceMacros(String msg, I_CmsNewsletterRecipient recipient) { CmsMacroResolver resolver = CmsMacroResolver.newInstance(); resolver.addMacro(MACRO_USER_FIRSTNAME, recipient.getFirstname()); resolver.addMacro(MACRO_USER_LASTNAME, recipient.getLastname()); resolver.addMacro(MACRO_USER_FULLNAME, recipient.getFullName()); resolver.addMacro(MACRO_USER_EMAIL, recipient.getEmail()); resolver.addMacro( MACRO_SEND_DATE, DateFormat.getDateTimeInstance().format(new Date(System.currentTimeMillis()))); return resolver.resolveMacros(msg); } }
/** * Sends a {@link I_CmsNewsletter} to a list of {@link I_CmsNewsletterRecipient} objects.<p> * * @param recipients a list of CmsNewsletterRecipient objects * @param newsletter the newsletter to be distributed * @param cms the CmsObject */ public void distribute(CmsObject cms, List<I_CmsNewsletterRecipient> recipients, I_CmsNewsletter newsletter) { Iterator<I_CmsNewsletterRecipient> recipientsIterator = recipients.iterator(); while (recipientsIterator.hasNext()) { I_CmsNewsletterRecipient recipient = recipientsIterator.next(); try { Email mail = newsletter.getEmail(cms, recipient); mail.addTo(recipient.getEmail(), recipient.getFullName()); mail.send(); } catch (Exception e) { LOG.error(e.getMessage(), e); } } }
/** * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (!(obj instanceof CmsSimpleNewsletterRecipient)) { return false; } CmsSimpleNewsletterRecipient recipient = (CmsSimpleNewsletterRecipient)obj; if (getEmail() != recipient.getEmail()) { return false; } if (!getName().equals(recipient.getName())) { return false; } return true; }
/** * * @see java.lang.Comparable#compareTo(java.lang.Object) */ public int compareTo(Object o) { return new Integer(m_order).compareTo(new Integer(((CmsNewsletterContent)o).getOrder())); }