cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kai Bruns" <br...@dialog.uni-oldenburg.de>
Subject Antwort: Re: [resent] map:part's processed in parallel?
Date Tue, 12 Aug 2003 08:51:59 GMT

I can't think of such an option. Actions have to be executed at pipeline
setup because the selection of pipeline components depends on the success
or failure of  actions. Otherwise pipelines couldn't be set up and then
executed but had to be somehow interpreted during execution.

Kai



                                                                                         
                                             
                    "Sonny                                                               
                                             
                    Sukumar"              An:     users@cocoon.apache.org                
                                             
                    <ahimsadesi@ho        Kopie:                                      
                                                
                    tmail.com>            Thema:  Re: [resent] map:part's processed in
parallel?                                       
                                                                                         
                                             
                    12.08.2003                                                           
                                             
                    09:11                                                                
                                             
                    Bitte                                                                
                                             
                    antworten an                                                         
                                             
                    users                                                                
                                             
                                                                                         
                                             
                                                                                         
                                             





I ended up doing something similar.  I created an action that updates the
quantities of the cart items in the way I wanted to, and placed that action

right before the action that calculates the line item costs.  I had to
amend
parts of my XSP and rethink some things, but I did get it work.

I still wonder if there's any way to specify that an action shouldn't be
executed at pipeline setup, but during pipeline execution in the order in
which it appears.  If there is such an option, I could have kept my
original
design and code. ;-)

Sonny

