Update of /var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation In directory james.mmbase.org:/tmp/cvs-serv17138/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation
Modified Files: NavigationUtil.java NavigationTreeModel.java Log Message: CMSC-1033 aliases are not stacked in the search of the content channel portlet See also: http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation See also: http://www.mmbase.org/jira/browse/CMSC-1033 Index: NavigationUtil.java =================================================================== RCS file: /var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/NavigationUtil.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -b -r1.24 -r1.25 --- NavigationUtil.java 13 Feb 2009 21:26:01 -0000 1.24 +++ NavigationUtil.java 25 Mar 2009 08:24:18 -0000 1.25 @@ -317,6 +317,16 @@ return children; } + /** + * Get sorted StrictPage child nodes + * + * @param parentNode + * - parent + * @return list of sorted children + */ + public static NodeList getStrictPageOrderedChildren(Node parentNode) { + return SearchUtil.findRelatedOrderedNodeList(parentNode, "page", NAVREL, NAVREL + ".pos"); + } public static NodeList getOrderedChildren(Node parentNode) { return SearchUtil.findRelatedOrderedNodeList(parentNode, null, NAVREL, NAVREL + ".pos"); @@ -330,6 +340,17 @@ return TreeUtil.getChildCount(parent, "object", NAVREL); } + /** + * Get number of strict page children + * + * @param parent + * - parent + * @return number of children + */ + public static int getStrictPageChildCount(Node parent) { + return TreeUtil.getChildCount(parent, "page", NAVREL); + } + public static void movePage(Node sourcePage, Node destPage) { if (!isParent(sourcePage, destPage)) { Relation parentRelation = getParentRelation(sourcePage); Index: NavigationTreeModel.java =================================================================== RCS file: /var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/NavigationTreeModel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -b -r1.5 -r1.6 --- NavigationTreeModel.java 30 Nov 2007 10:58:31 -0000 1.5 +++ NavigationTreeModel.java 25 Mar 2009 08:24:18 -0000 1.6 @@ -2,6 +2,7 @@ import org.mmbase.bridge.*; +import com.finalist.cmsc.repository.RepositoryUtil; import com.finalist.tree.TreeModel; /** @@ -14,11 +15,17 @@ */ public class NavigationTreeModel implements TreeModel { private Node site; + private boolean strictPageOnly = false; public NavigationTreeModel(Node site) { this.site = site; } + public NavigationTreeModel(Node site, boolean strictPageOnly) { + this.site = site; + this.strictPageOnly = strictPageOnly; + } + /** * @see com.finalist.tree.TreeModel#getRoot() */ @@ -30,8 +37,12 @@ * @see com.finalist.tree.TreeModel#getChildCount(java.lang.Object) */ public int getChildCount(Object parent) { - int childCount = NavigationUtil.getChildCount((Node) parent); - return childCount; + if (strictPageOnly) { + return NavigationUtil.getStrictPageChildCount((Node) parent); + } + else { + return NavigationUtil.getChildCount((Node) parent); + } } /** @@ -47,6 +58,12 @@ public Object getChild(Object parent, int index) { Node parentNode = (Node)parent; NodeList pages = NavigationUtil.getOrderedChildren(parentNode); + if (strictPageOnly) { + pages = NavigationUtil.getStrictPageOrderedChildren(parentNode); + } + else { + pages = NavigationUtil.getOrderedChildren(parentNode); + } if (pages.size() > index) { return pages.get(index); _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs