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.



Reply via email to