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

Modified Files:
        NewsletterCAOImpl.java NewsletterPublicationCAOImpl.java 
        NewsletterSubscriptionCAOImpl.java 
Log Message:
CMSC-818 basic function implement,move service initial to spring.


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: NewsletterCAOImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterCAOImpl.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- NewsletterCAOImpl.java      3 May 2008 15:08:45 -0000       1.11
+++ NewsletterCAOImpl.java      5 May 2008 02:40:11 -0000       1.12
@@ -1,25 +1,32 @@
 package com.finalist.newsletter.cao.impl;
 
-import java.util.Iterator;
-import java.util.List;
-
-import org.mmbase.bridge.Cloud;
-import org.mmbase.bridge.Node;
-import org.mmbase.bridge.NodeList;
-import org.mmbase.bridge.NodeQuery;
+import com.finalist.newsletter.cao.NewsletterCAO;
+import com.finalist.newsletter.cao.AbstractCAO;
+import com.finalist.newsletter.cao.util.NlUtil;
+import com.finalist.newsletter.domain.Newsletter;
+import com.finalist.newsletter.domain.Term;
+import org.mmbase.bridge.*;
+import org.mmbase.bridge.util.SearchUtil;
+import org.mmbase.storage.search.AggregatedField;
 import org.mmbase.storage.search.Step;
+import org.mmbase.storage.search.ResultBuilder;
+import org.mmbase.storage.search.Constraint;
+import org.mmbase.storage.search.implementation.BasicAggregatedField;
+import org.mmbase.storage.search.implementation.BasicSearchQuery;
+import org.mmbase.storage.search.implementation.database.BasicQueryHandler;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
+import org.mmbase.module.core.MMObjectBuilder;
+import org.mmbase.module.core.MMBase;
+import org.mmbase.module.corebuilders.FieldDefs;
+import org.mmbase.core.CoreField;
+import org.apache.commons.lang.StringUtils;
 
-import com.finalist.newsletter.cao.util.NlUtil;
-
-import com.finalist.newsletter.cao.NewsletterCAO;
-import com.finalist.newsletter.domain.Newsletter;
-import com.finalist.newsletter.domain.Term;
+import java.util.Iterator;
+import java.util.List;
 
