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