Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet
In directory 
james.mmbase.org:/tmp/cvs-serv3840/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet

Modified Files:
        TagRelatedPortlet.java 
Log Message:
CMSC-1167 Add "Click to page" option to the RelatedContentPortlet


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet
See also: http://www.mmbase.org/jira/browse/CMSC-1167


Index: TagRelatedPortlet.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet/TagRelatedPortlet.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- TagRelatedPortlet.java      7 Oct 2008 12:05:00 -0000       1.5
+++ TagRelatedPortlet.java      29 Apr 2009 07:51:31 -0000      1.6
@@ -12,9 +12,6 @@
 import javax.portlet.PortletPreferences;
 import javax.portlet.RenderRequest;
 import javax.portlet.RenderResponse;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.pluto.core.impl.PortletRequestImpl;
 
 import com.finalist.cmsc.beans.om.NavigationItem;
 import com.finalist.cmsc.beans.om.Page;
@@ -28,14 +25,13 @@
 
 public class TagRelatedPortlet extends RelatedContentPortlet {
 
-       protected static final String RELATED_WINDOW = "relatedWindow";
-
        @Override
        protected void doView(RenderRequest req, RenderResponse res)
                        throws PortletException, IOException {
 
-               String window = req.getPreferences().getValue(RELATED_WINDOW, 
null);
-               String elementId = getRelatedElementId(req, window);
+               String relatedPage = 
req.getPreferences().getValue(RELATED_PAGE, null);
+               String relatedWindow = 
req.getPreferences().getValue(RELATED_WINDOW, null);
+               String elementId = getRelatedElementId(req, relatedPage, 
relatedWindow);
 
                if (elementId != null) {
                        req.setAttribute("elementId", elementId);
@@ -44,7 +40,7 @@
                                req.setAttribute("tags", tags);
                        }
                } else {
-                       String channelId = getIdFromScreen(req, window, 
"contentchannel");
+                       String channelId = getIdFromScreen(req, relatedPage, 
relatedWindow, "contentchannel");
                        if (channelId != null) {
                                req.setAttribute("channelId", channelId);
                                if(req.getAttribute("loadTags") == null || 
req.getAttribute("loadTags").equals("true")) {
@@ -52,10 +48,7 @@
                                        req.setAttribute("tags", tags);
                                }
                        } else {
-                               String tag = getIdFromScreen(req, window, 
"tag");
-                               if (tag == null) {
-                                       tag = getTagFromRequestParameters(req, 
window);
-                               }
+                               String tag = getIdFromScreen(req, relatedPage, 
relatedWindow, "tag");
                                if(tag != null) {
                                        tag = tag.replaceAll("0x8", " ");
                                        req.setAttribute("tag", tag);
@@ -70,33 +63,12 @@
                super.doView(req, res);
        }
 
-       private HttpServletRequest getServletRequest(RenderRequest req) {
-               return (HttpServletRequest) ((PortletRequestImpl) 
req).getRequest();
-       }
-
-       private String getTagFromRequestParameters(RenderRequest req, String 
window) {
-               String requestURL = 
getServletRequest(req).getRequestURL().toString();
-               String paramName = "/_rp_" + window + "_tag/1_";
-               int startIndex = requestURL.indexOf(paramName);
-               if (startIndex != -1) {
-                       String elementId = requestURL.substring(startIndex
-                                       + paramName.length());
-                       int endIndex = elementId.indexOf("/");
-                       if (endIndex != -1) {
-                               elementId = elementId.substring(0, endIndex);
-                       }
-                       return elementId;
-               }
-
-               return null;
-       }
-
-       private String getIdFromScreen(RenderRequest req, String window, String 
var) {
-               Integer pageId = getCurrentPageId(req);
+       private String getIdFromScreen(RenderRequest req, String relatedPage, 
String relatedWindow, String var) {
+               Integer pageId = Integer.valueOf(relatedPage);
                NavigationItem item = SiteManagement.getNavigationItem(pageId);
                if (item instanceof Page) {
                        Page page = (Page) item;
-                       int portletId = page.getPortlet(window);
+                       int portletId = page.getPortlet(relatedWindow);
                        Portlet portlet = SiteManagement.getPortlet(portletId);
                        if (portlet != null) {
                                return portlet.getParameterValue(var);
@@ -108,7 +80,8 @@
        @Override
        protected void doEditDefaults(RenderRequest req, RenderResponse res)
                        throws IOException, PortletException {
-               Integer pageid = getCurrentPageId(req);
+               String relatedPage = 
req.getPreferences().getValue(RELATED_PAGE, null);
+               Integer pageid = Integer.valueOf(relatedPage);
                String pagepath = SiteManagement.getPath(pageid, true);
 
                if (pagepath != null) {
@@ -148,9 +121,4 @@
                super.processEditDefaults(request, response);
        }
 
-       private Integer getCurrentPageId(RenderRequest req) {
-               String pageId = (String) req
-                               .getAttribute(PortalConstants.CMSC_OM_PAGE_ID);
-               return Integer.valueOf(pageId);
-       }
 }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to