-public class NewsletterCAOImpl implements NewsletterCAO {
+public class NewsletterCAOImpl extends AbstractCAO implements NewsletterCAO {
    private static Logger log = 
Logging.getLoggerInstance(NewsletterCAOImpl.class.getName());
-   private Cloud cloud;
 
        public NewsletterCAOImpl() {
        }
@@ -28,14 +35,40 @@
                this.cloud = cloud;
        }
 
-       public List<Newsletter> getAllNewsletters() {
+   public List<Term> getALLTerm() {
+      NodeQuery query = cloud.createNodeQuery();
+      Step step = query.addStep(cloud.getNodeManager("term"));
+      query.setNodeStep(step);
+      NodeList list = query.getList();
+      return list;
+   }
+
+   public List<Newsletter> getNewsletterByConstraint(String property, String 
constraintType, String value) {
                NodeQuery query = cloud.createNodeQuery();
-               Step step = query.addStep(cloud.getNodeManager("newsletter"));
+      NodeManager nodeManager = cloud.getNodeManager("newsletter");
+      Step step = query.addStep(nodeManager);
                query.setNodeStep(step);
+      if (StringUtils.isNotBlank(property)) {
+         if (constraintType.equals("like")) {
+            SearchUtil.addLikeConstraint(query, 
nodeManager.getField(property), value);
+         }
+      }
                NodeList list = query.getList();
                return NlUtil.convertFromNodeList(list);
        }
 
+   public int getNewsletterIdBySubscription(int id) {
+      log.debug("Get newsletter by subsription "+id);
+      Node subscriptionNode = cloud.getNode(id);
+      List<Node> nodes = subscriptionNode.getRelatedNodes("newsletter");
+
+      if(nodes.size()>0){
+         return nodes.get(0).getNumber();
+      }else{
+         return -1;
+      }
+   }
+
    public Newsletter getNewsletterById(int id) {
       Node newsletterNode = cloud.getNode(id);
       Newsletter newsletter = new Newsletter();


Index: NewsletterPublicationCAOImpl.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/cao/impl/NewsletterPublicationCAOImpl.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- NewsletterPublicationCAOImpl.java   29 Apr 2008 01:37:04 -0000      1.6
+++ NewsletterPublicationCAOImpl.java   5 May 2008 02:40:11 -0000       1.7
@@ -20,6 +20,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
+import java.util.HashSet;
 
 
 public class NewsletterPublicationCAOImpl implements NewsletterPublicationCAO {
@@ -100,6 +101,37 @@
       return relatedNewsletters.get(0).getNumber();
    }
 
+   public List<Publication> getAllPublications() {
+      NodeQuery query = cloud.createNodeQuery();
+      Step step = query.addStep(cloud.getNodeManager("newsletterpublication"));
+      query.setNodeStep(step);
+      NodeList list = query.getList();
+      return list;
+   }
+
+   public List<Publication> getPublicationsByNewsletter(int id, 
Publication.STATUS status) {
+       Node newsletterNode = cloud.getNode(id);
+       List<Node> publicationNodes = 
newsletterNode.getRelatedNodes("newsletterpublication");
+
+       Set<Publication> publications = new HashSet<Publication>();
+
+       for(Node publicationNode:publicationNodes){
+          
if(null==status||status.toString().equals(publicationNode.getStringValue("status"))){
+             publications.add(convertFromNode(publicationNode));
+          }
+       }
+
+      log.debug(String.format("Get %s publications of newsletter %s in %s 
status",publications.size(),id,status));
+      return new ArrayList(publications);
+    }
+
+   private Publication convertFromNode(Node node){
+      Publication publication = new Publication();
+      publication.setId(node.getNumber());
+      return publication;
+   }
+
+
    protected String getNewsletterPath(Node newsletterPublicationNode) {
       return NavigationUtil.getPathToRootString(newsletterPublicationNode, 
true);
    }


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.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- NewsletterSubscriptionCAOImpl.java  3 May 2008 14:40:59 -0000       1.16
+++ NewsletterSubscriptionCAOImpl.java  5 May 2008 02:40:11 -0000       1.17
@@ -1,37 +1,25 @@
 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 com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
+import com.finalist.newsletter.cao.AbstractCAO;
+import com.finalist.newsletter.domain.Newsletter;
+import com.finalist.newsletter.domain.Subscription;
+import static com.finalist.newsletter.domain.Subscription.STATUS;
+import com.finalist.newsletter.domain.Term;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.mmbase.bridge.Cloud;
-import org.mmbase.bridge.Field;
-import org.mmbase.bridge.Node;
-import org.mmbase.bridge.NodeManager;
-import org.mmbase.bridge.NodeQuery;
-import org.mmbase.bridge.Query;
-import org.mmbase.bridge.RelationManager;
+import org.mmbase.bridge.*;
 import org.mmbase.bridge.util.SearchUtil;
 import org.mmbase.storage.search.Constraint;
-import org.mmbase.storage.search.RelationStep;
 import org.mmbase.storage.search.Step;
 
-import com.finalist.newsletter.cao.NewsletterSubscriptionCAO;
-import com.finalist.newsletter.domain.Subscription;
-import com.finalist.newsletter.domain.Term;
-import com.finalist.newsletter.domain.Newsletter;
-import com.finalist.newsletter.services.CommunityModuleAdapter;
-import static com.finalist.newsletter.domain.Subscription.STATUS;
+import static com.finalist.newsletter.util.NewsletterSubscriptionUtil.*;
+import java.util.*;
 
-public class NewsletterSubscriptionCAOImpl implements 
NewsletterSubscriptionCAO {
+public class NewsletterSubscriptionCAOImpl extends AbstractCAO implements 
NewsletterSubscriptionCAO {
 
    private static Log log = 
LogFactory.getLog(NewsletterSubscriptionCAOImpl.class);
 
-   private Cloud cloud;
 
    public NewsletterSubscriptionCAOImpl() {
    }
@@ -198,15 +186,7 @@
       return subscribers;
    }
 
-   private Subscription convertFromNode(Node node) {
-      Subscription subscription = new Subscription();
-      subscription.setId(node.getIntValue("number"));
-      subscription.setMimeType(node.getStringValue("format"));
-      
subscription.setStatus(Subscription.STATUS.valueOf(node.getStringValue("status")));
-      
subscription.setSubscriber(CommunityModuleAdapter.getUserById(node.getStringValue("subscriber")));
-      subscription.setSubscriberId(node.getStringValue("subscriber"));
-      return subscription;
-   }
+  
 
    public void createSubscription(int userId, int newsletterId) {
       log.debug("Create subscription user:" + userId + " newsletter:" + 
newsletterId);
@@ -262,4 +242,14 @@
 
       return subs;
    }
+
+   public List<Node> getAllSubscriptions() {
+
+      NodeQuery query = cloud.createNodeQuery();
+      Step step = query.addStep(cloud.getNodeManager("subscriptionrecord"));
+      query.setNodeStep(step);
+      List<Node> list = query.getList();
+
+      return list;
+   }
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to