You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Kamran Kashanian (JIRA)" <de...@myfaces.apache.org> on 2010/10/11 22:17:32 UTC
[jira] Updated: (TRINIDAD-1938) RowKeyPropertyModel and
RowKeyPropertyTreeModel
[ https://issues.apache.org/jira/browse/TRINIDAD-1938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kamran Kashanian updated TRINIDAD-1938:
---------------------------------------
Status: Patch Available (was: Open)
> RowKeyPropertyModel and RowKeyPropertyTreeModel
> -----------------------------------------------
>
> Key: TRINIDAD-1938
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1938
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Components: Components
> Affects Versions: 2.0.0.3-core
> Environment: All
> Reporter: Kamran Kashanian
> Attachments: rowkeymodel.patch
>
>
> By default, when Java Lists/Arrays are used as models in Trinidad table/tree/treeTable components, they are wrapped in a SortableModel instance.
> The problem with SortableModel is that it uses row indexes as row keys. This makes SortableModel immutable and insert/delete operations in the underlying List/array can cause problems. For example, indexes shift after insert/delete operations and can cause problems if the component is holding on to row keys in SelectedRowKey/DisclosedRowKey sets.
> The proposal is to add row key based CollectionModel/TreeModels which avoid using indexes as row keys.
> Attaching a patch for a RowKeyPropertyModel and a RowKeyPropertyTreeModel. RowKeyPropertyModel takes a rowKeyProperty name which identifies the unique row key in each model row by name. The setRowKey/getRowKey etc APIs use the rowKeyProperty to reference the row key attribute.
> One drawback with the default implementation of setRowKey API in RowKeyPropertyModel is that it is inefficient and does a linear search through the model to find the row with the given row key. The search can be optimized in subclasses for specific model implementations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.