Update of 
/var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/select/forms
In directory 
james.mmbase.org:/tmp/cvs-serv17138/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/select/forms

Modified Files:
        SelectorAction.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/select/forms
See also: http://www.mmbase.org/jira/browse/CMSC-1033


Index: SelectorAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/select/forms/SelectorAction.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- SelectorAction.java 10 May 2008 16:31:24 -0000      1.6
+++ SelectorAction.java 25 Mar 2009 08:24:18 -0000      1.7
@@ -9,18 +9,27 @@
  */
 package com.finalist.cmsc.navigation.select.forms;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang.StringUtils;
-
-import org.apache.struts.action.*;
-import org.mmbase.bridge.*;
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.Node;
+import org.mmbase.bridge.NodeList;
 
 import com.finalist.cmsc.mmbase.TreeUtil;
-import com.finalist.cmsc.navigation.*;
+import com.finalist.cmsc.navigation.NavigationInfo;
+import com.finalist.cmsc.navigation.NavigationTreeModel;
+import com.finalist.cmsc.navigation.NavigationUtil;
+import com.finalist.cmsc.navigation.PagesUtil;
+import com.finalist.cmsc.navigation.SiteUtil;
 import com.finalist.cmsc.navigation.select.SelectRenderer;
 import com.finalist.cmsc.util.bundles.JstlUtil;
 import com.finalist.tree.TreeInfo;
@@ -29,6 +38,8 @@
 
 public class SelectorAction extends com.finalist.cmsc.struts.SelectorAction {
 
+   private boolean strictPageOnly;
+
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
HttpServletRequest request,
          HttpServletResponse response, Cloud cloud) throws Exception {
@@ -39,6 +50,11 @@
          cloud.setProperty("Selector" + NavigationInfo.class.getName(), info);
       }
 
+      if (mapping instanceof SelectorPageActionMapping) {
+         SelectorPageActionMapping selectoMapping = 
(SelectorPageActionMapping) mapping;
+         strictPageOnly = selectoMapping.isStrictPageOnly();
+      }
+
       JstlUtil.setResourceBundle(request, "cmsc-site");
       return super.execute(mapping, form, request, response, cloud);
    }
@@ -87,7 +103,7 @@
          node = NavigationUtil.getSiteFromPath(cloud, 
node.getStringValue(TreeUtil.PATH_FIELD));
       }
 
-      NavigationTreeModel model = new NavigationTreeModel(node);
+      NavigationTreeModel model = new NavigationTreeModel(node, 
strictPageOnly);
       SelectAjaxRenderer chr = new SelectRenderer(response, getLinkPattern(), 
getTarget());
       AjaxTree t = new AjaxTree(model, chr, info);
       t.setImgBaseUrl("../../gfx/icons/");
@@ -109,6 +125,13 @@
          Node parentNode = NavigationUtil.getPageFromPath(cloud, path);
          if (parentNode != null) {
             NodeList children = NavigationUtil.getChildren(parentNode);
+            if (strictPageOnly) {
+               children = 
NavigationUtil.getStrictPageOrderedChildren(parentNode);
+            }
+            else {
+               children = NavigationUtil.getChildren(parentNode);
+            }
+
             for (Iterator<Node> iter = children.iterator(); iter.hasNext();) {
                Node child = iter.next();
                strings.add(child.getStringValue(TreeUtil.PATH_FIELD));
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to