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