[jsr-314-open-mirror] [jsr-314-open] Fwd: Fix UIData state saving model

Leonardo Uribe lu4242 at gmail.com
Wed Aug 25 21:12:59 EDT 2010


2010/8/25 Ed Burns <edward.burns at oracle.com>

> >>>>> On Wed, 25 Aug 2010 13:52:46 -0700, Ed Burns <
> edward.burns at oracle.com> said:
>
> >>>>> On Tue, 17 Aug 2010 16:02:01 -0500, Leonardo Uribe <lu4242 at gmail.com>
> said:
> LU> Hi
> LU> 2010/8/13 Ed Burns <edward.burns at oracle.com>
>
> EB> Here is my response.
>
> LU> Note by default this feature is not active, so I think to test it fully
> it
> LU> is necessary to activate it setting
> LU> preserveRowComponentState to true.
>
> EB> I have executed your very excellent testcase app.  When I traverse the
> EB> app with the markInitialState variant of your fix in place, the fields
> EB> are red that should be red.  When I remove the fix and re-traverse the
> EB> app, all of the fields are red.
>
> EB> I'm experimenting with having preserveRowComponentState to true by
> EB> default.  What do you think of that?
>
> Well, that didn't work so well.  As you'd expect, this failed pretty
> quickly because we had an existing test that exercised the existing
> behavior.
>
> Is everyone OK with having this be configured as a UIData property, or
> would it be better done using a context-param?
>
>
The problem with allow it with a context-param is there is no way to "reset"
the deltas
or remove rows to synchronize the model with the component state.

Suppose a simple use case, where there is a datatable and an option that
removes one
row. Since we don't have a way to notify the component that the row has been
removed
the state of the deleted row will be applied on the next one.

It is worth to mention that tomahawk HtmlDataTableHack has a method to deal
with this
specific use case called:

   public void deleteRowStateForRow(int deletedIndex)

Maybe it is not the best solution but works. In theory, a
publisher-suscriber pattern could
do the job better in this case.

Leonardo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20100825/99730c2f/attachment-0002.html 


More information about the jsr-314-open-mirror mailing list