You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/12/19 23:55:22 UTC
svn commit: r488845 - in /tapestry/tapestry4/trunk:
tapestry-framework/src/java/org/apache/tapestry/json/
tapestry-framework/src/java/org/apache/tapestry/markup/
tapestry-framework/src/java/org/apache/tapestry/services/impl/
tapestry-portlet/src/test/o...
Author: jkuhnert
Date: Tue Dec 19 14:55:21 2006
New Revision: 488845
URL: http://svn.apache.org/viewvc?view=rev&rev=488845
Log:
Resolves TAPESTRY-825. Cookies weren't always being written out properly because the io flush() call wasn't happening
in time for them to be considered part of the header response by the browser.
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/json/IJSONWriter.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/markup/JSONWriterImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java
tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/json/IJSONWriter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/json/IJSONWriter.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/json/IJSONWriter.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/json/IJSONWriter.java Tue Dec 19 14:55:21 2006
@@ -50,4 +50,10 @@
* any reasources associated with writer to be flushed/written.
*/
void close();
+
+ /**
+ * Forwards <code>flush()</code> to this <code>IMarkupWriter</code>'s
+ * <code>PrintWriter</code>.
+ */
+ void flush();
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/markup/JSONWriterImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/markup/JSONWriterImpl.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/markup/JSONWriterImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/markup/JSONWriterImpl.java Tue Dec 19 14:55:21 2006
@@ -98,6 +98,11 @@
return _array;
}
+ public void flush()
+ {
+ _writer.flush();
+ }
+
/**
* The outputstream being used to write this
* instance's content.
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DefaultResponseBuilder.java Tue Dec 19 14:55:21 2006
@@ -148,6 +148,11 @@
_writer = _markupWriterSource.newMarkupWriter(printWriter, contentType);
}
+ // Important - causes any cookies stored to properly be written out before the
+ // rest of the response starts being written - see TAPESTRY-825
+
+ _writer.flush();
+
// render response
_prs = new PageRenderSupportImpl(_assetFactory, _namespace, cycle.getPage().getLocation(), this);
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java Tue Dec 19 14:55:21 2006
@@ -188,6 +188,11 @@
_writer = _markupWriterSource.newMarkupWriter(printWriter, _contentType);
+ // Important - causes any cookies stored to properly be written out before the
+ // rest of the response starts being written - see TAPESTRY-825
+
+ _writer.flush();
+
parseParameters(cycle);
beginResponse();
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/JSONResponseBuilder.java Tue Dec 19 14:55:21 2006
@@ -142,6 +142,11 @@
_writer = _markupWriterSource.newJSONWriter(printWriter, _contentType);
+ // Important - causes any cookies stored to properly be written out before the
+ // rest of the response starts being written - see TAPESTRY-825
+
+ _writer.flush();
+
// render response
parseParameters(cycle);
Modified: tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java?view=diff&rev=488845&r1=488844&r2=488845
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java (original)
+++ tapestry/tapestry4/trunk/tapestry-portlet/src/test/org/apache/tapestry/portlet/TestPortletRenderer.java Tue Dec 19 14:55:21 2006
@@ -136,6 +136,8 @@
expect(writer.getNestedWriter()).andReturn((NestedMarkupWriter)nested);
+ nested.flush();
+
MarkupWriterSource source = newSource(pw, ct, writer);
IPage page = newPage(ct);
AssetFactory assetFactory = newAssetFactory();