* each time beginVersion is called, the versionNumber is incremented and a
new changeList is created. But that new changeList is NOT added to the
stack
of changeLists.


yes thats right that is done in the endVersion() call.
Adding it before hand shouldn't make any sense.


* when getVersion(int versionNumber) is called with an older versionNumber
after a call to beginVersion() and before a call to endVersion(), the
undo()
method is called, which pops the last changeList from the stack and
decrements the versionNumber. Since the 'current' changeList is not yet on
the stack, it pops one more changeList from the stack than it should.


This is really really wrong. This should never be possible
How does it happens that that call to getVersion() is done twice at the same
time??
A page shouldn't be accesses more then once (at the same time)


Something to be corrected ? Mayby the newly created changeList should be
added to the stack immediately ? Or is it more correct to not increment
the
versionNumber until the call to endVersion() ?



No it shouldn't because when happens then if the second call did happen for
an old version?
And another request is happening at the same time for another?
Thats really bad, shouldn't happen at anytime. So if you have a test case
for that then
i would really like to see it.

johan

Reply via email to