>
>Or move the code that pulls the shopping cart from the session to an
action
>into your "getCart" pipeline. Then they should all be calculated at setup
>time ;-).
>
>On 11 Aug 2003 at 1:19, Sonny Sukumar wrote:
>
> >
> > Aha, I think you're onto something there.  The results I get make
> > sense if indeed 1.) all of the map:part pipelines are set up before
> > any of them executes, and 2.) if actions are executed during pipeline
> > setup.
> >
> > I think we're mostly unclear on #1, but it does seem like that's
> > what's happening.  Assuming it is, do you have any suggestions for
> > refactoring/rearranging things both in the sitemap and otherwise to
> > solve the shopping cart subtotal calculation problem I detailed below?
>
>Move the code to calculate your line item costs from an action into your
>getLineItemCosts.xsp file. Then they'll all be calculated at generation
>time.
>
>Possible?
>
>Regards, Upayavira
>
> > Thanks for all of your help,
> >
> > Sonny
> >
> > >Hi Sonny,
> > >
> > >I haven't proofed yet but I think your problem may result from the
> > >way cocoon sets up the pipelines to be executed. I think what happens
> > >is that during pipeline setup for your main matcher (showCartPage)
> > >the pipelines for the two parts (getCart and getLineItemCosts) are
> > >set up resulting in your action (calculate-line-item-costs) being
> > >executed, because actions are executed during pipeline-setup. After
> > >setup these pipelines (and so the serverpages) are executed.
> > >
> > >As I said, I haven't proofed, but maybe it's a hint you can follow.
> > >
> > >HTH,
> > >
> > >Kai
> > >
> > >Thanks for examining the code for me Upayavira.  I saw another post
> > >in the archives explaining why it'd be too hard for the map:parts to
> > >be constructed in parallel and for no real gain (SAX events from each
> > >part coming in at random times and getting mixed up).
> > >
> > >So I'm not sure.  But please take a look at my specific problem and
> > >see if there's something I'm missing (must be!):
> > >
> > >This is in the sitemap:
> > >
> > ><map:match pattern="getCart">
> > ><map:generate src="xml/getCartInfo.xsp" type="serverpages"/>
> > ><map:serialize type="xml"/>
> > ></map:match>
> > >
> > ><map:match pattern="getLineItemCosts">
> > >   <map:act type="calculate-line-item-costs"/>
> > >   <map:generate src="xml/getLineItemCosts.xsp" type="serverpages"/>
> > >   <map:serialize type="xml"/>
> > ></map:match>
> > >
> > ><!-- ***MAIN MATCHER*** -->
> > ><map:match pattern="showCartPage">
> > ><map:aggregate element="cart-page">
> > >    <map:part src="cocoon:/getCart" strip-root="true"/>
> > >    <map:part src="cocoon:/getLineItemCosts"/>
> > ></map:aggregate>
> > ><map:serialize type="xml"/>
> > ></map:match>
> > >
> > >The first map:part (whose src="cocoon:/getCart") comes out fine, and
> > >within
> > >
> > >its XSP code it pulls the shopping cart from the session.  The cart
> > >just has 1 item (product) in it, and that the XSP modifies the
> > >quantity of the item from 1 to 0 (I tested that it does).
> > >
> > >The 2nd map:part is then executed, and executes an action that
> > >calculates the subtotal for the cart by pulling the cart from the
> > >session.  HERE is the strange behavior, because the quantity for the
> > >single cart item is now 1, when it should be 0 (I verified this by
> > >logging).
> > >
> > >So now the 2nd part execution finishes by generating from
> > >xml/getLineItemCosts.xsp.  I actually tried pulling the cart from the
> > >session again in this code and seeing what the quantity is....and
> > >it's ZERO!
> > >
> > >So my question is: If my Action executes in between the 2 XSPs and
> > >both of those output 0 for the quantity, how can the Action always
> > >see it as 1? This is what got me asking if map:parts are constructed
> > >in parallel.
> > >
> > >I'd appreciate all of your insights,
> > >
> > >Sonny
> > >
> > > >From: "Upayavira" <uv@upaya.co.uk>
> > > >Reply-To: users@cocoon.apache.org
> > > >To: users@cocoon.apache.org
> > > >Subject: Re: [resent] map:part's processed in parallel?
> > > >Date: Sun, 10 Aug 2003 23:56:27 +0100
> > > >
> > > >Sonny,
> > > >
> > > >I've taken a look at the source for the Aggregator. In that code
> > > >there's
> > >no
> > > >reference to
> > > >threading, however it does use a parser to interpret the sources
> > > >that the <map:part> nodes refer to. It is possible that those
> > > >parsers are multi-threaded, and right now finding that out is
> > > >beyond my level of ability. Maybe someone else can
> > >help
> > > >more...
> > > >
> > > >Regards, Upayavira
> > > >
> > > >On 10 Aug 2003 at 15:02, Sonny Sukumar wrote:
> > > >
> > > > >
> > > > > [I didn't get any response, so I was wondering if somebody knows
> > > > > about this.
> > > > >   It would be really helpful.]
> > > > >
> > > > > Hey all,
> > > > >
> > > > > Are map:parts in a map:aggregate executed in parallel or in
> > > > > serial? Because I wrote one where the 2nd part should only start
> > > > > to be generated after the first has completed, but the output
> > > > > indicates a parallel execution instead of a serial one.  For
> > > > > example:
> > > > >
> > > > > <map:aggregate element="new-root">
> > > > >   <map:part src="cocoon:/src1"/>
> > > > >   <map:part src="cocoon:/src2"/>
> > > > > </map:aggregate>
> > > > >
> > > > > Here I need cocoon:/src2 to only begin its generation after
> > > > > cocoon:/src1 is completed.  If they do go in parallel, is there
> > > > > any way to force the parts to be generated serially?
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Sonny
> > > > >
> > > > > ________________________________________________________________
> > > > > _ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
> > > > > http://join.msn.com/?page=features/virus
> > > > >
> > > > >
> > > > > ----------------------------------------------------------------
> > > > > ----- To unsubscribe, e-mail:
> > > > > users-unsubscribe@cocoon.apache.org For additional commands,
> > > > > e-mail: users-help@cocoon.apache.org
> > > > >
> > > >
> > > >
> > > >
> > > >-------------------------------------------------------------------
> > > >-- To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For
> > > >additional commands, e-mail: users-help@cocoon.apache.org
> > > >
> > >
> > >_________________________________________________________________
> > >STOP MORE SPAM with the new MSN 8 and get 2 months FREE*
> > >http://join.msn.com/?page=features/junkmail
> > >
> > >
> > >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For
> > >additional commands, e-mail: users-help@cocoon.apache.org
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >---------------------------------------------------------------------
> > >To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For
> > >additional commands, e-mail: users-help@cocoon.apache.org
> > >
> >
> > _________________________________________________________________ MSN
> > 8 helps eliminate e-mail viruses. Get 2 months FREE*.
> > http://join.msn.com/?page=features/virus
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For
> > additional commands, e-mail: users-help@cocoon.apache.org
> >
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>For additional commands, e-mail: users-help@cocoon.apache.org
>
>
>
>
>
>
>
>
>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>For additional commands, e-mail: users-help@cocoon.apache.org
>

_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org












---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message