Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl
In directory 
james.mmbase.org:/tmp/cvs-serv5529/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.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- NewsletterSubscriptionCAOImpl.java  21 Apr 2008 09:51:03 -0000      1.10
+++ NewsletterSubscriptionCAOImpl.java  22 Apr 2008 02:58:21 -0000      1.11
@@ -47,7 +47,7 @@
                this.cloud = cloud;
        }
 
-       public List<Newsletter> getAllNewsletter() {
+       /*public List<Newsletter> getAllNewsletter() {
                CloudProvider provider = 
CloudProviderFactory.getCloudProvider();
                cloud = provider.getCloud();
                List<Newsletter> list = new ArrayList<Newsletter>();
@@ -72,8 +72,8 @@
                }
                return list;
        }
-
-       public Newsletter getNewsletterById(int id) {
+*/
+       /*public Newsletter getNewsletterById(int id) {
                CloudProvider provider = 
CloudProviderFactory.getCloudProvider();
                cloud = provider.getCloud();
                System.out.println("Newsletterid=" + id);
@@ -87,10 +87,11 @@
                newsletter = 
NewsletterSubscriptionUtil.convertNodeListtoTagList(
                                taglist, newsletter);
                return newsletter;
-       }
+       }*/
 
-       public List<Newsletter> getUserSubscriptionList(int userId) {
-               List<Newsletter> list = new ArrayList<Newsletter>();
+       /*public List<Subscription> getUserSubscriptionList(int userId) {
+               List<Subscription> list = new ArrayList<Subscription>();
+               Subscription subscription = new Subscription();
                Newsletter newsletter = new Newsletter();
 
                List<Node> resluts = new ArrayList<Node>();
@@ -100,11 +101,9 @@
                for (int i = 0; i < resluts.size(); i++) {
                        Node node = nodes.next();
                        String status = node.getStringValue("status");
-                       newsletter.setStatus(status);
-                       Date interval = node.getDateValue("interval");
-                       newsletter.setInterval(interval);
+                       
subscription.setStatus(Subscription.STATUS.valueOf(status));
                        String format = node.getStringValue("format");
-                       newsletter.setFormat(format);
+                       subscription.setMimeType(format);
 
                        NodeList newsletters = 
node.getRelatedNodes("newsletter");
                        Iterator<Node> newsletterIterator = 
newsletters.iterator();
@@ -112,6 +111,7 @@
                                String title = newsletterIterator.next()
                                                .getStringValue("title");
                                newsletter.setTitle(title);
+                               subscription.setNewsletter(newsletter);
                        }
 
                        NodeManager tagManager = cloud.getNodeManager("tag");
@@ -126,17 +126,16 @@
                                selectTag.setId(selectTagNode.getNumber());
                                selectTag.setSubscription(true);
                        tagList.add(selectTag);
-                               newsletter.setTags(tagList);
+                               subscription.setTags(new HashSet(tagList));
                        }
-                       list.add(newsletter);
+                       list.add(subscription);
                }
                return list;
-       }
+       }*/
 
        public List<Node> querySubcriptionByUser(int userId) {
                CloudProvider provider = 
CloudProviderFactory.getCloudProvider();
                cloud = provider.getCloud();
-               List<Node> results = null;
                NodeManager recordManager = 
cloud.getNodeManager("subscriptionrecord");
                NodeQuery query = cloud.createNodeQuery();
                String subscriber = "subscriber";
@@ -144,7 +143,6 @@
                theStep = query.addStep(recordManager);
                query.setNodeStep(theStep);
                Field field = recordManager.getField(subscriber);
-               String userIdString = String.valueOf(userId);
                Constraint titleConstraint = 
SearchUtil.createEqualConstraint(query,
                                field, userId);
 
@@ -152,56 +150,51 @@
                return query.getList();
        }
 
-       public void addSubscriptionRecord(Newsletter newsletter, int userId) {
+       public void addSubscriptionRecord(Subscription subscription, int 
userId) {
                String nodeType = "subscriptionrecord";
                NodeManager subscriptionrecordNodeManager = cloud
                                .getNodeManager(nodeType);
                Node subscriptionrecordNode = subscriptionrecordNodeManager
                                .createNode();
                subscriptionrecordNode.setIntValue("subscriber", userId);
-               subscriptionrecordNode.setStringValue("status", 
newsletter.getStatus());
-               subscriptionrecordNode.setStringValue("format", 
newsletter.getFormat());
+               subscriptionrecordNode.setStringValue("status", 
subscription.getStatus().toString());
+               subscriptionrecordNode.setStringValue("format", 
subscription.getMimeType());
                subscriptionrecordNode.commit();
                // add Relation to newsletter
-               int nodeNumber = newsletter.getId();
+               int nodeNumber = subscription.getNewsletter().getId();
                Node newsletternode = cloud.getNode(nodeNumber);
                System.out.println("newsletternode=" + 
newsletternode.getNumber());
                RelationManager insrel = 
cloud.getRelationManager("subscriptionrecord",
                                "newsletter", "newslettered");
                subscriptionrecordNode.createRelation(newsletternode, 
insrel).commit();
+               subscription.setId(subscriptionrecordNode.getNumber());
        }
 
-       public void modifySubscriptionStauts(Newsletter newsletter, int userId) 
{
+       public void modifySubscriptionStauts(Subscription subscription) {
                System.out.println("modifySubscriptionStauts");
-               String stauts = newsletter.getStatus();
-               int newsletterId = newsletter.getId();
-               List<Node> records = getSubscriptionrecord(newsletterId, 
userId);
-               if (0 != records.size()) {
-                       Node record = records.get(0);
+               String stauts = subscription.getStatus().toString();
+               int recordId = subscription.getId();
+               Node record = cloud.getNode(recordId);
                        record.setStringValue("status", stauts);
                        record.commit();
-                       if ("unSubscription".equals(stauts)) {
+               
+               if ("INACTIVE".equals(stauts)) {
                                record.deleteRelations("tagged");
                        }
-               }
 
        }
 
-       public void modifySubscriptionFormat(Newsletter newsletter, int userId) 
{
-               int newsletterId = newsletter.getId();
-               System.out
-                               .println("newsletterId=" + newsletterId + 
";userId=" + userId);
-               List<Node> records = getSubscriptionrecord(newsletterId, 
userId);
-               if (0 != records.size()) {
-                       Node record = records.get(0);
+       public void modifySubscriptionFormat(Subscription subscription) {
+               int recordId = subscription.getId();    
+               Node record = cloud.getNode(recordId);
+               
                        System.out.println("recordId=" + record);
-                       String format = newsletter.getFormat();
+               String format = subscription.getMimeType();
                        record.setStringValue("format", format);
                        record.commit();
                }
-       }
 
-       public void modifySubscriptionInterval(Newsletter newsletter, int 
userId) {
+       /*public void modifySubscriptionInterval(Newsletter newsletter, int 
userId) {
                int newsletterId = newsletter.getId();
                List<Node> records = getSubscriptionrecord(newsletterId, 
userId);
                if (0 != records.size()) {
@@ -210,9 +203,9 @@
                        record.setDateValue("interval", interval);
                        record.commit();
                }
-       }
+       }*/
 
-       public List<Node> getSubscriptionrecord(int newsletterId, int userId) {
+       /*public List<Node> getSubscriptionrecord(int newsletterId, int userId) 
{
                // get subscriptionrecord
                CloudProvider provider = 
CloudProviderFactory.getCloudProvider();
                cloud = provider.getCloud();
@@ -243,27 +236,23 @@
                        }
                }
                return results;
-       }
+       }*/
 
-       public void addSubscriptionTag(Newsletter newsletter, int userId, int 
tagId) {
-               int newsletterId = newsletter.getId();
-               List<Node> records = getSubscriptionrecord(newsletterId, 
userId);
-               if (0 != records.size()) {
+       public void addSubscriptionTag(Subscription subscription,int tagId) {
+                       int recordId = subscription.getId();
                        System.out.println("addSubscriptionTag");
-                       Node record = records.get(0);
+                       Node record = cloud.getNode(recordId);
+                       
                        Node tag = cloud.getNode(tagId);
                        RelationManager insrel = cloud.getRelationManager(
                                        "subscriptionrecord", "tag", "tagged");
                        record.createRelation(tag, insrel).commit();
                }
-       }
 
-       public void removeSubscriptionTag(Newsletter newsletter, int userId,
-                       int tagId) {
-               int newsletterId = newsletter.getId();
-               List<Node> records = getSubscriptionrecord(newsletterId, 
userId);
-               if (0 != records.size()) {
-                       Node record = records.get(0);
+       public void removeSubscriptionTag(Subscription subscription,int tagId) {
+                       int recordId = subscription.getId();
+                       Node record = cloud.getNode(recordId);
+                       
                        List<Node> taglist = record.getRelatedNodes("tag");
                        Iterator taglistIt = taglist.iterator();
                        record.deleteRelations("tagged");
@@ -275,14 +264,12 @@
                                        record.createRelation(tag, 
insrel).commit();
                                }
                        }
-
-               }
        }
 
        public Subscription getSubscription(int newsletterId, int userId) {
-
                log.debug("getSubscriptionrecord that newsletterId=" + 
newsletterId);
-
+               CloudProvider provider = 
CloudProviderFactory.getCloudProvider();
+               cloud = provider.getCloud();
                NodeManager recordManager = 
cloud.getNodeManager("subscriptionrecord");
                NodeManager newsletterManager = 
cloud.getNodeManager("newsletter");
 
@@ -310,7 +297,7 @@
                        subscription.setId(subscriptionId);
                        
subscription.setMimeType(subscriptionNode.getStringValue("subscriptionrecord.format"));
                        
subscription.setStatus(Subscription.STATUS.valueOf(subscriptionNode.getStringValue("subscriptionrecord.status")));
                      
-                       
+                       log.debug("Status="+subscription.getStatus());
                        List<Node> tagList =  
cloud.getNode(subscriptionId).getRelatedNodes("tag");
                        log.debug("tagList.size()="+tagList.size());
                        Iterator tagIt = tagList.iterator();
@@ -322,14 +309,12 @@
                                tag.setSubscription(true);
                                subscription.getTags().add(tag);
                        }
+                       return subscription;
                } else {
                        log.debug("Get subscription failed,user " + userId
                                        + " may not subscripbe " + 
newsletterId);
                        return null;
                }
-
-               return subscription;
-
        }
 
        public List<Subscription> getSubscription(int newsletterId) {
@@ -344,9 +329,7 @@
                                it.remove();
                        }
                }
-
                return POConvertUtils.convertSubscriptions(records);
-
        }
 
 }


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.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- NewsletterCAOImpl.java      21 Apr 2008 09:51:03 -0000      1.4
+++ NewsletterCAOImpl.java      22 Apr 2008 02:58:21 -0000      1.5
@@ -1,53 +1,44 @@
 package com.finalist.newsletter.cao.impl;
 
-import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
+
+import net.sf.mmapps.modules.cloudprovider.CloudProvider;
+import net.sf.mmapps.modules.cloudprovider.CloudProviderFactory;
 
 import org.mmbase.bridge.Cloud;
 import org.mmbase.bridge.Node;
 import org.mmbase.bridge.NodeList;
-import org.mmbase.bridge.NodeManager;
-import org.mmbase.bridge.NodeQuery;
 import org.mmbase.bridge.Query;
-import org.mmbase.storage.search.Step;
-import org.mmbase.storage.search.StepField;
-import org.mmbase.storage.search.implementation.BasicFieldValueConstraint;
 
 import com.finalist.newsletter.cao.NewsletterCAO;
-import com.finalist.newsletter.cao.util.NlUtil;
 import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Tag;
 
 public class NewsletterCAOImpl implements NewsletterCAO {
-
        private Cloud cloud;
 
-       public NewsletterCAOImpl() {
-       }
-
-       public NewsletterCAOImpl(Cloud cloud) {
-               super();
+   public void setCloud(Cloud cloud) {
                this.cloud = cloud;
        }
 
-       public List<Newsletter> getAllNewsletters (){
-
-               NodeManager manager = cloud.getNodeManager("newsletter");
-               NodeQuery query = cloud.createNodeQuery();
-               query.setNodeStep(query.addStep(manager));
-               List<Node> nodelist = manager.getList(query);
-               
-               NlUtil nlUtil = new NlUtil();
-               return nlUtil.convertFromNodeList(nodelist);
+   public List<Newsletter> getAllNewsletters() {
+      Query query = cloud.createQuery();
+      query.addStep(cloud.getNodeManager("newsletter"));
+      NodeList list = query.getList();
+      return list;
        }
 
        public Newsletter getNewsletterById(int id) {
+         CloudProvider provider = CloudProviderFactory.getCloudProvider();
+         cloud = provider.getCloud();
       Node newsletterNode = cloud.getNode(id);
       Newsletter newsletter = new Newsletter();
       newsletter.setNumber(newsletterNode.getIntValue("number"));
       newsletter.setTitle(newsletterNode.getStringValue("title"));
-      List<Node> tagList = newsletterNode.getRelatedNodes();
+      List<Node> tagList = newsletterNode.getRelatedNodes("tag");
       Iterator tagIt = tagList.iterator();
       for(int i=0;i<tagList.size();i++){
          Tag tag = new Tag();
@@ -60,4 +51,5 @@
       return newsletter;
    }
 
+
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to