ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Brown" <paulrbr...@gmail.com>
Subject Re: are we really gonna end up with 1 engine anyway?
Date Thu, 23 Feb 2006 18:00:40 GMT
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:


And here's the <bpel:if> activity piece:


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

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:



-- Paul

View raw message