On 6/7/07, Andreas Andreou <[EMAIL PROTECTED]> wrote:
Hi, perhaps im also responsible here...
I should have taken a closer look, but i've heard lots of complaints about
that
change + i didn't get any response from Viktor as to why it was needed or
any test case
And i think i've emailed him twice about that - and not because i was
using it - but because
other users complained... so, now that Leonardo also confirmed this...
Anyway, the good thing is that we now have tests that show both problems,
so we can nail it down
& everyone will be happy.
Leo, i too hate those formatting changes in commit messages, exactly
because i like to go through
all of them - so, please, try to avoid them.
Anyway, ttyl - im trying the tests now :)
Ok, i've managed to debug the issues further. So I think the main problem
,is that during the rewind cycle, the components use the same
'NestedMarkupWriterImpl' which gets injected in the
InjectAjaxComponentRenderWorker.buildMethodCallBack however in the rewind
cycle, it should render to a NullWriter. So in the Bug142, the ajax response
contains the followings:
<response type="element" id="testZone">
<fieldset>
<legend>Test Zone</legend>
<p>
<strong>This zone should appear only once.</strong>
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit
esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.
</p>
</fieldset>
<div id="testZone">
<fieldset>
<legend>Test Zone</legend>
<p>
<strong>This zone should appear only once.</strong>
</p>
<p>
So basicly the same component tree, twice, once without a proper 'div' node,
and once with a div node. The first happens in the rewind cycle, the
difference between the two response comes from the fact, that many
components do not render their tags, in the rewind step, only their body.
Because of other problems in the javascript side, hides this error, so it
worked correclty. I'm not sure exactly why. The recent changes which fixed
the xml correctness issues caused this double rendering in a lot's of
cornercase.
I think the correct fix is to modify the buildMethodCallBack to check for
the rewinding phase, and do not substitute the null writer if it's in the
rewind. My main question, is this just missed somehow in the tacos library?
Is it fixed in the tapestry 4.1 branch, which I heared has an integrated
ajax functionality ? And lastly, how far the tacos-4.0 branch from tapestry
4.1 ? How painfull the upgrade?
BR,
Zsombor
ui. please, please, if you do not have time, or intention to fix problems
caused by commits made by you in other persons applications, please do not
modify the code, without discussion. I try to follow this practice, thanks.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Tacos-devel mailing list
Tacos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tacos-devel