[ https://issues.apache.org/jira/browse/COCOON-2072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Chicchiricco updated COCOON-2072: ------------------------------------------- Description: A FAQ here: http://wiki.java.net/bin/view/Portlet/JSR168FAQ#Is_there_a_hack_to_get_set_cooki says that some JSR-168 containers provide their javax.portlet.PortletRequest implementation with cookies, even thought embedded in a string. Looking at sources of Jakarta Pluto (org.apache.pluto.internal.impl.PortletRequestImpl) and Sun's Open Portal - free version of Sun JES Portal Server - (com.sun.portal.portlet.impl.PortletRequestImpl), I found that this is true for both. See attached a simple org.apache.cocoon.components.modules.input.CookieModule extension that can handle all that above, providing cookie access to portlets. was: A FAQ here: http://wiki.java.net/bin/view/Portlet/JSR168FAQ#Is_there_a_hack_to_get_set_cooki says that some JSR-168 containers provide their javax.portlet.PortletRequest implementation with cookies, even thought embedded in a string. Looking at sources of Jakarta Pluto (org.apache.pluto.internal.impl.PortletRequestImpl) and Sun's Open Portal - free version of Sun JES Portal Server - (com.sun.portal.portlet.impl.PortletRequestImpl), I found that this is true for both. So, I wrote a simple org.apache.cocoon.components.modules.input.CookieModule extension that can handle all that above, providing cookie access to portlets: Here's the code: public class PortletAwareCookieModule extends CookieModule { final protected String COOKIE = "cookie"; @Override protected Map getCookieMap(Map objectModel) { if (!objectModel.containsKey(PortletObjectModelHelper.PORTLET_REQUEST_OBJECT)) return super.getCookieMap(objectModel); PortletRequest portletRequest = PortletObjectModelHelper.getPortletRequest(objectModel); String cookieList = portletRequest.getProperty(COOKIE); StringTokenizer cookieTok = new StringTokenizer(cookieList, ";"); String[] cookieParts = null; Map<String, HttpCookie> cookieMap = new HashMap<String, HttpCookie>(); while (cookieTok.hasMoreTokens()) { cookieParts = cookieTok.nextToken() .trim() .split("="); cookieMap.put(cookieParts[0], new HttpCookie(cookieParts[0], cookieParts[1])); } return cookieMap; } } Affects Version/s: 2.1.11 > JSR.168 Portlet-aware CookieModule > ---------------------------------- > > Key: COCOON-2072 > URL: https://issues.apache.org/jira/browse/COCOON-2072 > Project: Cocoon > Issue Type: Improvement > Components: Blocks: Portal > Affects Versions: 2.1.11 > Reporter: Francesco Chicchiricco > Attachments: PortletAwareCookieModule.java > > > A FAQ here: > http://wiki.java.net/bin/view/Portlet/JSR168FAQ#Is_there_a_hack_to_get_set_cooki > says that some JSR-168 containers provide their javax.portlet.PortletRequest > implementation with cookies, even thought embedded in a string. > Looking at sources of Jakarta Pluto > (org.apache.pluto.internal.impl.PortletRequestImpl) and Sun's Open Portal - > free version of Sun JES Portal Server - > (com.sun.portal.portlet.impl.PortletRequestImpl), I found that this is true > for both. > See attached a simple org.apache.cocoon.components.modules.input.CookieModule > extension that can handle all that above, providing cookie access to portlets. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.