Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher
In directory james.mmbase.org:/tmp/cvs-serv15573/publisher

Modified Files:
      Tag: b1_5
        NewsletterPublisher.java 
Log Message:
CMSC-1146 Newsletter: add functionality to freeze and defrost a newsletter 
edition


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-1146


Index: NewsletterPublisher.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/publisher/NewsletterPublisher.java,v
retrieving revision 1.34.2.3
retrieving revision 1.34.2.4
diff -u -b -r1.34.2.3 -r1.34.2.4
--- NewsletterPublisher.java    13 Nov 2008 11:12:46 -0000      1.34.2.3
+++ NewsletterPublisher.java    13 Nov 2008 11:47:31 -0000      1.34.2.4
@@ -3,6 +3,7 @@
 import com.finalist.cmsc.mmbase.PropertiesUtil;
 import com.finalist.cmsc.services.community.ApplicationContextFactory;
 import com.finalist.newsletter.NewsletterSendFailException;
+import com.finalist.newsletter.domain.EditionStatus;
 import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Publication;
 import com.finalist.newsletter.domain.Subscription;
@@ -51,8 +52,19 @@
 
    public void deliver(Publication publication, Subscription subscription) {
       try {
+         Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
+         Node newsletterEditionNode = cloud.getNode(publication.getId());
          // if needed to prompt user this validate will be remove to Action
-         String originalBody = getBody(publication, subscription);
+         String originalBody  = "";
+         String status = 
newsletterEditionNode.getStringValue("process_status");
+         if (EditionStatus.INITIAL.value().equals(status)) {
+            originalBody = getBody(publication, subscription);
+         }
+         else {
+            originalBody = newsletterEditionNode.getStringValue("static_html");
+         }
+         
+
          NewsletterService service = (NewsletterService) 
ApplicationContextFactory.getBean("newsletterServices");
          // Newsletter newsletter = 
service.getNewsletterBySubscription(subscription.getId());
          Newsletter newsletter = publication.getNewsletter();
@@ -67,6 +79,9 @@
          setTitle(message, newsletter.getTitle());
          // setMIME(message, subscription.getMimeType());
          Transport.send(message);
+         
newsletterEditionNode.setStringValue("process_status",EditionStatus.APPROVED.value());
+         newsletterEditionNode.setStringValue("static_html",originalBody);
+         newsletterEditionNode.commit();
          log.debug(String.format("mail send! publication %s to %s in %s 
format", publication.getId(), subscription
                .getId(), subscription.getMimeType()));
       } catch (MessagingException e) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to