I added the updated patches to https://issues.apache.org/jira/browse/TAP5-1394 - but Jira did not ask me for some license stuff.

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]



--
Mit freundlichen Grüßen / Regards

Michael Wyraz

evermind GmbH
Schorlemmerstraße 1
04155 Leipzig

Tel.:       +49 (0)341-25 39 66 - 0
Fax:        +49 (0)341-25 39 66 - 1
Funk:       +49 (0)177-73 00 00 3
E-Mail:     [email protected]

HRB: 21586
Amtsgericht Leipzig

Geschäftsführer:
Christoph Klemm
Thomas Grünert
Michael Wyraz


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to