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

Modified Files:
      Tag: b1_4
        LinkTag.java 
Log Message:
CMSC-805 Add optional parameters to content url when redirected


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib/navigation
See also: http://www.mmbase.org/jira/browse/CMSC-805


Index: LinkTag.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/taglib/src/java/com/finalist/cmsc/taglib/navigation/LinkTag.java,v
retrieving revision 1.17
retrieving revision 1.17.2.1
diff -u -b -r1.17 -r1.17.2.1
--- LinkTag.java        28 Jan 2008 21:15:45 -0000      1.17
+++ LinkTag.java        10 Mar 2008 09:25:14 -0000      1.17.2.1
@@ -22,6 +22,7 @@
 
 import com.finalist.cmsc.beans.om.*;
 import com.finalist.cmsc.navigation.ServerUtil;
+import com.finalist.cmsc.services.search.PageInfo;
 import com.finalist.cmsc.services.search.Search;
 import com.finalist.cmsc.services.sitemanagement.SiteManagement;
 import com.finalist.cmsc.taglib.CmscTag;
@@ -240,13 +241,20 @@
     private void addPortletParametersToUrl(PortalURL u) {
         if (element != null) {
             int pageId = page.getId();
-            if (window == null) {
-               window = Search.getPortletWindow(pageId, element);
+            PageInfo pageInfo = Search.getPortletInformation(pageId, element);
+            if (pageInfo != null) {
+               window = pageInfo.getWindowName(); 
+               u.setRenderParameter(window, "elementId", new String[] { 
element });
+               for (Map.Entry<String, String> urlParam : 
pageInfo.getUrlParameters().entrySet()) {
+                   u.setRenderParameter(pageInfo.getWindowName(), 
urlParam.getKey(), new String[] { urlParam.getValue() } );
+               }
             }
+            else {
             if (window != null) {
                u.setRenderParameter(window, "elementId", new String[] { 
element });
             }
          }
+         }
        
          if (window != null) {
             for (Map.Entry<String, Object> paramEntry : params.entrySet()) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to