If considering API changes, it might also be worthwhile to consider
Howard's ancient https://issues.apache.org/jira/browse/TAP5-336 ("The
Cookies service interface could be simplified using a builder pattern"). If
not worthwhile now, then TAP5-336 should probably be closed.


On Tue, Nov 13, 2012 at 12:06 PM, Lenny Primak <[email protected]>wrote:

> Additional methods are easy, and not incompatible.  I say just stick with
> the original Cookie interface.
>
> On Nov 13, 2012, at 9:59 AM, Ulrich Stärk wrote:
>
> > The Cookies interface and implementation can use some love. I'll take
> care of that. Do we want to
> > simply add a new method to the interface or should we create Cookies2
> for backward compatibility?
> >
> > I tend to Cookies2.
> >
> > Uli
> >
> > On 13.11.2012 14:51, Michael Wyraz wrote:
> >> From a54fdc541054a4fad654f31b0467b315812effd9 Tue, 13 Nov 2012 14:51:08
> +0100
> >> From: Michael Wyraz <[email protected]>
> >> Date: Tue, 13 Nov 2012 14:40:22 +0100
> >> Subject: [PATCH] TAP5-1858 Cookie service should allow to set path,
> domain AND maxAge
> >>
> >> diff --git
> a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
> >>
> b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
> >> index 3c88006..adc26e4 100644
> >> ---
> a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
> >> +++
> b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/CookiesImpl.java
> >> @@ -121,6 +121,19 @@
> >>
> >>         cookieSink.addCookie(cookie);
> >>     }
> >> +
> >> +    public void writeCookieValue(String name, String value, String
> path, String domain, int maxAge)
> >> +    {
> >> +        Cookie cookie = new Cookie(name, value);
> >> +        if (path==null) cookie.setPath(request.getContextPath() + "/");
> >> +        else cookie.setPath(path);
> >> +        if (domain!=null) cookie.setDomain(domain);
> >> +        if (maxAge!=0) cookie.setMaxAge(maxAge);
> >> +        else cookie.setMaxAge(defaultMaxAge);
> >> +        cookie.setSecure(request.isSecure());
> >> +
> >> +        cookieSink.addCookie(cookie);
> >> +    }
> >>
> >>     public void removeCookieValue(String name)
> >>     {
> >> diff --git
> a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
> >> b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
> >> index 4bcd653..a081a6d 100644
> >> ---
> a/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
> >> +++
> b/tapestry-core/src/main/java/org/apache/tapestry5/services/Cookies.java
> >> @@ -67,6 +67,11 @@
> >>     void writeCookieValue(String name, String value, String path,
> String domain);
> >>
> >>     /**
> >> +     * As with {@link #writeCookieValue(String, String, String)} but
> an explicit domain,path and
> >> maximum age may be set.
> >> +     */
> >> +    void writeCookieValue(String name, String value, String path,
> String domain, int maxAge);
> >> +
> >> +    /**
> >>      * Removes a previously written cookie, by writing a new cookie
> with a maxAge of 0.
> >>      */
> >>     void removeCookieValue(String name);
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to