[
https://jira.jboss.org/jira/browse/RF-4798?page=com.atlassian.jira.plugin...
]
Alexander Dubovsky closed RF-4798.
----------------------------------
Assignee: Alexander Dubovsky (was: Tsikhon Kuprevich)
SequenceDataModel.walk(...) Fires DataModelEvent for Each row instead
of a only 1!
----------------------------------------------------------------------------------
Key: RF-4798
URL:
https://jira.jboss.org/jira/browse/RF-4798
Project: RichFaces
Issue Type: Bug
Affects Versions: 3.2.2
Environment: Ajax4jsf in RichFaces 3.2.1 & 3.2.2 bundles.
Reporter: Paul Kossler
Assignee: Alexander Dubovsky
org.ajax4jsf.model.SequenceDataModel.walk(...)
...
while (rows < 0 || currentRow < rows) {
wrappedModel.setRowIndex(currentRow);
if(wrappedModel.isRowAvailable()){
visitor.process(context, new Integer(currentRow), argument);
} else {
break;
}
currentRow++;
}
...
Issue: wrappedModel.setRowIndex(currentRow) fires a DataModelEvent for each row in the
wrapped model.
This creates broken behavior for the Event model.
If you have a listener on a DataModel it gets called for each and every row during
PhaseId.APPLY_REQUEST_VALUES
This makes the model think every row gets selected for each cycle!
NOTE: The org.richfaces.model.SequenceDataModel.walk is implemented with out this.
Its seems to me that the latter model handles this the general wrappedData access issue
cleanly by copying the Collection ObjectReferences into an iterable list.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira