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

Modified Files:
        NewsletterUtil.java 
Log Message:
CMSC-867,modify Newsletter Content Portlet.


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


Index: NewsletterUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterUtil.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- NewsletterUtil.java 19 Feb 2008 21:13:55 -0000      1.14
+++ NewsletterUtil.java 23 Apr 2008 11:03:16 -0000      1.15
@@ -3,14 +3,19 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import net.sf.mmapps.commons.beans.MMBaseNodeMapper;
 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.util.Queries;
 import org.mmbase.bridge.util.SearchUtil;
 
+import com.finalist.cmsc.beans.om.ContentElement;
+
 public abstract class NewsletterUtil {
 
    public static final String NEWSLETTER = "newsletter";
@@ -194,6 +199,40 @@
       return (null);
    }
 
+   public static List<ContentElement> getArticlesByNewsletter(int 
newsletterNumber,int offset,int elementsPerPage,String orderBy,String 
direction) {
+      if (newsletterNumber > 0) {
+         List<ContentElement> articles = new ArrayList<ContentElement>();
+         Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
+         Node newsletterNode = cloud.getNode(newsletterNumber);
+         NodeManager articleNodeManager = cloud.getNodeManager("article");     
    
+         NodeQuery  query =  
Queries.createRelatedNodesQuery(newsletterNode,articleNodeManager,null,null);
+         Queries.addSortOrders(query, orderBy, direction);
+         query.setOffset(offset);
+         query.setMaxNumber(elementsPerPage);
+         NodeList articleList =query.getList();
+         if (articleList != null) {
+            for (int i = 0; i < articleList.size(); i++) {
+               Node articleNode = articleList.getNode(i);
+               ContentElement element = MMBaseNodeMapper.copyNode(articleNode, 
ContentElement.class);
+               articles.add(element);
+            }
+         }
+         
+         return (articles);
+      }
+      return (null);
+   }
+   public static int countArticlesByNewsletter(int newsletterNumber) {
+      if (newsletterNumber > 0) {
+         Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
+         Node newsletterNode = cloud.getNode(newsletterNumber);
+         NodeManager articleNodeManager = cloud.getNodeManager("article");     
    
+         NodeQuery  query =  
Queries.createRelatedNodesQuery(newsletterNode,articleNodeManager,null,null);
+         return Queries.count(query);
+      }
+      return (0);
+   }
+   
    public static int getDefaultTheme(int number) {
       int defaultTheme = 0;
       if (number > 0) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to