Max,
I managed to use our own collectionmodel with a solution similar to what
you suggested (have a method in my backing bean itself wrap the list).
It was a bit complicated because we are using nested tables, so we
always have to keep track of the parent table. But in fact that was
relatively easy with the getRowData() method.
Thanks a lot!
Henk
Max Starets wrote:
Henk,
How about having a simple backing bean used as a table value (for
example - value="{#mybean.collectionModel}".
You can execute EL in getCollectionModel() implementation of mybean to
get the java.util.List, then return an instance
of your custom collection model that wraps the List.
Max
Henk Vanhoe wrote:
Hi Max,
I cannot use my custom model in the backing bean because it is an EJB3
entity with a one-to-many relationship to another entity. The table
should be filled with instances of this other entity but they are only
available in the first entity as a java.util.List. This List is filled
by the application server itself, so I cannot directly make the entity
return my own custom collection model.
(I tried to directly wrap the list in my custom model in the entity
bean itself, but then I had classloader problems as the trinidad
libraries had to be included both in my ejb.jar archive and in the war
archive).
Henk
Max Starets wrote:
Henk,
I must be missing something - why don't you just instantiate your
custom CollectionModel as a backing bean
and EL-bind table's value to it?
Max
Henk Vanhoe wrote:
Hi,
I found one way to force the trinidad table to use our own
collection model: to extend
org.apache.myfaces.trinidad.component.core.data.CoreTable and
override the createCollectionModel method. But I don't like this
solution because for this to work I have to make this method
non-final in the trinidad source code itself and recompile it! Is
there a reason why createCollectionModel is final in the source code
or could this be removed in the source repository itself (or do I
have to ask that on the dev mailing list?) Or does anybody have a
better solution?
Thanks
Henk
Does anybody
Henk Vanhoe wrote:
Hi,
In our tables we need to use our own collection model (a wrapper
for org.apache.myfaces.trinidad.model.CollectionModel with its own
implementation of getRowKey and setRowKey). However the getter in
the backing bean for the value used in the table returns a
java.util.List and the trinidad implementation of CoreTable wraps
that in its own CollectionModel. Is there a way for us to force the
trinidad table to use our own CollectionModel?
Regards,
Henk