notifying all the visible components before and after a request is received

View: New views
3 Messages — Rating Filter:   Alert me  

notifying all the visible components before and after a request is received

by Martin Rubi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Hi.
I'd like to notify all of the visible presenters before and after a request is handled.
Conceptually, it would be something like this:
 
-------
MySession>>handleRequest: aRequest
    "This is not code, only an intention of what I would like to do"
 | answer |
 
 self root visiblePresentersDo: [:each | each beforeRequestHandling].
 
 answer := super handleRequest: aRequest.
 
 self root visiblePresentersDo: [:each | each afterRequestHandling].
 
 ^answer
 
-------
 
the reason to do that is that I have some WAComponents of mine which have to lock a resource during the rendering and the callbacks handling. Right now, I'm locking and releasing the resource every time I need to (for instance, in the #renderContentOn: method, but also inside every callback), but I would prefer each component to do it automatically during each request, so I can fogert about it.
 
The question is: can something like that be done (I mean, would it work for scriptacolous callbacks too and that sort of things) ? And if it is, where and how should I do it ?
 
thanks in advance
martin

_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

Re: notifying all the visible components before and after a request is received

by Lukas Renggli :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> The question is: can something like that be done (I mean, would it work for
> scriptacolous callbacks too and that sort of things) ? And if it is, where
> and how should I do it ?

You might want to override #renderContentOn: and
#processChildCallback: within your root component, or within a
decoration that you add around your root component.

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

RE: notifying all the visible components before and after arequest is received

by Sebastian Sastre-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Martin,

        firstly I expect you found a way to achieve your requeriments. Secondly,
a word of caution about locking. Have you really need to lock in render time?
That could slow down your render and, which is worst, will create a point of
contention for the service of your application.

        Maybe you find a way to do the lock thing in a non syncronous process
preventing your render of being a guaranteed bottleneck.

        cheers,
 
Sebastian

 
________________________________

        De: seaside-bounces@...
[mailto:seaside-bounces@...] En nombre de Martin Rubi
        Enviado el: MiĆ©rcoles, 16 de Abril de 2008 15:09
        Para: seaside@...
        Asunto: [Seaside] notifying all the visible components before and after
arequest is received
       
       
        Hi.
        I'd like to notify all of the visible presenters before and after a
request is handled.
        Conceptually, it would be something like this:
         
        -------
        MySession>>handleRequest: aRequest
            "This is not code, only an intention of what I would like to do"
         | answer |
         
         self root visiblePresentersDo: [:each | each beforeRequestHandling].
         
         answer := super handleRequest: aRequest.
         
         self root visiblePresentersDo: [:each | each afterRequestHandling].
         
         ^answer
         
        -------
         
        the reason to do that is that I have some WAComponents of mine which
have to lock a resource during the rendering and the callbacks handling. Right
now, I'm locking and releasing the resource every time I need to (for instance,
in the #renderContentOn: method, but also inside every callback), but I would
prefer each component to do it automatically during each request, so I can
fogert about it.
         
        The question is: can something like that be done (I mean, would it work
for scriptacolous callbacks too and that sort of things) ? And if it is, where
and how should I do it ?
         
        thanks in advance
        martin


_______________________________________________
seaside mailing list
seaside@...
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside