Hi friends,
Following your suggestions I built my own
DataModel...
(Werner, you warned me about "a" or "b" ways...
Option "b" really seemed usefull, but I chose "a"
because I have a rope rounding my neck... :-D)
Ok... now I have my own model, but it is static
yet. So... How can I access other data from controller
or view from it?
Let me explain better...
I'm working with a managed bean and its gives data
to a x:dataTable through a "getList" method. These
data may depends on criteria inside a request, for
example... how can I achieve this task?
Is there another way to accomplish it?
Thanks and thanks once more!
Joao Bortoletto
--- Werner Punz <[EMAIL PROTECTED]> wrote:
> Joao Bortoletto wrote:
> > Hi Alexander,
> >
> > Thanks for your response!
> > I've studying the example source code. It
> works
> > fine but, like you said, I'm trying to do special
> > things... here we go:
> >
> > I have a system that access data by oracle
> stored
> > procedures.
> >
> > My team decided that data must be paginated on
> > database to avoid excessive web server memory
> usage.
> > So, stored procedures receive a given page as
> > parameter and return records based on that page.
> >
> > So, I'd like to have an engine that calls a
> given
> > stored procedure to get data for a given page on
> each
> > pagination request.
> >
> > I was trying to do that writing a custom
> > javax.faces.model.DataModel... but it appears
> hard...
> >
> >
> It is not that hard, although not too easy thanks to
> the overcomplicated
> api, the main problem you face by implementing your
> own DataTable is to
> have clear demarkation points on when you can aquire
> the DB resources
> and when you can release them, there is simply no
> mechanism defined to
> achive that.
>
> Currently there are several ways known to me:
>
> a) you can prefetch a page and serve the data from
> an internal cache
> (which is the approach I follow currently)
> b) you can use some kind of interceptor/filter on
> the servlet, which
> notifies the datamodel of the beginning of the
> request and the end of
> rendering, so that you can do the resource
> management.
> There are currently several solutions preimplemented
> which can achieve
> exactly that:
>
> In Spring you have the OpenSessionInViewFilter
> class/interface
> and in Shale the ViewController Interface also can
> solve the problem.
> Also using ViewStateListeners on the first and last
> state of the refresh
> cycle which notify any models currently in existence
> might work as well,
> very elegantly.
>
> The rest is more or less implementing the
> mechanisms, which are defined
> by the base classes.
>
> Approach a) might be the hardest of all, because
> adding a caching layer
> to the datamodel, adds another dimension of
> complexity, if I had to do
> it again, I probably ould use approach b) which was
> unknown to me when I
> did a)
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com