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 

Reply via email to