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

Modified Files:
        NewsletterContentPortlet.java 
Log Message:
CMSC-867,modify Newsletter Content Portlet.add getting term numbers by request


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


Index: NewsletterContentPortlet.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/portlets/newsletter/NewsletterContentPortlet.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- NewsletterContentPortlet.java       29 Apr 2008 01:37:04 -0000      1.17
+++ NewsletterContentPortlet.java       29 Apr 2008 07:16:49 -0000      1.18
@@ -10,6 +10,8 @@
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
 
+import org.apache.commons.lang.StringUtils;
+
 import net.sf.mmapps.commons.util.StringUtil;
 
 import com.finalist.cmsc.beans.om.ContentElement;
@@ -42,6 +44,8 @@
    protected static final String ELEMENTS = "elements";
    protected static final String TYPES = "types";
    protected static final String MAX_ELEMENTS = "maxElements";
+   
+   private static final String NEWSLETTER_TERMS_PARAM = "termNumbers";
    @Override
    protected void doEditDefaults(RenderRequest request, RenderResponse 
response) throws IOException, PortletException {
       super.doEditDefaults(request, response);
@@ -51,9 +55,9 @@
    protected void doView(RenderRequest request, RenderResponse response) 
throws PortletException, java.io.IOException {
       PortletPreferences preferences = request.getPreferences();
       String template = 
preferences.getValue(PortalConstants.CMSC_PORTLET_VIEW_TEMPLATE, null);
+
       String currentPath = getUrlPath(request);
       NavigationItem result = 
SiteManagement.getNavigationItemFromPath(currentPath);
-
       if (result != null) {
          int itemNumber = result.getId();
          addContentElements(request,itemNumber);
@@ -63,6 +67,7 @@
       }
       doInclude("view", template, request, response);
    }
+   
    protected void addContentElements(RenderRequest req, int itemNumber) {
       String elementId = req.getParameter(ELEMENT_ID);
       if (StringUtil.isEmpty(elementId)) {
@@ -101,13 +106,22 @@
             // A live server will remove expired nodes.
             useLifecycleBool = false;
          }
+         int totalItems  = 0 ;
+         List<ContentElement> elements  = null;
+         String termNumbers = preferences.getValue(NEWSLETTER_TERMS_PARAM, 
null);
+         if(StringUtils.isEmpty(termNumbers)) {
+            totalItems = countContentElements(itemNumber);
+            elements = getContentElements(itemNumber,offset,elementsPerPage, 
orderby, direction);
+         }
+         else {
+            totalItems = countContentElements(termNumbers);
+            elements = getContentElements(termNumbers,offset,elementsPerPage, 
orderby, direction);
+         }
 
-         int totalItems = countContentElements(itemNumber);
          if (startIndex > 0) {
             totalItems = totalItems - startIndex;
          }
 
-         List<ContentElement> elements = 
getContentElements(req,itemNumber,offset,elementsPerPage, orderby, direction);
 
          setAttribute(req, ELEMENTS, elements);
          if (contenttypes != null && !contenttypes.isEmpty()) {
@@ -147,13 +161,21 @@
       
       return totalItems;
    }
+   protected int countContentElements(String termNumbers) {
+      int totalItems = NewsletterUtil.countArticlesByNewsletter(termNumbers);
 
-   protected List<ContentElement> getContentElements(RenderRequest req, int 
itemNumber,int offset,int elementsPerPage, String orderBy, String direction) {
+      return totalItems;
+   }
+   protected List<ContentElement> getContentElements(int itemNumber,int 
offset,int elementsPerPage, String orderBy, String direction) {
 
       List<ContentElement> elements = 
NewsletterUtil.getArticlesByNewsletter(itemNumber,offset,elementsPerPage,orderBy,direction);
       return elements;
    }
+   protected List<ContentElement> getContentElements(String termNumbers,int 
offset,int elementsPerPage, String orderBy, String direction) {
 
+      List<ContentElement> elements = 
NewsletterUtil.getArticlesByNewsletter(termNumbers,offset,elementsPerPage,orderBy,direction);
+      return elements;
+   }
 
    public int getOffset(int currentPage, int pageSize) {
       return ((currentPage - 1) * pageSize) + 1;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to