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