You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2005/11/29 18:25:04 UTC

svn commit: r349767 - /incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java

Author: weber
Date: Tue Nov 29 09:24:34 2005
New Revision: 349767

URL: http://svn.apache.org/viewcvs?rev=349767&view=rev
Log:
mv encoding of popups before rendering html head

Modified:
    incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java

Modified: incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewcvs/incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java?rev=349767&r1=349766&r2=349767&view=diff
==============================================================================
--- incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java (original)
+++ incubator/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java Tue Nov 29 09:24:34 2005
@@ -103,6 +103,19 @@
     UILayout.getLayout(component).encodeChildrenOfComponent(facesContext, component);
 //    RenderUtil.encodeChildren(facesContext, page);
 
+// render popups into buffer
+    StringWriter popups = new StringWriter();
+    contentWriter = writer.cloneWithWriter(popups);
+    facesContext.setResponseWriter(contentWriter);
+
+    // write popup components
+    // beware of ConcurrentModificationException in cascating popups!
+    for (int i = 0; i < page.getPopups().size(); i++) {
+      UIComponent popup = page.getPopups().get(i);
+      RenderUtil.encode(facesContext, popup);
+    }
+    
+
     // reset responseWriter and render page
     facesContext.setResponseWriter(writer);
     // TODO PortletRequest
@@ -301,12 +314,8 @@
     // write the proviously rendered page content
     writer.write(content.toString());
 
-    // write popup components
-    // beware of ConcurrentModificationException in cascating popups! 
-    for (int i = 0; i < page.getPopups().size(); i++) {
-      UIComponent popup = page.getPopups().get(i);
-      RenderUtil.encode(facesContext, popup);
-    }
+    // write the previously rendered popups
+    writer.write(popups.toString());
 
     writer.endElement("form");