DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6657>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6657 CookieMatcher [contribution] Summary: CookieMatcher [contribution] Product: Cocoon 2 Version: Current CVS Platform: Other OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: sitemap components AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] /* Example of usage: <map:match type="cookie" pattern="CURRENT_USER_ID"> <map:generate src="cocoon://home/{CURRENT_USER_ID}/index.xml"/> <map:transform src="xsl/2html/page2html.xsl"/> <map:serialize/> </map:match> */ package org.apache.cocoon.matching; import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.logger.AbstractLoggable; import org.apache.cocoon.Constants; import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.Cookie; import org.apache.cocoon.environment.Request; import org.apache.cocoon.environment.Response; import org.apache.cocoon.environment.Cookie; import org.apache.cocoon.sitemap.PatternException; import java.util.Map; import java.util.HashMap; /** * * Matches cookies agains given name. Returns name, value pairs for all cookies. * @author <a href="mailto:[EMAIL PROTECTED]">Maciek Kaminski</a> */ public class CookieMatcher extends AbstractLoggable implements Matcher { public Map match (String pattern, Map objectModel, Parameters parameters) throws PatternException { if (pattern == null) { throw new PatternException("No cookie name given."); } Request request = (Request) objectModel.get(Constants.REQUEST_OBJECT); Cookie[] cookies = request.getCookies(); HashMap result = null; if (cookies != null) { for ( int i = 0; i < cookies.length; i++) { Cookie cookie = cookies[i]; if (cookie.getName().equals(pattern)) { result = new HashMap(); for ( int j = 0; j < cookies.length; j++) { result.put(cookie.getName(), cookie.getValue()); } } } } return result; } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]