Update of 
/var/cvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/forms
In directory 
james.mmbase.org:/tmp/cvs-serv7069/subsite/src/java/com/finalist/cmsc/subsite/forms

Modified Files:
        SubSiteAction.java 
Log Message:
add extension for new page buttons


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/forms


Index: SubSiteAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/subsite/src/java/com/finalist/cmsc/subsite/forms/SubSiteAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- SubSiteAction.java  18 Feb 2008 10:55:44 -0000      1.3
+++ SubSiteAction.java  18 Feb 2008 21:29:04 -0000      1.4
@@ -16,6 +16,7 @@
 
 import net.sf.mmapps.commons.util.StringUtil;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
@@ -59,7 +60,6 @@
           SearchForm searchForm = (SearchForm) form;
           
       String subsite = request.getParameter("subsite");
-      request.setAttribute("subsite", subsite);
       
       /* Purpose of this file
        * - retrieve List of all subsites
@@ -68,39 +68,24 @@
        *      -> and put it in a List 
        */
       
-      /*
-      String orderby = request.getParameter("orderby");
-      String direction = request.getParameter("direction");
-      if (StringUtil.isEmpty(orderby)) {
-         orderby = null;
-      }
-      if (StringUtil.isEmpty(direction)) {
-         direction = null;
-      }
-      */ 
-
-/*      //Retrieve list of subsites
-      Node subsiteNode = cloud.getNode(subsite);
-      if (subsiteNode != null) { 
-         Node parentNode = NavigationUtil.getParent(subsiteNode);
-         NodeList subsiteElements = NavigationUtil.getChildren(parentNode);
-         addToRequest(request, "subsiteElements", subsiteElements);
-      }*/
-      
-      
       //Retrieve list of pages of subsite
       Node subsiteNode = null;
-         try {
-                 subsiteNode = cloud.getNode(subsite);
-         }
-         catch (NotFoundException e) {
+      if (StringUtils.isBlank(subsite) || !cloud.hasNode(subsite)) {
                  //If the subsiteNode does not exist or is not valid, get the 
first found subsite
                  NodeManager nm = cloud.getNodeManager(SubSiteUtil.SUBSITE);
-                 NodeList results = nm.createQuery().getList();
+          NodeQuery subsitesQuery = nm.createQuery();
+          SearchUtil.addLimitConstraint(subsitesQuery, 0, 1);
+          SearchUtil.addSortOrder(subsitesQuery, nm, PagesUtil.TITLE_FIELD, 
"DOWN");
+          NodeList results = subsitesQuery.getList();
                  if (results.size() > 0) {
                          subsiteNode = (Node) results.get(0);
                  }
          }
+      else {
+                 subsiteNode = cloud.getNode(subsite);
+         }
+      
+      request.setAttribute("subsite", String.valueOf(subsiteNode.getNumber()));
          
          if (subsiteNode == null){ //If there are no subsites at all, return 
empty list
                  searchForm.setResultCount(0);
@@ -109,20 +94,6 @@
                  return mapping.findForward(SUCCESS);
          } 
          
-//       searchForm.setResultCount(results.size());
-//
-//       searchForm.setResults(results);
-//       return mapping.findForward(SUCCESS);
-         
-         
- /*if (subsiteNode != null) {
-            NodeList elements = NavigationUtil.getChildren(subsiteNode);
-               // NodeList elements = 
RepositoryUtil.getLinkedElements(subsiteNode, null, null, null, false, -1, -1, 
-1, -1, -1);
-            addToRequest(request, "elements", elements);
-            //addToRequest(request, "subsite", subsite);
-//            request.setAttribute("pageNodes", pageNodes);
-         }*/
-
       NodeManager nodeManager = subsiteNode.getNodeManager();
       // Order the result by:
       String order = searchForm.getOrder();
@@ -154,13 +125,7 @@
       searchForm.setKeywords(resultsPerPage);
       
       String direction = null;
-      
-      //QueryStringComposer queryStringComposer = new QueryStringComposer();
-      //NodeQuery query = cloud.createNodeQuery();
-      //createLinkedElementsQuery(channel, orderby, direction, offset, 
maxNumber, year, month, day)
       NodeQuery query = createLinkedElementsQuery(subsiteNode, order, 
direction, offset*maxNumber, maxNumber, -1, -1, -1);
-      //NodeList SearchUtil.findRelatedNodeList(parent, managerName, role, 
fieldname, value, sortName, sortDirection, searchdir)
-      //NodeQuery query = SearchUtil.createRelatedNodeListQuery(parent, 
managerName, role, fieldname, value, sortName, sortDirection, searchdir)
 
       // Add the title constraint:
       if (!StringUtil.isEmpty(searchForm.getTitle())) {
@@ -169,39 +134,14 @@
           SearchUtil.addConstraint(query, titleConstraint);
       }
 
-     
-      
-
       log.debug("QUERY: " + query);
 
       int resultCount = Queries.count(query);
       NodeList results = cloud.getList(query);
-//      System.out.println("Count = " + resultCount);
-//      System.out.println("Query = " + query);
+
       // Set everything on the request.
       searchForm.setResultCount(resultCount);
       searchForm.setResults(results);
-      //request.setAttribute("geturl", queryStringComposer.getQueryString());
-
-      
-/*      if (!StringUtil.isEmpty(subsite)) {
-         Node channel = cloud.getNode(subsite);
-         NodeList elements = RepositoryUtil.getLinkedElements(channel, null,
-               null, null, false, -1, -1, -1, -1, -1);
-         addToRequest(request, "elements", elements);
-       
-         
-         NodeList created = RepositoryUtil.getCreatedElements(channel);
-         Map<String, Node> createdNumbers = new HashMap<String, Node>();
-         for (Iterator<Node> iter = created.iterator(); iter.hasNext();) {
-            Node createdElement = iter.next();
-            createdNumbers.put(String.valueOf(createdElement.getNumber()),
-                  createdElement);
-         }
-         addToRequest(request, "createdNumbers", createdNumbers);
-      }*/
-
-//      return mapping.findForward(SUCCESS);
       return super.execute(mapping, searchForm, request, response, cloud);
    }
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to