Update of 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
In directory 
james.mmbase.org:/tmp/cvs-serv629/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms

Modified Files:
        ContentAction.java 
Log Message:
CMSC-770 - Improved the content explorer to only get the nodes from the 
database needed to show.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
See also: http://www.mmbase.org/jira/browse/CMSC-770


Index: ContentAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/ContentAction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ContentAction.java  26 Nov 2007 11:43:40 -0000      1.5
+++ ContentAction.java  26 Feb 2008 17:23:19 -0000      1.6
@@ -54,11 +54,28 @@
          direction = null;
       }
 
+      // Set the offset (used for paging).
+      String offsetString = request.getParameter("offset");
+      int offset = 0;
+      if (offsetString != null && offsetString.matches("\\d+")) {
+         offset = Integer.parseInt(offsetString);
+      }
+      
+      // Set the maximum result size.
+      String resultsPerPage = 
PropertiesUtil.getProperty(SearchAction.REPOSITORY_SEARCH_RESULTS_PER_PAGE);
+      int maxNumber = 25;
+      if (resultsPerPage != null && resultsPerPage.matches("\\d+")) {
+         maxNumber = Integer.parseInt(resultsPerPage);
+      }
+      addToRequest(request, "resultsPerPage", Integer.toString(maxNumber));
+      
       if (!StringUtil.isEmpty(parentchannel)) {
          Node channel = cloud.getNode(parentchannel);
-         NodeList elements = RepositoryUtil.getLinkedElements(channel, null, 
orderby, direction, false, -1, -1, -1, -1,
-               -1);
+         NodeList elements = RepositoryUtil.getLinkedElements(channel, null, 
orderby, direction, false, offset*maxNumber, maxNumber, -1, -1, -1);
+         int elementCount = RepositoryUtil.countLinkedContent(channel);
+
          addToRequest(request, "elements", elements);
+         addToRequest(request, "elementCount", Integer.toString(elementCount));
 
          NodeList created = RepositoryUtil.getCreatedElements(channel);
          Map<String, Node> createdNumbers = new HashMap<String, Node>();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to