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