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