Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0-dev/cvs, 2.0-M1, 2.0-M2
-
None
Description
Currently, the JetspeedPowerTool has to do some very odd things when working with layouts. One of the worst is the need to call flush() on the target outpuststream at arbitrary points in the both the template and the tool itself. Most of this stems from the way the aggregation/rendering process works. The current approach in this process is buffer the rendered content from dispatched portlet requested to a PrintWriter, which works great. However, the buffered content is written straight into the portals outputstream/writer. This is the main reason why we have to call flushes as to make sure content gets placed in the correct location.
I have refactored the agg/Render process to write the buffered content into the Fragment object via a setRenderedContent() method. To access the rendered content, all that needs to be done is to call Fragment.getRenderedContent(). This makes developing layout and portlet decorations easier in that there is no longer a requirement to flush() content.