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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs