On 27.05.2005 16:05, [EMAIL PROTECTED] wrote:
Author: antonio
Date: Fri May 27 07:05:02 2005
New Revision: 178778

URL: http://svn.apache.org/viewcvs?rev=178778&view=rev
Log:
Cforms block: Improved dynamic selection list performance inside repeaters.

Sorry, but I absolutely don't like it for the following reasons:

1. You introduced a dependency on the class DynamicSelectionList into Field.java where before was only the interface SelectionList.

2. You introduced a dependency on the classes Repeater and RepeaterRow.

3. You mixed builder concerns with datatype concerns (copying code from DefaultSelectionListBuilder to DynamicSelectionList).

4. The implementation of DynamicSelectionList got much more complex, where I don't see a reason why? What's the difference between building a selection list in generateSaxFragment() and in prepareCache()? 90 lines of code just for caching?

Requirements:

1. It must be absolute transparent to Field.java (above issues 1 + 2).

2. No code duplication in sense of copy & paste (above issue 3).

3. Simple code! No code duplication in sense of having two parts of code doing the same (above issue 4).

Solution/suggestion:

What for do we have source validities? Wouldn't help a SelecionListHandler storing the SAX events in a SAX buffer and resaxifying the events if source validity is still valid and wouldn't it fulfill all requirements?

Joerg

Reply via email to