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