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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs