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

Modified Files:
        NewsletterSubscriptionCAOImpl.java NewsletterCAOImpl.java 
Log Message:
CMSC-818 modify cao.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl
See also: http://www.mmbase.org/jira/browse/CMSC-818


Index: NewsletterSubscriptionCAOImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterSubscriptionCAOImpl.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- NewsletterSubscriptionCAOImpl.java  18 Apr 2008 08:30:52 -0000      1.8
+++ NewsletterSubscriptionCAOImpl.java  18 Apr 2008 10:47:40 -0000      1.9
@@ -89,8 +89,6 @@
                return newsletter;
        }
 
-       
-
        public List<Newsletter> getUserSubscriptionList(int userId) {
                List<Newsletter> list = new ArrayList<Newsletter>();
                Newsletter newsletter = new Newsletter();
@@ -303,25 +301,27 @@
                                .getField("number"), newsletterId);
 
                List<Node> subscriptionList = query.getList();
-
                Subscription subscription = new Subscription();
                if (0 != subscriptionList.size()) {
+                       Node subscriptionNode = subscriptionList.get(0);        
        
+                       int subscriptionId = 
subscriptionNode.getIntValue("subscriptionrecord.number");
                        log.debug("Get subscription successful");
-                       
subscription.setMimeType(subscriptionList.get(0).getStringValue("format"));
-                       
subscription.setStatus(Subscription.STATUS.valueOf(subscriptionList.get(0).getStringValue("status")));
-                       List<Node> tagList =  
subscriptionList.get(0).getRelatedNodes("tag");
-                       Set<Tag> tags = new HashSet<Tag>();
+                               
+                       subscription.setId(subscriptionId);
+                       
subscription.setMimeType(subscriptionNode.getStringValue("subscriptionrecord.format"));
+                       
subscription.setStatus(Subscription.STATUS.valueOf(subscriptionNode.getStringValue("subscriptionrecord.status")));
                      
+                       
+                       List<Node> tagList =  
cloud.getNode(subscriptionId).getRelatedNodes("tag");
+                       log.debug("tagList.size()="+tagList.size());
                        Iterator tagIt = tagList.iterator();
-                       Tag tag = new Tag();
                        for(int i=0;i<tagList.size();i++){
+                               Tag tag = new Tag();
                                Node tagNode = (Node) tagIt.next();
                                tag.setId(tagNode.getNumber());
                                tag.setName(tagNode.getStringValue("name"));
                                tag.setSubscription(true);
-                               tags.add(tag);
+                               subscription.getTags().add(tag);
                        }
-                       
-
                } else {
                        log.debug("Get subscription failed,user " + userId
                                        + " may not subscripbe " + 
newsletterId);
@@ -331,6 +331,7 @@
                return subscription;
 
        }
+
         public List<Subscription> getSubscription(int newsletterId) {
 
              Node letterNode = cloud.getNode(newsletterId);
@@ -348,5 +349,4 @@
 
           }
 
-       
 }


Index: NewsletterCAOImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterCAOImpl.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- NewsletterCAOImpl.java      16 Apr 2008 10:47:39 -0000      1.2
+++ NewsletterCAOImpl.java      18 Apr 2008 10:47:40 -0000      1.3
@@ -1,6 +1,9 @@
 package com.finalist.newsletter.cao.impl;
 
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 import org.mmbase.bridge.Cloud;
 import org.mmbase.bridge.Node;
@@ -9,6 +12,7 @@
 
 import com.finalist.newsletter.cao.NewsletterCAO;
 import com.finalist.newsletter.domain.Newsletter;
+import com.finalist.newsletter.domain.Tag;
 
 public class NewsletterCAOImpl implements NewsletterCAO {
    private Cloud cloud;
@@ -21,9 +25,7 @@
       Query query = cloud.createQuery();
       query.addStep(cloud.getNodeManager("newsletter"));
       NodeList list = query.getList();
-
       return list;
-
    }
 
    public Newsletter getNewsletterById(int id) {
@@ -31,8 +33,17 @@
       Newsletter newsletter = new Newsletter();
       newsletter.setNumber(newsletterNode.getIntValue("number"));
       newsletter.setTitle(newsletterNode.getStringValue("title"));
+      List<Node> tagList = newsletterNode.getRelatedNodes();
+      Iterator tagIt = tagList.iterator();
+      for(int i=0;i<tagList.size();i++){
+         Tag tag = new Tag();
+         Node tagNode = (Node) tagIt.next();
+         tag.setId(tagNode.getNumber());
+         tag.setName(tagNode.getStringValue("name"));
+         tag.setSubscription(false);
+         newsletter.getTags().add(tag);
+      }
       return newsletter;
-
    }
 
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to