Thanks Paul, It helps to look at the right thing ;)
I can see how the BpelIfActivityState maps into the bom ( SwitchActivityImpl ), however I'm a bit lost on <forEach> and <repeatUntil>. I don't see parser classes for these constructs nor do I see them registered in BpelGraph_2_0. Thanks for your help walking through this! Lance On 2/23/06, Paul Brown <[EMAIL PROTECTED]> wrote: > > Hi, Lance -- > > > I have been looking through the bpel-parser and bom and want to make > sure > > I'm on right track. I got the source from here ( > > http://pxe.intalio.org/public/pxe-src-r812.zip ) and have been focusing > on > > the packages com.fx.pxe.sax.fsa.bpel_2_0 and com.fx.pxe.bom.api. I am > > looking for parser/bom support for some of the new 2.0 constructs ( i.e. > > <if>,<forEach>, etc ... ) and I don't see these objects ( i.e. > > com.fx.pxe.sax.fsa.bpel_2_0.BpelIfState ). Am I looking in the right > place > > or perhaps I'm making a bad assumption as to the implementation? > > The BPEL 2.0 specific sub-handlers are here: > > http://tinyurl.com/jufvy > > And here's the <bpel:if> activity piece: > > http://tinyurl.com/eo2xo > > The BOM SwitchActivity suffices for both 1.1 and 2.0, so if you were > to look into the bit that handles SAX events for a <bpel:if> > (IfActivityState in com.fs.pxe.sax.fsa.bpel_2_0), you'd see that get > created: > > 24 protected Activity createActivity(StartElement se) { > 25 return new SwitchActivityImpl(); > 26 } > > Things like expressions (attributes in 1.1 versus bodies of elements > in 2.0) are abstracted in the BOM and then mapped in the bpel-parser > module. The *State objects are expected to know what to do with their > children, so you can see what's happening in the > handleChildCompleted(State pn) method to attach an expression, a then > clause, an elseif clause, an else clause. > > I wrote a blog entry about how the bpel-parser module was motivated > and constructed: > > > http://mult.ifario.us/articles/2006/02/05/populating-a-java-object-model-from-xml > > Best, > > -- Paul >
