summaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/boot/OD/StateMachine.xsd51
-rw-r--r--src/main/resources/boot/SM/Default.xml17
-rw-r--r--src/main/resources/mapFiles/StateMachineMap.xml94
-rw-r--r--src/main/resources/mapFiles/index1
4 files changed, 122 insertions, 41 deletions
diff --git a/src/main/resources/boot/OD/StateMachine.xsd b/src/main/resources/boot/OD/StateMachine.xsd
new file mode 100644
index 0000000..f21e39d
--- /dev/null
+++ b/src/main/resources/boot/OD/StateMachine.xsd
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="StateMachine">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="State" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:int" use="required"/>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="proceeds" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Transition" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Outcome">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="version" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Script">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="version" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:int" use="required"/>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="origin" type="xs:int" use="required"/>
+ <xs:attribute name="terminus" type="xs:int" use="required"/>
+ <xs:attribute name="enablingProperty" type="xs:string"/>
+ <xs:attribute name="roleOverride" type="xs:string"/>
+ <xs:attribute name="reservation">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="set"/>
+ <xs:enumeration value="clear"/>
+ <xs:enumeration value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="initialState" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
diff --git a/src/main/resources/boot/SM/Default.xml b/src/main/resources/boot/SM/Default.xml
new file mode 100644
index 0000000..237506e
--- /dev/null
+++ b/src/main/resources/boot/SM/Default.xml
@@ -0,0 +1,17 @@
+<StateMachine initialState="0">
+ <State id="0" name="Waiting"/>
+ <State id="1" name="Finished" proceeds="true"/>
+ <State id="2" name="Suspended"/>
+
+ <Transition id="0" name="Done" origin="0" terminus="1">
+ <Outcome name="${SchemaType}" version="${SchemaVersion}"/>
+ <Script name="${ScriptName}" version="${ScriptVersion}"/>
+ </Transition>
+ <Transition id="1" name="Suspend" origin="0" terminus="2">
+ <Outcome name="Errors" version="0"/>
+ </Transition>
+ <Transition id="2" name="Retry" origin="2" terminus="0" roleOverride="Admin"/>
+</StateMachine>
+
+
+
diff --git a/src/main/resources/mapFiles/StateMachineMap.xml b/src/main/resources/mapFiles/StateMachineMap.xml
index cab2c89..fb13789 100644
--- a/src/main/resources/mapFiles/StateMachineMap.xml
+++ b/src/main/resources/mapFiles/StateMachineMap.xml
@@ -1,69 +1,81 @@
<?xml version="1.0"?>
<mapping>
<class name="com.c2kernel.lifecycle.instance.stateMachine.StateMachine">
- <map-to xml="StateMachine"/>
- <field name="states"
- type="com.c2kernel.lifecycle.instance.stateMachine.State"
- collection="arraylist"
- container="true"
- direct="false">
- <bind-xml name="States" node="element"/>
- </field>
- <field name="transitions"
- type="com.c2kernel.lifecycle.instance.stateMachine.Transition"
- collection="arraylist"
- container="true"
- direct="false">
- <bind-xml name="Transitions" node="element"/>
+ <map-to xml="StateMachine" />
+ <field name="states" type="com.c2kernel.lifecycle.instance.stateMachine.State"
+ collection="arraylist" container="false" direct="false">
+ <bind-xml name="State" node="element" />
+ </field>
+ <field name="transitions"
+ type="com.c2kernel.lifecycle.instance.stateMachine.Transition"
+ collection="arraylist" container="false" direct="false">
+ <bind-xml name="Transition" node="element" />
</field>
<field name="initialStateCode" type="integer">
- <bind-xml name="initialState" node="attribute"/>
+ <bind-xml name="initialState" node="attribute" />
</field>
</class>
<class name="com.c2kernel.lifecycle.instance.stateMachine.State">
- <map-to xml="State"/>
- <field name="id" type="integer" direct="false">
- <bind-xml name="id" node="attribute"/>
+ <field name="code" type="integer" direct="false">
+ <bind-xml name="code" node="attribute" />
</field>
<field name="name" type="string" direct="false">
- <bind-xml name="name" node="attribute"/>
+ <bind-xml name="name" node="attribute" />
</field>
<field name="proceeds" type="boolean" direct="false">
- <bind-xml name="proceeds" node="attribute"/>
+ <bind-xml name="proceeds" node="attribute" />
</field>
</class>
<class name="com.c2kernel.lifecycle.instance.stateMachine.Transition">
- <map-to xml="Transition"/>
- <field name="id" type="integer" direct="false">
- <bind-xml name="id" node="attribute"/>
+ <field name="code" type="integer" direct="false">
+ <bind-xml name="code" node="attribute" />
</field>
<field name="name" type="string" direct="false">
- <bind-xml name="name" node="attribute"/>
- </field>
- int originStateCode;
- int terminalStateCode;
- String enabledProp;
- String roleOverride;
- outcome;
- script;
+ <bind-xml name="name" node="attribute" />
+ </field>
<field name="originStateCode" type="integer" direct="false">
- <bind-xml name="origin" node="attribute"/>
+ <bind-xml name="origin" node="attribute" />
</field>
<field name="terminalStateCode" type="integer" direct="false">
- <bind-xml name="terminus" node="attribute"/>
+ <bind-xml name="terminus" node="attribute" />
</field>
<field name="enabledProp" type="string" direct="false">
- <bind-xml name="enablingProperty" node="attribute"/>
+ <bind-xml name="enablingProperty" node="attribute" />
</field>
<field name="roleOverride" type="string" direct="false">
- <bind-xml name="roleOverride" node="attribute"/>
- </field>
- <field name="outcome" type="TransitionOutcome" direct="false">
- <bind-xml name="Outcome" node="element"/>
+ <bind-xml name="roleOverride" node="attribute" />
</field>
- <field name="script" type="TransitionScript" direct="false">
- <bind-xml name="Script" node="element"/>
+ <field name="reservation" type="string" direct="false">
+ <bind-xml name="reservation" node="attribute" />
</field>
+ <field name="outcome"
+ type="com.c2kernel.lifecycle.instance.stateMachine.TransitionOutcome"
+ direct="false" container="false">
+ <bind-xml name="Outcome" node="element" />
+ </field>
+ <field name="script"
+ type="com.c2kernel.lifecycle.instance.stateMachine.TransitionScript"
+ direct="false" container="false">
+ <bind-xml name="Script" node="element" />
+ </field>
+ </class>
+ <class name="com.c2kernel.lifecycle.instance.stateMachine.TransitionOutcome">
+ <field name="schemaName" type="string" direct="false">
+ <bind-xml name="name" node="attribute" />
+ </field>
+ <field name="schemaVersion" type="string" direct="false">
+ <bind-xml name="version" node="attribute" />
+ </field>
+ <field name="required" type="boolean" direct="false">
+ <bind-xml name="required" node="attribute" />
+ </field>
+ </class>
+ <class name="com.c2kernel.lifecycle.instance.stateMachine.TransitionScript">
+ <field name="scriptName" type="string" direct="false">
+ <bind-xml name="name" node="attribute" />
+ </field>
+ <field name="scriptVersion" type="string" direct="false">
+ <bind-xml name="version" node="attribute" />
+ </field>
</class>
-
</mapping>
diff --git a/src/main/resources/mapFiles/index b/src/main/resources/mapFiles/index
index 25fef77..4e378e4 100644
--- a/src/main/resources/mapFiles/index
+++ b/src/main/resources/mapFiles/index
@@ -9,3 +9,4 @@ ViewpointMap.xml
TransferMap.xml
NewEntityMap.xml
ModuleMap.xml
+StateMachineMap.xml