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