martes, 26 de junio de 2007

jbpm en seam

primer ejemplo a seguir el numberguess example de seam aunque también está el dvd-store

hay que definir el componente de la definición del proceso en el components.xml:

<component class="org.jboss.seam.core.Jbpm">
<property name="pageflowDefinitions">
<value>pageflow.jpdl.xml</value>
<value>cheat.jpdl.xml</value>
</property>
</component>


y posteriormente la definición del proceso en este caso de cheat.jpdl

<pageflow-definition xmlns="http://jboss.com/products/seam/pageflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.com/products/seam/pageflow http://jboss.com/products/seam/pageflow-1.2.xsd"
name="cheat">

<start-page name="confirm" view-id="/confirm.jspx">
<transition name="yes" to="cheat">
<action expression="#{numberGuess.cheated}"/>
</transition>
<transition name="no" to="end"/>
</start-page>

<page name="cheat" view-id="/cheat.jspx">
<redirect/>
<transition to="end"/>
</page>

<page name="end" view-id="/numberGuess.jspx">
<redirect/>
<end-conversation/>
</page>

</pageflow-definition>


y en el pages.xml arrancamos el pageflow

<pages>
<page view-id="/numberGuess.jspx">
<begin-conversation join="true" pageflow="numberGuess"/>
</page>
<page view-id="/confirm.jspx">
<begin-conversation nested="true" pageflow="cheat"/>
</page>
</pages>

aunque también se puede arrancar desde el componente

@Create
@Begin(pageflow="numberGuess")
public void begin(){
...

}


No hay comentarios: