summaryrefslogtreecommitdiffstats
path: root/test/samples/w3c/log-on-config.scxml
blob: 01f45d6bf0af73bcd7f7890a15599d6daa7f2de8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="UTF-8"?>
<!--
  Dialog definitions for Shale Use Cases Example Web Application
  written out as SCXML to demonstrate use of Commons SCXML as one
  of Shale's Dialog Manager implementations.
  For details, see: http://shale.apache.org/shale-dialog-scxml/
-->
<scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:my="http://scxml.example.com/"
       version="1.0" initial="checkCookie" datamodel="el" >

  <state id="checkCookie">
    <onentry>
      <my:var name="cookieOutcome" expr="#{profile$logon.check}" />
    </onentry>
    <transition cond="${cookieOutcome eq 'authenticated'}" target="exit"/>
    <transition cond="${cookieOutcome eq 'unauthenticated'}" target="logon"/>

  </state>

  <state id="logon">
    <transition event="faces.outcome" cond="${outcome eq 'authenticated'}" target="exit"/>
    <transition event="faces.outcome" cond="${outcome eq 'create'}" target="createProfile"/>
  </state>


  <state id="createProfile" src="edit-profile-config.xml" >
      <transition event="createProfile.done" cond="${outcome eq 'success' or outcome eq 'cancel'}" target="exit"/>
  </state>

  <final id="exit"/>

</scxml>