Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
In directory
james.mmbase.org:/tmp/cvs-serv2264/portlets-newsletter/src/java/com/finalist/newsletter/publisher
Modified Files:
Personaliser.java NewsletterPublisher.java
NewsletterGenerator.java
Log Message:
CMSC-703 change tag to term
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
See also: http://www.mmbase.org/jira/browse/CMSC-703
Index: Personaliser.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/Personaliser.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- Personaliser.java 17 Apr 2008 02:50:45 -0000 1.1
+++ Personaliser.java 29 Apr 2008 01:37:05 -0000 1.2
@@ -1,7 +1,8 @@
package com.finalist.newsletter.publisher;
import com.finalist.newsletter.domain.Subscription;
+import com.finalist.newsletter.domain.Publication;
public interface Personaliser {
- public String personalise(String rawHtmlContent, Subscription subscription);
+ public String personalise(String rawHtmlContent, Subscription subscription,
Publication publication);
}
Index: NewsletterPublisher.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/NewsletterPublisher.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- NewsletterPublisher.java 25 Apr 2008 18:18:34 -0000 1.19
+++ NewsletterPublisher.java 29 Apr 2008 01:37:05 -0000 1.20
@@ -2,8 +2,10 @@
import com.finalist.newsletter.domain.Subscription;
import com.finalist.newsletter.domain.Publication;
+import com.finalist.newsletter.domain.Newsletter;
import com.finalist.newsletter.publisher.NewsletterGenerator;
import com.finalist.newsletter.NewsletterSendFailException;
+import com.finalist.newsletter.util.NewsletterUtil;
import com.finalist.cmsc.mmbase.PropertiesUtil;
import org.mmbase.module.Module;
import org.mmbase.util.logging.Logger;
@@ -33,16 +35,20 @@
NewsletterPublisher.personaliser = personaliser;
}
- public void deliver(String url, String recipient, String mineType, String
title,
- String fromAddress, String fromName, String
replyAddress, String replyName) {
+ public void deliver(Publication publication, Subscription subscription) {
try {
Message message = new MimeMessage(getMailSession());
- setSenderInfomation(message, fromAddress, fromName, replyAddress,
replyName);
-
- setRecipient(message, recipient);
- setBody(message, url, mineType);
- setTitle(message, title);
- setMIME(message, mineType);
+ Newsletter newsletter = publication.getNewsletter();
+ setSenderInfomation(message,
+ newsletter.getFromAddress(),
+ newsletter.getFromName(),
+ newsletter.getReplyAddress(),
+ newsletter.getReplyName());
+
+ setRecipient(message, subscription.getEmail());
+ setBody(publication, subscription, message);
+ setTitle(message, publication.getTitle());
+ setMIME(message, subscription.getMimeType());
Transport.send(message);
log.debug("mail send!");
@@ -55,12 +61,18 @@
}
}
+ private void setBody(Publication publication, Subscription subscription,
Message message) throws MessagingException {
+ String url =
NewsletterUtil.getTermURL(publication.getUrl(),subscription.getTerms(),publication.getId());
+ String content = NewsletterGenerator.generate(url,
subscription.getMimeType());
+
+ if (null != getPersonalise()) {
+ content = getPersonalise().personalise(content, subscription,
publication);
+ }
- protected void setBody(Message message, String url, String mimeType) throws
MessagingException {
- String content = NewsletterGenerator.generate(url, mimeType);
message.setText(content + "\n");
}
+
private void setSenderInfomation(Message message, String fromAddress,
String fromName, String replyAddress, String replyName)
throws MessagingException, UnsupportedEncodingException {
@@ -146,17 +158,15 @@
return parameter;
}
- private static String personalise(String rawHtmlContent, Subscription
subscription) {
- String result = rawHtmlContent;
-
+ private Personaliser getPersonalise() {
+ Personaliser ps = null;
if (null == personaliser) {
personaliser = PropertiesUtil.getProperty("newsletter.personaliser");
}
if (StringUtils.isNotEmpty(personaliser)) {
try {
- Personaliser ps = (Personaliser)
Class.forName(personaliser).newInstance();
- result = ps.personalise(rawHtmlContent, subscription);
+ ps = (Personaliser) Class.forName(personaliser).newInstance();
} catch (ClassNotFoundException e) {
log.error("No specified personaliser found:" + personaliser, e);
} catch (IllegalAccessException e) {
@@ -165,7 +175,7 @@
log.error(e);
}
}
- return result;
+ return ps;
}
}
\ No newline at end of file
Index: NewsletterGenerator.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/NewsletterGenerator.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- NewsletterGenerator.java 25 Apr 2008 18:18:34 -0000 1.4
+++ NewsletterGenerator.java 29 Apr 2008 01:37:05 -0000 1.5
@@ -1,22 +1,14 @@
package com.finalist.newsletter.publisher;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
+import javax.mail.MessagingException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-
-import org.mmbase.util.logging.Logger;
-import org.mmbase.util.logging.Logging;
-import org.apache.commons.lang.StringUtils;
-
-import com.finalist.cmsc.mmbase.PropertiesUtil;
-import com.finalist.cmsc.navigation.NavigationUtil;
-import com.finalist.newsletter.domain.Subscription;
-import com.finalist.newsletter.domain.Publication;
-
public class NewsletterGenerator {
private static Logger log =
Logging.getLoggerInstance(NewsletterGenerator.class.getName());
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs