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