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

Modified Files:
        NewsletterSubscriptionServicesImpl.java 
        NewsletterPublicationServiceImpl.java 
Log Message:
CMSC-703 change tag to term


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


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.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- NewsletterSubscriptionServicesImpl.java     25 Apr 2008 18:18:35 -0000      
1.9
+++ NewsletterSubscriptionServicesImpl.java     29 Apr 2008 01:37:04 -0000      
1.10
@@ -13,7 +13,7 @@
 import com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
 import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Subscription;
-import com.finalist.newsletter.domain.Tag;
+import com.finalist.newsletter.domain.Term;
 import com.finalist.newsletter.services.NewsletterSubscriptionServices;
 
 public class NewsletterSubscriptionServicesImpl implements 
NewsletterSubscriptionServices{
@@ -51,23 +51,23 @@
                if(subscription==null){
                        Subscription newSubscription = new Subscription();
                        newSubscription.setNewsletter(newsletter);
-                       newSubscription.setTags(newsletter.getTags());  
+                       newSubscription.setTerms(newsletter.getTerms());
                        return newSubscription;
                }else{
-                       Set<Tag> newsletterTags = newsletter.getTags();
-                       Set<Tag> subscriptionTags = subscription.getTags();
-                       Iterator newsletterTagListIt = 
newsletterTags.iterator();
-                       Iterator selectListIt = subscriptionTags.iterator();
-                       for(int i=0;i<newsletterTags.size();i++)
+                       Set<Term> newsletterTerms = newsletter.getTerms();
+                       Set<Term> subscriptionTerms = subscription.getTerms();
+                       Iterator newsletterTermList = 
newsletterTerms.iterator();
+                       Iterator selectListIt = subscriptionTerms.iterator();
+                       for(int i=0;i<subscriptionTerms.size();i++)
                        {
-                               Tag tag = (Tag) newsletterTagListIt.next();     
        
-                               if(subscriptionTags.size()==0){
-                                       subscriptionTags.add(tag);
+                               Term term = (Term) newsletterTermList.next();
+                               if(subscriptionTerms.size()==0){
+                                       subscriptionTerms.add(term);
                                }else{
-                                       if(subscriptionTags.contains(tag)){
+                                       if(subscriptionTerms.contains(term)){
                                                continue;
                                        }else{
-                                               subscriptionTags.add(tag);
+                                               subscriptionTerms.add(term);
                                        }                       
                                }       
                        }                       
@@ -87,7 +87,7 @@
                        Subscription subscription = new Subscription();
                        subscription.setNewsletter(newsletter);
                        Newsletter test = subscription.getNewsletter();
-                       subscription.setTags(newsletter.getTags());     
+                       subscription.setTerms(newsletter.getTerms());
                        list.add(subscription);
                }
                return list;
@@ -105,31 +105,31 @@
                }
        }
 
-       public void selectTagInLetter(int userId, int newsletterId, int tagId) {
+       public void selectTermInLetter(int userId, int newsletterId, int 
termId) {
                Subscription subscription = cao.getSubscription(newsletterId, 
userId);
-               Set<Tag> tagList = subscription.getTags();
-               Iterator it = tagList.iterator();
-               for(int i=0;i<tagList.size();i++){
-                       Tag tag = (Tag)it.next();
-                       if(tagId==tag.getId()){
-                               tag.setSubscription(true);
+               Set<Term> termList = subscription.getTerms();
+               Iterator it = termList.iterator();
+               for(int i=0;i<termList.size();i++){
+                       Term term = (Term)it.next();
+                       if(termId==term.getId()){
+                               term.setSubscription(true);
                        }
                }
-               cao.addSubscriptionTag(subscription,tagId);
+               cao.addSubscriptionTerm(subscription,termId);
                
        }
        
-       public void unSelectTagInLetter(int userId, int newsletterId, int 
tagId) {
+       public void unSelectTermInLetter(int userId, int newsletterId, int 
termId) {
                Subscription subscription = cao.getSubscription(newsletterId, 
userId);
-               Set<Tag> tagList = subscription.getTags();
-               Iterator it = tagList.iterator();
-               for(int i=0;i<tagList.size();i++){
-                       Tag tag = (Tag)it.next();
-                       if(tagId==tag.getId()){
-                               tag.setSubscription(false);
+               Set<Term> termList = subscription.getTerms();
+               Iterator it = termList.iterator();
+               for(int i=0;i<termList.size();i++){
+                       Term term = (Term)it.next();
+                       if(termId==term.getId()){
+                               term.setSubscription(false);
                        }
                }
-               cao.removeSubscriptionTag(subscription,tagId);
+               cao.removeSubscriptionTerm(subscription,termId);
        }
 
    public void modifyStauts(int userId, int newsletterId, String status) {


Index: NewsletterPublicationServiceImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/services/impl/NewsletterPublicationServiceImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- NewsletterPublicationServiceImpl.java       22 Apr 2008 10:45:31 -0000      
1.9
+++ NewsletterPublicationServiceImpl.java       29 Apr 2008 01:37:04 -0000      
1.10
@@ -1,29 +1,35 @@
 package com.finalist.newsletter.services.impl;
 
-import com.finalist.cmsc.services.community.person.Person;
 import com.finalist.newsletter.cao.NewsLetterStatisticCAO;
 import com.finalist.newsletter.cao.NewsletterPublicationCAO;
 import com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
-import com.finalist.newsletter.domain.Publication;
+import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Publication.STATUS;
 import com.finalist.newsletter.domain.Subscription;
+import com.finalist.newsletter.domain.Term;
+import com.finalist.newsletter.domain.Publication;
 import com.finalist.newsletter.publisher.NewsletterPublisher;
+import com.finalist.newsletter.services.CommunityModuleAdapter;
 import com.finalist.newsletter.services.NewsletterPublicationService;
-
-import java.util.List;
-
+import com.finalist.newsletter.util.NewsletterUtil;
+import com.finalist.portlets.newsletter.NewsletterContentPortlet;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
+import org.mmbase.bridge.Node;
+
+import java.util.List;
+import java.util.Set;
 
 public class NewsletterPublicationServiceImpl implements 
NewsletterPublicationService {
 
-   private static Logger log = 
Logging.getLoggerInstance(NewsletterPublisher.class.getName());
+   private static Logger log = 
Logging.getLoggerInstance(NewsletterPublicationServiceImpl.class.getName());
 
    private NewsletterPublisher publisher;
    private NewsletterPublicationCAO publicationCAO;
    private NewsletterSubscriptionCAO subscriptionCAO;
    private NewsLetterStatisticCAO statisticCAO;
 
+   //CAO setters
    public void setMailSender(NewsletterPublisher publisher) {
       this.publisher = publisher;
    }
@@ -40,39 +46,58 @@
       this.statisticCAO = statisticCAO;
    }
 
-   public void deliverAllPublication() {
-      List<Publication> publications = publicationCAO.getIntimePublication();
-      for(Publication publication:publications){
-         deliver(publication);
-      }
+   //service method.
+   public STATUS getStatus(int publicationId) {
+      return publicationCAO.getPublication(publicationId).getStatus();
    }
 
-   private void deliver(Publication publication) {
-      List<Subscription> subscriptions = 
subscriptionCAO.getSubscription(publication.getNewsletter().getId());
-      publisher.deliver(publication,subscriptions);
-      statisticCAO.logPubliction(publication.getId(),subscriptions.size());
-      publicationCAO.setStatus(publication, STATUS.DELIVERED);
+   public void setStatus(int publicationId, STATUS status) {
+      publicationCAO.setStatus(publicationId, status);
    }
 
-   public void deliver(int newsletterId,String email,String mimeType) {
+   /**
+    * deliver all READY publications in the system
+    */
+   public void deliverAllPublication() {
+      log.info("starting deliver all publications in READY status");
 
-      log.debug("deliver newsletter "+newsletterId+" to "+email+" in mimetype 
"+mimeType);
+      List<Integer> publications = publicationCAO.getIntimePublicationIds();
       
-      Publication publication = publicationCAO.getPublication(newsletterId);
-      Subscription subscription = new Subscription();
+      log.debug(publications.size() + " publications found");
 
-      subscription.setMimeType(mimeType);
+      for (int publicationId : publications) {
+         deliver(publicationId);
+      }
+   }
 
-      subscription.setNewsletter(publication.getNewsletter());
+   /**
+    * deliver specific publication.
+    *
+    * @param publicationId The id of the publication to be sent out
+    */
+   public void deliver(int publicationId) {
 
-      Person person = new Person();
-      person.setEmail(email);
-      subscription.setSubscriber(person);
+      int newsletterId = publicationCAO.getNewsletterId(publicationId);
+      List<Subscription> subscriptions = 
subscriptionCAO.getSubscription(newsletterId);
+      log.debug("deliver publication " + publicationId + " which has " + 
subscriptions.size() + " subscriptions");
 
+      Publication publication = publicationCAO.getPublication(publicationId);
+
+      for (Subscription subscription : subscriptions) {
+         Set<Term> terms = subscriptionCAO.getTerms(subscription.getId());
+         subscription.setTerms(terms);
       publisher.deliver(publication, subscription);
    }
-   public void deliverPublication(int number) {
-      Publication publication = publicationCAO.getPublication(number);
-      deliver(publication);
+
+      statisticCAO.logPubliction(publicationId, subscriptions.size());
+      publicationCAO.setStatus(publicationId, STATUS.DELIVERED);
+   }
+
+   public void deliver(int publicationId, String email, String mimeType) {
+      Publication publication = publicationCAO.getPublication(publicationId);
+      Subscription subscription = new Subscription();
+      subscription.setEmail(email);
+      subscription.setMimeType(mimeType);
+      publisher.deliver(publication, subscription);
    }
 }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to