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

Modified Files:
        NewsletterSubscriptionServicesImpl.java 
Log Message:
CMSC-725 ,Newsletter Statistic


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


Index: NewsletterSubscriptionServicesImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterSubscriptionServicesImpl.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- NewsletterSubscriptionServicesImpl.java     7 May 2008 02:54:40 -0000       
1.13
+++ NewsletterSubscriptionServicesImpl.java     9 May 2008 07:08:50 -0000       
1.14
@@ -6,9 +6,10 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.lang.StringUtils;
 import org.mmbase.bridge.Node;
-
+import com.finalist.newsletter.services.CommunityModuleAdapter;
 import com.finalist.newsletter.cao.NewsletterCAO;
 import com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
+import com.finalist.newsletter.cao.NewsLetterStatisticCAO;
 import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Subscription;
 import com.finalist.newsletter.domain.Term;
@@ -23,12 +24,15 @@
 public class NewsletterSubscriptionServicesImpl implements 
NewsletterSubscriptionServices {
 
    private static Log log = 
LogFactory.getLog(NewsletterSubscriptionServicesImpl.class);
-
+   NewsLetterStatisticCAO statisticCAO;
    NewsletterSubscriptionCAO subscriptionCAO;
    NewsletterCAO newsletterCAO;
    NewsletterService newsletterService;
    PersonService personService;
 
+   public void setStatisticCAO(NewsLetterStatisticCAO statisticCAO) {
+      this.statisticCAO = statisticCAO;
+   }
    public void setNewsletterCAO(NewsletterCAO newsletterCAO) {
       this.newsletterCAO = newsletterCAO;
    }
@@ -99,7 +103,6 @@
 
    public void changeStatus(int userId, int newsletterId) {
       log.debug(String.format("user % change subscribe status on %s", userId, 
newsletterId));
-
       Subscription subscription = 
subscriptionCAO.getSubscription(newsletterId, userId);
 
       if (STATUS.ACTIVE.equals(subscription.getStatus())) {
@@ -109,11 +112,11 @@
          subscription.setStatus(STATUS.ACTIVE);
       }
       subscriptionCAO.modifySubscriptionStauts(subscription);
+       
statisticCAO.logPubliction(userId,newsletterId,subscription.getStatus());
    }
 
    public void pause(String subscriptionId, String duration, String 
durationunit) {
       Subscription subscription = 
subscriptionCAO.getSubscriptionById(Integer.parseInt(subscriptionId));
-
       subscription.setStatus(STATUS.PAUSED);
       if (null != duration) {
          Date date = DateUtil.calculateDateByDuration(DateUtil.getCurrent(), 
Integer.parseInt(duration), durationunit);
@@ -125,7 +128,6 @@
 
 
    public void pause(String subscriptionId, String resumeDate) {
-
       log.debug(String.format("Pasue subscription %s till %s", subscriptionId, 
resumeDate));
 
       Subscription subscription = 
subscriptionCAO.getSubscriptionById(Integer.parseInt(subscriptionId));
@@ -213,6 +215,7 @@
       subscription.setMimeType("text/html");
       subscription.setStatus(STATUS.ACTIVE);
       subscriptionCAO.addSubscriptionRecord(subscription, userId);
+      statisticCAO.logPubliction(userId,newsletterId,STATUS.ACTIVE);
    }
 
    public void resume(String subscriptionId) {
@@ -225,6 +228,9 @@
       Subscription subscription = 
subscriptionCAO.getSubscriptionById(Integer.parseInt(subscriptionId));
       subscription.setStatus(STATUS.INACTIVE);
       subscriptionCAO.updateSubscription(subscription);
+      int newsletterId = 
newsletterCAO.getNewsletterIdBySubscription(Integer.parseInt(subscriptionId));
+      int userId = CommunityModuleAdapter.getCurrentUserId();
+      statisticCAO.logPubliction(userId,newsletterId,STATUS.INACTIVE);
    }
 
    public Subscription getSubscription(String sId) {
@@ -270,8 +276,6 @@
 
       Set<Subscription> result = new HashSet<Subscription>();
 
-      System.out.printf("---------------"+personIds.size());
-
       for (Subscription subscription : 
getSubscriptionsByNewsletterId(newsletterId)) {
          if(personIds.contains(subscription.getSubscriberId())){
             result.add(subscription);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to