Kamran,
You are really supposed to send the javasdoc for the public apis. We
shouldn't have to take your patch apart in order to comment on it. The
e-mail is also missing the [api] tag.
-- Blake Sullivan
On 10/11/10 2:57 PM, Kamran Kashanian wrote:
To clarify https://issues.apache.org/jira/browse/TRINIDAD-1938 ...
The proposal is to add two new model implementations
in org.apache.myfaces.trinidad.model package:
1) org.apache.myfaces.trinidad.model.RowKeyPropertyModel
2) org.apache.myfaces.trinidad.model.RowKeyPropertyTreeModel
RowKeyPropertyModel extends SortableModel and uses row keys
(identified by a property in each row) instead of indexes.
RowKeyPropertyTreeModel extends ChildPropertyTreeModel and wraps each
child model with a RowKeyPropertyModel.
For implementation details for each model please refer to the patch
Thanks
Kamran
On Mon, Oct 11, 2010 at 2:15 PM, Kamran Kashanian (JIRA)
<[email protected] <mailto:[email protected]>> wrote:
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
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.