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

Modified Files:
        NewsletterServiceImpl.java 
Log Message:
CMSC-710 function implement.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl
See also: http://www.mmbase.org/jira/browse/CMSC-710


Index: NewsletterServiceImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterServiceImpl.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- NewsletterServiceImpl.java  7 Jul 2008 04:03:43 -0000       1.6
+++ NewsletterServiceImpl.java  18 Jul 2008 08:31:57 -0000      1.7
@@ -1,23 +1,20 @@
 package com.finalist.newsletter.services.impl;
 
-import java.util.List;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.ArrayList;
-
+import com.finalist.newsletter.cao.NewsLetterStatisticCAO;
 import com.finalist.newsletter.cao.NewsletterCAO;
+import com.finalist.newsletter.cao.NewsletterPublicationCAO;
 import com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
 import com.finalist.newsletter.domain.Newsletter;
-import com.finalist.newsletter.domain.Subscription;
+import com.finalist.newsletter.domain.StatisticResult;
 import com.finalist.newsletter.domain.Term;
 import com.finalist.newsletter.services.NewsletterService;
-import com.finalist.newsletter.services.NewsletterSubscriptionServices;
-
-import org.mmbase.bridge.Node;
-import org.mmbase.bridge.NodeManager;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.mmbase.bridge.Node;
+
+import java.util.List;
+import java.util.Set;
 
 public class NewsletterServiceImpl implements NewsletterService {
 
@@ -25,7 +22,8 @@
 
    NewsletterCAO newsletterCAO;
    NewsletterSubscriptionCAO subscriptionCAO;
-   NewsletterSubscriptionServices subscriptionServices;
+   NewsletterPublicationCAO publicationCAO;
+   NewsLetterStatisticCAO statisticCAO;
 
    public void setNewsletterCAO(NewsletterCAO newsletterCAO) {
       this.newsletterCAO = newsletterCAO;
@@ -35,12 +33,15 @@
       this.subscriptionCAO = subscriptionCAO;
    }
 
-   public void setSubscriptionServices(NewsletterSubscriptionServices 
subscriptionServices) {
-      this.subscriptionServices = subscriptionServices;
+   public void setPublicationCAO(NewsletterPublicationCAO publicationCAO) {
+      this.publicationCAO = publicationCAO;
    }
 
-   public List<Newsletter> getAllNewsletter() {
+   public void setStatisticCAO(NewsLetterStatisticCAO statisticCAO) {
+      this.statisticCAO = statisticCAO;
+   }
 
+   public List<Newsletter> getAllNewsletter() {
       return newsletterCAO.getNewsletterByConstraint(null, null, null);
    }
 
@@ -98,6 +99,27 @@
       }
    }
 
+   public void processBouncesOfPublication(String publicationId,String userId) 
{
+      //todo test.
+      int pId = Integer.parseInt(publicationId);
+      int uId = Integer.parseInt(userId);
+
+      int newsletterId = publicationCAO.getNewsletterId(pId);
+
+      Node newsletterNode = newsletterCAO.getNewsletterNodeById(newsletterId);
+      Node subscriptionNode =  
subscriptionCAO.getSubscriptionNode(newsletterId,uId);
+
+      int bouncesCount = subscriptionNode.getIntValue("bounces");
+      int maxAllowedBonce = newsletterNode.getIntValue("max_bounces");
+
+      if(bouncesCount > maxAllowedBonce){
+         subscriptionCAO.pause(subscriptionNode.getNumber());
+      }
+
+      statisticCAO.logPubliction(uId,newsletterId, 
StatisticResult.HANDLE.BOUNCE);
+      subscriptionCAO.updateLastBounce(subscriptionNode.getNumber());
+   }
+
    private List<Newsletter> getAllNewsletterBySubscriber(String subscriber) {
       return null;
    }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to