Add redis repository config support

- Change machine id as empty string instead of null
  if it's not set.
- Implement domain classes for redis.
- Shared tests.
- Fixes #267
This commit is contained in:
Janne Valkealahti
2016-11-05 10:04:20 +00:00
parent bd7e0141ea
commit fd6fcb6ee2
29 changed files with 2347 additions and 6 deletions

View File

@@ -0,0 +1,71 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "SI"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S1",
"kind": "FORK"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "SF",
"kind": "END"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"region": "r2",
"parentState": "3",
"state": "S20"
},
{
"@id": "6",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r2",
"parentState": "3",
"state": "S21"
},
{
"@id": "7",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"region": "r3",
"parentState": "3",
"state": "S30"
},
{
"@id": "8",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r3",
"parentState": "3",
"state": "S31"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "6"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "8"
}
]

View File

@@ -0,0 +1,93 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "SI"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S3",
"kind": "JOIN"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S4"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"region": "r2",
"parentState": "2",
"state": "S20"
},
{
"@id": "6",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r2",
"parentState": "2",
"state": "S21"
},
{
"@id": "7",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"region": "r3",
"parentState": "2",
"state": "S30"
},
{
"@id": "8",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r3",
"parentState": "2",
"state": "S31"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "5",
"target": "6",
"event": "E2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "7",
"target": "8",
"event": "E3"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "7",
"target": "3"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "8",
"target": "3"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "3",
"target": "4"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "1",
"event": "E4"
}
]

View File

@@ -0,0 +1,60 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "READY"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S1"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S3",
"deferredEvents": ["E1", "E2"]
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "3",
"event": "E2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "4",
"event": "E3"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "2",
"event": "E4"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "3",
"event": "E5"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "1",
"event": "E6"
}
]

View File

@@ -0,0 +1,50 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"submachineId": "machineS2",
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S3"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"machineId": "machineS2",
"initial": true,
"state": "S21"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"machineId": "machineS2",
"state": "S22"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"event": "E2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "5",
"event": "E3"
}
]

View File

@@ -0,0 +1,46 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S3"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"spel": "true"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"event": "E2",
"guard": "4"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"event": "E3",
"kind": "LOCAL"
}
]

View File

@@ -0,0 +1,52 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"parentState": "2",
"state": "S20"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"parentState": "2",
"state": "S21"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "3",
"target": "4",
"event": "E2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "1",
"event": "E3"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "4",
"event": "E4"
}
]

View File

@@ -0,0 +1,64 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"parentState": "2",
"state": "S20"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"parentState": "2",
"state": "S21"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"parentState": "2",
"state": "SH",
"kind": "HISTORY_SHALLOW"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "3",
"target": "4",
"event": "E2",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "1",
"event": "E3",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "5",
"event": "E4",
"kind": "EXTERNAL"
}
]

View File

@@ -0,0 +1,58 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r1",
"initial": true,
"state": "S10"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r1",
"initial": false,
"state": "S11"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r2",
"initial": true,
"state": "S20"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"region": "r2",
"initial": false,
"state": "S21"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "3",
"target": "4",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "1",
"event": "E2",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "4",
"target": "3",
"event": "E3",
"kind": "EXTERNAL"
}
]

View File

@@ -0,0 +1,84 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "SI"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S3",
"kind": "CHOICE"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S30"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S31"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S32"
},
{
"@id": "6",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S33"
},
{
"@id": "7",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s30Guard"
},
{
"@id": "8",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s31Guard"
},
{
"@id": "9",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s32Guard"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"guard": "7"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "4",
"guard": "8"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "5",
"guard": "9"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "6"
}
]

View File

@@ -0,0 +1,38 @@
[
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"spel": "true"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryAction",
"spel": "true"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryAction",
"spel": "false"
},
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL",
"guard": "3",
"actions": ["4", "5"]
}
]

View File

@@ -0,0 +1,84 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "SI"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S3",
"kind": "JUNCTION"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S30"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S31"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S32"
},
{
"@id": "6",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": false,
"state": "S33"
},
{
"@id": "7",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s30Guard"
},
{
"@id": "8",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s31Guard"
},
{
"@id": "9",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryGuard",
"name": "s32Guard"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1",
"kind": "EXTERNAL"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"guard": "7"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "4",
"guard": "8"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "5",
"guard": "9"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "6"
}
]

View File

@@ -0,0 +1,131 @@
[
{
"@id": "1",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S1"
},
{
"@id": "2",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2"
},
{
"@id": "3",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S3"
},
{
"@id": "4",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S4"
},
{
"@id": "5",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S5"
},
{
"@id": "6",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"initial": true,
"state": "S21",
"parentState": "2"
},
{
"@id": "7",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S22",
"parentState": "2"
},
{
"@id": "8",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S23",
"parentState": "2"
},
{
"@id": "9",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2ENTRY1",
"parentState": "2",
"kind": "ENTRY"
},
{
"@id": "10",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2ENTRY2",
"parentState": "2",
"kind": "ENTRY"
},
{
"@id": "11",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2EXIT1",
"parentState": "2",
"kind": "EXIT"
},
{
"@id": "12",
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryState",
"state": "S2EXIT2",
"parentState": "2",
"kind": "EXIT"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "2",
"event": "E1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "2",
"target": "3",
"event": "E2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "9",
"event": "ENTRY1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "1",
"target": "10",
"event": "ENTRY2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "7",
"target": "11",
"event": "EXIT1"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "7",
"target": "12",
"event": "EXIT2"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "9",
"target": "7"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "10",
"target": "9"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "11",
"target": "4"
},
{
"_class": "org.springframework.statemachine.data.redis.RedisRepositoryTransition",
"source": "12",
"target": "5"
}
]