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

Modified Files:
        NavigationUtil.java NavigationRenderer.java 
Log Message:
cmsc-639 worked on alias.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation


Index: NavigationUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/NavigationUtil.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- NavigationUtil.java 14 Jan 2008 22:46:36 -0000      1.17
+++ NavigationUtil.java 16 Jan 2008 15:43:10 -0000      1.18
@@ -13,7 +13,11 @@
 
 import java.util.List;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 import net.sf.mmapps.commons.bridge.*;
+import net.sf.mmapps.commons.util.HttpUtil;
 import net.sf.mmapps.commons.util.StringUtil;
 
 import org.mmbase.bridge.*;
@@ -490,4 +494,42 @@
         return SecurityUtil.getUsersWithRights(channel, requiredRole, 
TreeUtil.convertToList(treeManagers), NAVREL);
     }
 
+    
+    /**
+     * This method will calculate the url towards a certain navigation item
+     * @param request
+     * @param response
+     * @param parentNode
+     * @return
+     */
+       public static String getNavigationItemUrl(HttpServletRequest request, 
HttpServletResponse response, Node parentNode) {
+
+           boolean secure = false;
+           if(parentNode.getNodeManager().hasField(PagesUtil.SECURE_FIELD)) {
+                 secure = parentNode.getBooleanValue(PagesUtil.SECURE_FIELD);
+           }
+
+               String pathofpage;
+             if (request != null && ServerUtil.useServerName()) {
+                String[] pathElements = 
NavigationUtil.getPathElementsToRoot(parentNode, true);
+
+                pathofpage = HttpUtil.getWebappUri(request, pathElements[0], 
secure);
+                for (int i = 1; i < pathElements.length; i++) {
+                   pathofpage += pathElements[i] + "/";
+                }
+                if (!request.getServerName().equals(pathElements[0])) {
+                   pathofpage = HttpUtil.addSessionId(request, pathofpage);
+                }
+                else {
+                   pathofpage = response.encodeURL(pathofpage);
+                }
+             }
+             else {
+                String path = NavigationUtil.getPathToRootString(parentNode, 
true);
+                String webappuri = HttpUtil.getWebappUri(request, secure);
+                pathofpage = response.encodeURL(webappuri + path);
+             }
+               return pathofpage;
+       }
+
 }


Index: NavigationRenderer.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/NavigationRenderer.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- NavigationRenderer.java     14 Dec 2007 14:26:16 -0000      1.23
+++ NavigationRenderer.java     16 Jan 2008 15:43:10 -0000      1.24
@@ -94,6 +94,8 @@
 
     public TreeElement createElement(Node parentNode, UserRole role, String 
name, String fragment, boolean secure) {
         String id = String.valueOf(parentNode.getNumber());
+        NavigationItemManager manager = 
NavigationManager.getNavigationManager(parentNode);
+        String contextPath = request.getContextPath();
         return createElement(getIcon(parentNode, role), id, name, fragment, 
getOpenAction(parentNode, secure), target);
     }
     
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to