Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet
In directory
james.mmbase.org:/tmp/cvs-serv6598/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet
Modified Files:
TagRelatedPortlet.java TagCloudPortlet.java
Log Message:
CMSC-1066 Worked on with implementing the tag cloud module
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-1066
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.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- TagRelatedPortlet.java 15 Sep 2008 09:40:19 -0000 1.1
+++ TagRelatedPortlet.java 18 Sep 2008 11:21:21 -0000 1.2
@@ -12,7 +12,14 @@
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 org.apache.struts.taglib.TagUtils;
+
+import com.finalist.cmsc.beans.om.NavigationItem;
+import com.finalist.cmsc.beans.om.Page;
+import com.finalist.cmsc.beans.om.Portlet;
import com.finalist.cmsc.portalImpl.PortalConstants;
import com.finalist.cmsc.portlets.RelatedContentPortlet;
import com.finalist.cmsc.services.sitemanagement.SiteManagement;
@@ -35,20 +42,72 @@
List<Tag> tags = TagCloudUtil.getRelatedTags(Integer
.parseInt(elementId));
req.setAttribute("tags", tags);
+ } else {
+ String channelId = getIdFromScreen(req, window,
"contentchannel");
+ if (channelId != null) {
+ List<Tag> tags = TagCloudUtil
+ .getChannelRelatedTags(new
Integer(channelId));
+ req.setAttribute("tags", tags);
+ } else {
+ String tag = getIdFromScreen(req, window,
"tag");
+ if (tag == null) {
+ tag = getTagFromRequestParameters(req,
window);
+ }
+ List<Tag> tags =
TagCloudUtil.getTagRelatedTags(tag);
+ req.setAttribute("tags", tags);
+ }
}
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);
+ NavigationItem item = SiteManagement.getNavigationItem(pageId);
+ if (item instanceof Page) {
+ Page page = (Page) item;
+ int portletId = page.getPortlet(window);
+ Portlet portlet = SiteManagement.getPortlet(portletId);
+ if (portlet != null) {
+ return portlet.getParameterValue(var);
+ }
+ }
+ return null;
+ }
+
@Override
- protected void doEditDefaults(RenderRequest req, RenderResponse res)
throws IOException, PortletException {
+ protected void doEditDefaults(RenderRequest req, RenderResponse res)
+ throws IOException, PortletException {
Integer pageid = getCurrentPageId(req);
String pagepath = SiteManagement.getPath(pageid, true);
if (pagepath != null) {
- Set<String> positions =
SiteManagement.getPagePositions(pageid.toString());
+ Set<String> positions =
SiteManagement.getPagePositions(pageid
+ .toString());
List<String> orderedPositions = new
ArrayList<String>(positions);
Collections.sort(orderedPositions);
- setAttribute(req, "relatedPagepositions", new
ArrayList<String>(orderedPositions));
+ setAttribute(req, "relatedPagepositions", new
ArrayList<String>(
+ orderedPositions));
}
super.doEditDefaults(req, res);
}
@@ -58,32 +117,30 @@
* javax.portlet.ActionResponse)
*/
@Override
- public void processEditDefaults(ActionRequest request,
ActionResponse response)
- throws PortletException, IOException {
+ public void processEditDefaults(ActionRequest request,
+ ActionResponse response) throws PortletException,
IOException {
String action = request.getParameter(ACTION_PARAM);
if (action == null) {
response.setPortletMode(CmscPortletMode.EDIT_DEFAULTS);
- }
- else
- if (action.equals("edit")) {
+ } else if (action.equals("edit")) {
PortletPreferences preferences = request.getPreferences();
- String portletId =
preferences.getValue(PortalConstants.CMSC_OM_PORTLET_ID, null);
+ String portletId = preferences.getValue(
+ PortalConstants.CMSC_OM_PORTLET_ID,
null);
if (portletId != null) {
- setPortletParameter(portletId, RELATED_WINDOW,
request.getParameter(RELATED_WINDOW));
- }
- else {
+ setPortletParameter(portletId, RELATED_WINDOW,
request
+ .getParameter(RELATED_WINDOW));
+ } else {
getLogger().error("No portletId");
}
- }
- else {
+ } else {
getLogger().error("Unknown action: '" + action + "'");
}
super.processEditDefaults(request, response);
}
-
private Integer getCurrentPageId(RenderRequest req) {
- String pageId = (String)
req.getAttribute(PortalConstants.CMSC_OM_PAGE_ID);
+ String pageId = (String) req
+ .getAttribute(PortalConstants.CMSC_OM_PAGE_ID);
return Integer.valueOf(pageId);
}
}
Index: TagCloudPortlet.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/portlet/TagCloudPortlet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- TagCloudPortlet.java 15 Sep 2008 09:40:19 -0000 1.1
+++ TagCloudPortlet.java 18 Sep 2008 11:21:21 -0000 1.2
@@ -24,7 +24,7 @@
Integer max = (maxString == null) ? null :
Integer.parseInt(maxString);
String orderBy = preferences.getValue("orderBy", null);
- List<Tag> tags = TagCloudUtil.getTags(max, orderBy);
+ List<Tag> tags = TagCloudUtil.getTags(max, orderBy, "up");
req.setAttribute("tags", tags);
super.doView(req, res);
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs