v2.1 extended analysis render update

This commit is contained in:
2026-06-14 22:14:47 +02:00
parent 38d708f85b
commit 71bcfe65d7
63 changed files with 1382 additions and 2394 deletions

View File

@@ -55,6 +55,10 @@ public class ExportService {
}
public void runExporter(Path inputDir, Path outputDir, List<String> selectedFormats, boolean renderChoicesAsDiamonds, List<String> activeProfiles) throws IOException {
runExporter(inputDir, outputDir, selectedFormats, renderChoicesAsDiamonds, activeProfiles, null, null);
}
public void runExporter(Path inputDir, Path outputDir, List<String> selectedFormats, boolean renderChoicesAsDiamonds, List<String> activeProfiles, Path flowsOverride, String machineFilter) throws IOException {
CodebaseContext context = new CodebaseContext();
context.setActiveProfiles(activeProfiles);
context.setSourcepath(List.of(inputDir.toString()));
@@ -71,10 +75,11 @@ public class ExportService {
}
List<BusinessFlow> flows = new ArrayList<>();
Path flowsFile = inputDir.resolve("flows.json");
if (!Files.exists(flowsFile)) {
Path flowsFile = flowsOverride != null ? flowsOverride : inputDir.resolve("flows.json");
if (flowsOverride == null && !Files.exists(flowsFile)) {
flowsFile = inputDir.resolve("src/main/resources/flows.json");
}
if (Files.exists(flowsFile)) {
log.info("Loading business flows from {}", flowsFile.toAbsolutePath());
try {
@@ -88,7 +93,7 @@ public class ExportService {
context.scan(inputDir);
CodebaseIntelligenceProvider intelligence = new JdtIntelligenceProvider(context, inputDir);
exportAll(context, intelligence, outputDir, selectedFormats, renderChoicesAsDiamonds, flows);
exportAll(context, intelligence, outputDir, selectedFormats, renderChoicesAsDiamonds, flows, machineFilter);
}
public void runJsonExporter(Path jsonFile, Path outputDir, List<String> selectedFormats) throws IOException {
@@ -98,13 +103,14 @@ public class ExportService {
generateOutputs(outputDir, result, selectedFormats);
}
private void exportAll(CodebaseContext context, CodebaseIntelligenceProvider intelligence, Path outputDir, List<String> selectedFormats, boolean renderChoicesAsDiamonds, List<BusinessFlow> flows) throws IOException {
private void exportAll(CodebaseContext context, CodebaseIntelligenceProvider intelligence, Path outputDir, List<String> selectedFormats, boolean renderChoicesAsDiamonds, List<BusinessFlow> flows, String machineFilter) throws IOException {
Set<String> processedLocations = new HashSet<>();
// 1. Find entry point classes (annotated or extending adapter)
List<TypeDeclaration> entryPoints = context.findEntryPointClasses(TARGET_ANNOTATIONS);
for (TypeDeclaration td : entryPoints) {
String fqn = context.getFqn(td);
if (machineFilter != null && !fqn.contains(machineFilter)) continue;
if (processedLocations.add(fqn)) {
processEntryPoint(td, outputDir, context, intelligence, selectedFormats, renderChoicesAsDiamonds, flows);
}
@@ -118,6 +124,7 @@ public class ExportService {
String methodName = m.getName().getIdentifier();
String uniqueId = parentFqn + "#" + methodName;
if (machineFilter != null && !uniqueId.contains(machineFilter)) continue;
if (processedLocations.add(uniqueId)) {
processBeanMethod(m, outputDir, context, intelligence, selectedFormats, renderChoicesAsDiamonds, flows);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 173 KiB

View File

@@ -2,134 +2,95 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state STATE17
state STATE18
state STATE19
state STATE20
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> STATE1
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE16 -[#FF6347,bold]-> STATE17 <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#FF6347,bold]-> STATE18 <<choice_color_0>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#FF6347,bold]-> STATE19 <<choice_color_0>> : (order=2)
STATE17 -[#4682B4,bold]-> STATE20 <<choice_color_1>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#4682B4,bold]-> STATE16 <<choice_color_1>> : (order=1)
STATE18 -[#32CD32,bold]-> STATE19 <<choice_color_2>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : (order=1)
STATE19 -[#FFD700,bold]-> STATE1 <<choice_color_3>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE20 -[#6A5ACD,bold]-> STATE5 <<choice_color_4>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : (order=1)
STATE11 -[#FF69B4,bold]-> STATE13 <<choice_color_5>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF69B4,bold]-> STATE14 <<choice_color_5>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF69B4,bold]-> STATE15 <<choice_color_5>> : (order=2)
STATE12 -[#FF6347,bold]-> STATE10 <<choice_color_0>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#FF6347,bold]-> STATE11 <<choice_color_0>> : (order=1)
STATE14 -[#4682B4,bold]-> STATE12 <<choice_color_1>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#4682B4,bold]-> STATE16 <<choice_color_1>> : (order=1)
STATE9 -[#32CD32,bold]-> STATE8 <<choice_color_2>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#32CD32,bold]-> STATE7 <<choice_color_2>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#32CD32,bold]-> STATE6 <<choice_color_2>> : (order=2)
STATE8 -[#FFD700,bold]-> STATE9 <<choice_color_3>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#FFD700,bold]-> STATE10 <<choice_color_3>> : (order=1)
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
@enduml

View File

@@ -51,7 +51,8 @@
"metadata" : {
"path" : "/api/enterprise/orders/place",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/enterprise/orders/{id}/cancel",
@@ -60,7 +61,12 @@
"metadata" : {
"path" : "/api/enterprise/orders/{id}/cancel",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "id",
"type" : "String",
"annotations" : [ "PathVariable" ]
} ]
}, {
"type" : "CUSTOM",
"name" : "INTERCEPTOR: SecurityInterceptor.preHandle",
@@ -68,7 +74,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/enterprise/payments",
@@ -77,7 +84,40 @@
"metadata" : {
"path" : "/api/enterprise/payments",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
}, {
"type" : "JMS",
"name" : "JMS: shipping.queue",
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
"methodName" : "onShippingReady",
"metadata" : {
"protocol" : "JMS",
"destination" : "shipping.queue"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
}, {
"type" : "RABBIT",
"name" : "RABBIT: returns.queue",
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
"methodName" : "onReturn",
"metadata" : {
"protocol" : "RABBIT",
"destination" : "returns.queue"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
} ],
"callChains" : [ {
"entryPoint" : {
@@ -88,7 +128,8 @@
"metadata" : {
"path" : "/api/enterprise/orders/place",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.OrderController.placeOrder", "click.kamil.examples.enterprise.service.OrderServiceImpl.place" ],
"triggerPoint" : {
@@ -108,7 +149,12 @@
"metadata" : {
"path" : "/api/enterprise/orders/{id}/cancel",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "id",
"type" : "String",
"annotations" : [ "PathVariable" ]
} ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.OrderController.cancelOrder", "click.kamil.examples.enterprise.service.OrderServiceImpl.cancel" ],
"triggerPoint" : {
@@ -127,7 +173,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.SecurityInterceptor.preHandle" ],
"triggerPoint" : {
@@ -147,7 +194,12 @@
"metadata" : {
"path" : "/api/enterprise/payments",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.ReactivePaymentController.pay", "click.kamil.examples.enterprise.service.ReactivePaymentService.processPayment" ],
"triggerPoint" : {
@@ -158,6 +210,56 @@
"stateMachineId" : null,
"lineNumber" : 18
}
}, {
"entryPoint" : {
"type" : "JMS",
"name" : "JMS: shipping.queue",
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
"methodName" : "onShippingReady",
"metadata" : {
"protocol" : "JMS",
"destination" : "shipping.queue"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.enterprise.messaging.ShippingJmsListener.onShippingReady" ],
"triggerPoint" : {
"event" : "SHIP_ORDER",
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
"methodName" : "onShippingReady",
"sourceModule" : null,
"stateMachineId" : null,
"lineNumber" : 17
}
}, {
"entryPoint" : {
"type" : "RABBIT",
"name" : "RABBIT: returns.queue",
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
"methodName" : "onReturn",
"metadata" : {
"protocol" : "RABBIT",
"destination" : "returns.queue"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener.onReturn" ],
"triggerPoint" : {
"event" : "RETURN_ORDER",
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
"methodName" : "onReturn",
"sourceModule" : null,
"stateMachineId" : null,
"lineNumber" : 17
}
} ],
"properties" : { }
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -2,6 +2,23 @@
!pragma layout smetana
hide empty description
hide stereotype
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state NEW
state CHECK_AVAILABILITY
state PENDING_PAYMENT
@@ -11,65 +28,18 @@ state SHIPPED
state DELIVERED
state RETURNED
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> NEW
state CHECK_AVAILABILITY <<choice>>
NEW -[#1E90FF,bold]-> CHECK_AVAILABILITY <<external>> <<e_PLACE_ORDER>> : PLACE_ORDER
CHECK_AVAILABILITY -[#FF6347,bold]-> PENDING_PAYMENT <<choice_color_0>> : [λ] (order=0)
CHECK_AVAILABILITY -[#FF6347,bold]-> CANCELLED <<choice_color_0>> : (order=1)
CHECK_AVAILABILITY -[#FF6347,bold]-> PENDING_PAYMENT <<choice_type>> : [λ] (order=0)
CHECK_AVAILABILITY -[#FF6347,bold]-> CANCELLED <<choice_type>> : (order=1)
PENDING_PAYMENT -[#1E90FF,bold]-> PAID <<external>> <<e_PAY_ORDER>> : PAY_ORDER
PAID -[#1E90FF,bold]-> SHIPPED <<external>> <<e_SHIP_ORDER>> : SHIP_ORDER
SHIPPED -[#1E90FF,bold]-> DELIVERED <<external>> <<e_FINALIZE>> : FINALIZE
PAID -[#1E90FF,bold]-> CANCELLED <<external>> <<e_CANCEL_ORDER>> : CANCEL_ORDER
DELIVERED -[#1E90FF,bold]-> RETURNED <<external>> <<e_RETURN_ORDER>> : RETURN_ORDER
hide <<e_PLACE_ORDER>> stereotype
hide <<e_PAY_ORDER>> stereotype
hide <<e_SHIP_ORDER>> stereotype
hide <<e_FINALIZE>> stereotype
hide <<e_CANCEL_ORDER>> stereotype
hide <<e_RETURN_ORDER>> stereotype
CANCELLED --> [*]
DELIVERED --> [*]

View File

@@ -58,7 +58,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/cancel",
@@ -67,7 +68,8 @@
"metadata" : {
"path" : "/api/orders/cancel",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/finish",
@@ -76,7 +78,8 @@
"metadata" : {
"path" : "/api/orders/finish",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/resume",
@@ -85,7 +88,12 @@
"metadata" : {
"path" : "/api/orders/resume",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/orders/reactive",
@@ -94,7 +102,12 @@
"metadata" : {
"path" : "/api/orders/reactive",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
}, {
"type" : "CUSTOM",
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
@@ -102,7 +115,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
} ],
"callChains" : [ {
"entryPoint" : {
@@ -113,7 +127,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
"triggerPoint" : {
@@ -133,7 +148,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
"triggerPoint" : {
@@ -153,7 +169,8 @@
"metadata" : {
"path" : "/api/orders/cancel",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.cancelOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processCancel" ],
"triggerPoint" : {
@@ -173,7 +190,8 @@
"metadata" : {
"path" : "/api/orders/finish",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.finishOrder" ],
"triggerPoint" : {
@@ -193,7 +211,12 @@
"metadata" : {
"path" : "/api/orders/resume",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.resumeOrder", "click.kamil.examples.statemachine.extended.service.OrderService.resumeOrder" ],
"triggerPoint" : {
@@ -213,7 +236,12 @@
"metadata" : {
"path" : "/api/orders/reactive",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.reactiveOrder", "click.kamil.examples.statemachine.extended.service.ReactiveOrderService.processReactive" ],
"triggerPoint" : {
@@ -232,7 +260,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.AuditInterceptor.preHandle" ],
"triggerPoint" : {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -2,52 +2,28 @@
!pragma layout smetana
hide empty description
hide stereotype
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state START
state PROCESSING
state COMPLETED
state CANCELLED
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> INIT_STATE
@@ -57,12 +33,6 @@ PROCESSING -[#1E90FF,bold]-> CANCELLED <<external>> <<e_CANCEL_EVENT>> : CANCEL_
START -[#1E90FF,bold]-> PROCESSING <<external>> <<e_REACTIVE_EVENT>> : REACTIVE_EVENT
START -[#1E90FF,bold]-> START <<external>> <<e_AUDIT_EVENT>> : AUDIT_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> <<e_EXTERNAL_TRIGGER>> : EXTERNAL_TRIGGER
hide <<e_SUBMIT_EVENT>> stereotype
hide <<e_FINISH>> stereotype
hide <<e_CANCEL_EVENT>> stereotype
hide <<e_REACTIVE_EVENT>> stereotype
hide <<e_AUDIT_EVENT>> stereotype
hide <<e_EXTERNAL_TRIGGER>> stereotype
CANCELLED --> [*]
COMPLETED --> [*]

View File

@@ -58,7 +58,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/cancel",
@@ -67,7 +68,8 @@
"metadata" : {
"path" : "/api/orders/cancel",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/finish",
@@ -76,7 +78,8 @@
"metadata" : {
"path" : "/api/orders/finish",
"verb" : "POST"
}
},
"parameters" : [ ]
}, {
"type" : "REST",
"name" : "POST /api/orders/resume",
@@ -85,7 +88,12 @@
"metadata" : {
"path" : "/api/orders/resume",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/orders/reactive",
@@ -94,7 +102,12 @@
"metadata" : {
"path" : "/api/orders/reactive",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
}, {
"type" : "CUSTOM",
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
@@ -102,7 +115,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
} ],
"callChains" : [ {
"entryPoint" : {
@@ -113,7 +127,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
"triggerPoint" : {
@@ -133,7 +148,8 @@
"metadata" : {
"path" : "/api/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
"triggerPoint" : {
@@ -153,7 +169,8 @@
"metadata" : {
"path" : "/api/orders/cancel",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.cancelOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processCancel" ],
"triggerPoint" : {
@@ -173,7 +190,8 @@
"metadata" : {
"path" : "/api/orders/finish",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.finishOrder" ],
"triggerPoint" : {
@@ -193,7 +211,12 @@
"metadata" : {
"path" : "/api/orders/resume",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.resumeOrder", "click.kamil.examples.statemachine.extended.service.OrderService.resumeOrder" ],
"triggerPoint" : {
@@ -213,7 +236,12 @@
"metadata" : {
"path" : "/api/orders/reactive",
"verb" : "POST"
}
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.reactiveOrder", "click.kamil.examples.statemachine.extended.service.ReactiveOrderService.processReactive" ],
"triggerPoint" : {
@@ -232,7 +260,8 @@
"methodName" : "preHandle",
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.AuditInterceptor.preHandle" ],
"triggerPoint" : {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -2,52 +2,28 @@
!pragma layout smetana
hide empty description
hide stereotype
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state START
state PROCESSING
state COMPLETED
state CANCELLED
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> PROD_INITIAL
@@ -57,12 +33,6 @@ PROCESSING -[#1E90FF,bold]-> CANCELLED <<external>> <<e_CANCEL_EVENT>> : CANCEL_
START -[#1E90FF,bold]-> PROCESSING <<external>> <<e_REACTIVE_EVENT>> : REACTIVE_EVENT
START -[#1E90FF,bold]-> START <<external>> <<e_AUDIT_EVENT>> : AUDIT_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> <<e_EXTERNAL_TRIGGER>> : EXTERNAL_TRIGGER
hide <<e_SUBMIT_EVENT>> stereotype
hide <<e_FINISH>> stereotype
hide <<e_CANCEL_EVENT>> stereotype
hide <<e_REACTIVE_EVENT>> stereotype
hide <<e_AUDIT_EVENT>> stereotype
hide <<e_EXTERNAL_TRIGGER>> stereotype
CANCELLED --> [*]
COMPLETED --> [*]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 223 KiB

View File

@@ -2,162 +2,119 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE17
state STATE18
state STATE19
state STATE20
state STATE_EXTRA_1
state STATE_EXTRA_3
state STATE_EXTRA_2
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
state StatesSTATE_EXTRA_1
state StatesSTATE_EXTRA_3
state StatesSTATE_EXTRA_2
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
state StatesSTATE2 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : Events.EVENTX
StatesSTATE2 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE2 -[#FF6347,bold]-> StatesSTATE_EXTRA_1 <<choice_type>> : (order=1)
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesSTATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
StatesSTATE_EXTRA_2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
[*] --> STATE1
state STATEY <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE2 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#FF69B4,bold]-> STATE_EXTRA_1 <<choice_color_5>> : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 KiB

After

Width:  |  Height:  |  Size: 275 KiB

View File

@@ -2,165 +2,121 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE17
state STATE18
state STATE19
state STATE20
state STATE_EXTRA_1_1
state STATE_EXTRA_1_2
state STATE_EXTRA_1_3
state STATE_EXTRA_1
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
state StatesSTATE_EXTRA_1_1
state StatesSTATE_EXTRA_1_2
state StatesSTATE_EXTRA_1_3
state StatesSTATE_EXTRA_1
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
state StatesSTATE_EXTRA_1_2 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1_1 <<external>> <<e_Events_EVENT_1_1>> : Events.EVENT_1_1
StatesSTATE_EXTRA_1_2 -[#FF6347,bold]-> StatesSTATE_EXTRA_1_1 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE_EXTRA_1_2 -[#FF6347,bold]-> StatesSTATE_EXTRA_1_3 <<choice_type>> : (order=1)
StatesSTATE_EXTRA_1_3 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : Events.EVENT_1_2
StatesSTATE_EXTRA_1_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
StatesSTATE_EXTRA_1_2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
[*] --> STATE1
state STATEY <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE_EXTRA_1_2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE9 -[#1E90FF,bold]-> STATE_EXTRA_1_1 <<external>> <<e_Events_EVENT_1_1>> : EVENT_1_1
STATE_EXTRA_1_2 -[#FF69B4,bold]-> STATE_EXTRA_1_1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE_EXTRA_1_2 -[#FF69B4,bold]-> STATE_EXTRA_1_3 <<choice_color_5>> : (order=1)
STATE_EXTRA_1_3 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_1_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_1_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_1>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -2,72 +2,44 @@
!pragma layout smetana
hide empty description
hide stereotype
state START
state FORK
state REGION1_STATE1
state REGION2_STATE1
state REGION1_STATE2
state REGION2_STATE2
state JOIN
state END
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTART
state StatesFORK
state StatesREGION1_STATE1
state StatesREGION2_STATE1
state StatesREGION1_STATE2
state StatesREGION2_STATE2
state StatesJOIN
state StatesEND
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> START
[*] --> StatesSTART
START -[#1E90FF,bold]-> FORK <<external>> <<e_Events_TO_FORK>> : TO_FORK
FORK -[#20B2AA,bold]-> REGION1_STATE1 <<fork>>
FORK -[#20B2AA,bold]-> REGION2_STATE1 <<fork>>
REGION1_STATE1 -[#1E90FF,bold]-> REGION1_STATE2 <<external>> <<e_Events_R1_NEXT>> : R1_NEXT
REGION2_STATE1 -[#1E90FF,bold]-> REGION2_STATE2 <<external>> <<e_Events_R2_NEXT>> : R2_NEXT
REGION1_STATE2 -[#8A2BE2,bold]-> JOIN <<join>>
REGION2_STATE2 -[#8A2BE2,bold]-> JOIN <<join>>
JOIN -[#1E90FF,bold]-> END <<external>> <<e_Events_TO_END>> : TO_END
hide <<e_Events_TO_FORK>> stereotype
hide <<e_Events_R1_NEXT>> stereotype
hide <<e_Events_R2_NEXT>> stereotype
hide <<e_Events_TO_END>> stereotype
StatesSTART -[#1E90FF,bold]-> StatesFORK <<external>> <<e_Events_TO_FORK>> : Events.TO_FORK
StatesFORK -[#20B2AA,bold]-> StatesREGION1_STATE1 <<fork>>
StatesFORK -[#20B2AA,bold]-> StatesREGION2_STATE1 <<fork>>
StatesREGION1_STATE1 -[#1E90FF,bold]-> StatesREGION1_STATE2 <<external>> <<e_Events_R1_NEXT>> : Events.R1_NEXT
StatesREGION2_STATE1 -[#1E90FF,bold]-> StatesREGION2_STATE2 <<external>> <<e_Events_R2_NEXT>> : Events.R2_NEXT
StatesREGION1_STATE2 -[#8A2BE2,bold]-> StatesJOIN <<join>>
StatesREGION2_STATE2 -[#8A2BE2,bold]-> StatesJOIN <<join>>
StatesJOIN -[#1E90FF,bold]-> StatesEND <<external>> <<e_Events_TO_END>> : Events.TO_END
END --> [*]
StatesEND --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 103 KiB

View File

@@ -2,108 +2,72 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE_EXTRA_2
state STATE_EXTRA_3
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE_EXTRA_2
state StatesSTATE_EXTRA_3
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_2>> : Events.EVENT_1_2
StatesSTATE_EXTRA_2 -[#1E90FF,bold]-> StatesSTATE_EXTRA_3 <<external>> <<e_Events_EVENT_1_2>> : Events.EVENT_1_2
StatesSTATE_EXTRA_3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
[*] --> STATE1
state STATEY <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 <<choice_color_1>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 <<choice_color_1>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 <<choice_color_1>> : (order=2)
STATE8 -[#32CD32,bold]-> STATE9 <<choice_color_2>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#32CD32,bold]-> STATE10 <<choice_color_2>> : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_2 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -2,110 +2,73 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE_EXTRA_1
state STATE_EXTRA_2
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE_EXTRA_1
state StatesSTATE_EXTRA_2
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : Events.EVENT_1_2
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesSTATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_3>> : Events.EVENT_1_3
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE_EXTRA_2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
[*] --> STATE1
state STATEY <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE9 -[#4682B4,bold]-> STATE8 <<choice_color_1>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#4682B4,bold]-> STATE7 <<choice_color_1>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#4682B4,bold]-> STATE6 <<choice_color_1>> : (order=2)
STATE8 -[#32CD32,bold]-> STATE9 <<choice_color_2>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#32CD32,bold]-> STATE10 <<choice_color_2>> : (order=1)
STATE3 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENT_1_2>> : EVENT_1_2
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_2 <<external>> <<e_Events_EVENT_1_3>> : EVENT_1_3
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENT_1_2>> stereotype
hide <<e_Events_EVENT_1_3>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

View File

@@ -16,7 +16,8 @@
"metadata" : {
"path" : "/api/v2/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
} ],
"callChains" : [ {
"entryPoint" : {
@@ -27,7 +28,8 @@
"metadata" : {
"path" : "/api/v2/orders/submit",
"verb" : "POST"
}
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.inheritance.api.OrderControllerImpl.submitOrder", "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl.doProcess" ],
"triggerPoint" : {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -2,55 +2,30 @@
!pragma layout smetana
hide empty description
hide stereotype
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state START
state WORKING
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> START
START -[#1E90FF,bold]-> WORKING <<external>> <<e_INHERITED_SUBMIT>> : INHERITED_SUBMIT
hide <<e_INHERITED_SUBMIT>> stereotype
WORKING --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 92 KiB

View File

@@ -2,79 +2,70 @@
!pragma layout smetana
hide empty description
hide stereotype
state SUBMITTED
state PAID
state FULFILLED
state CANCELED
state PAID1
state PAID2
state PAID3
state HAPPEN
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state OrderStatesSUBMITTED
state OrderStatesPAID
state OrderStatesFULFILLED
state OrderStatesCANCELED
state OrderStatesPAID1
state OrderStatesPAID2
state OrderStatesPAID3
state OrderStatesHAPPEN
<style>
state {
.choice {
BackgroundColor LightYellow
}
[*] --> OrderStatesSUBMITTED
state OrderStatesPAID1 <<choice>>
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesPAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
OrderStatesPAID -[#1E90FF,bold]-> OrderStatesFULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesCANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return false;
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
]
OrderStatesPAID -[#1E90FF,bold]-> OrderStatesCANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesSUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesPAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
OrderStatesPAID1 -[#FF6347,bold]-> OrderStatesPAID2 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return true;
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
}
] (order=0)
OrderStatesPAID1 -[#FF6347,bold]-> OrderStatesPAID3 <<choice_type>> : [guard1] (order=1)
OrderStatesPAID1 -[#FF6347,bold]-> OrderStatesHAPPEN <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return false;
}
}
] (order=2)
OrderStatesPAID1 -[#FF6347,bold]-> OrderStatesCANCELED <<choice_type>> : (order=3)
OrderStatesPAID2 -[#1E90FF,bold]-> OrderStatesCANCELED <<external>>
OrderStatesPAID3 -[#1E90FF,bold]-> OrderStatesCANCELED <<external>>
OrderStatesPAID2 -[#1E90FF,bold]-> OrderStatesPAID2 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / new Action<OrderStates,OrderEvents>(){
@Override public void execute( StateContext<OrderStates,OrderEvents> context){
}
}
, action2
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> SUBMITTED
state PAID1 <<choice>>
SUBMITTED -[#1E90FF,bold]-> PAID <<external>> <<e_OrderEvents_PAY>> : PAY
PAID -[#1E90FF,bold]-> FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : FULFILL
SUBMITTED -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL [λ]
PAID -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL
SUBMITTED -[#1E90FF,bold]-> SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : ABCD
SUBMITTED -[#1E90FF,bold]-> PAID1 <<external>> <<e_OrderEvents_ABCD>> : ABCD
PAID1 -[#FF6347,bold]-> PAID2 <<choice_color_0>> : [λ] (order=0)
PAID1 -[#FF6347,bold]-> PAID3 <<choice_color_0>> : [guard1] (order=1)
PAID1 -[#FF6347,bold]-> HAPPEN <<choice_color_0>> : [λ] (order=2)
PAID1 -[#FF6347,bold]-> CANCELED <<choice_color_0>> : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED <<external>>
PAID3 -[#1E90FF,bold]-> CANCELED <<external>>
PAID2 -[#1E90FF,bold]-> PAID2 <<external>> <<e_OrderEvents_ABCD>> : ABCD / λ, action2
hide <<e_OrderEvents_PAY>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
CANCELED --> [*]
FULFILLED --> [*]
OrderStatesCANCELED --> [*]
OrderStatesFULFILLED --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 196 KiB

View File

@@ -2,146 +2,105 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state STATEY
state STATEX
state STATEZ
state STATE17
state STATE18
state STATE19
state STATE20
state STATE_EXTRA_1
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
state StatesSTATE_EXTRA_1
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : Events.EVENTX
[*] --> STATE1
state STATEY <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -2,81 +2,78 @@
!pragma layout smetana
hide empty description
hide stereotype
state SUBMITTED
state PAID
state FULFILLED
state CANCELED
state PAID2
state PAID3
state PAID1
state HAPPEN
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state OrderStatesSUBMITTED
state OrderStatesPAID
state OrderStatesFULFILLED
state OrderStatesCANCELED
state OrderStatesPAID2
state OrderStatesPAID3
state OrderStatesPAID1
state OrderStatesHAPPEN
<style>
state {
.choice {
BackgroundColor LightYellow
}
[*] --> OrderStatesSUBMITTED
state OrderStatesSUBMITTED <<choice>>
state OrderStatesPAID <<choice>>
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesPAID <<external>> <<e_OrderEvents_PAY>> : OrderEvents.PAY
OrderStatesPAID -[#1E90FF,bold]-> OrderStatesFULFILLED <<external>> <<e_OrderEvents_FULFILL>> : OrderEvents.FULFILL
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesCANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return false;
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
}
]
OrderStatesPAID -[#1E90FF,bold]-> OrderStatesCANCELED <<external>> <<e_OrderEvents_CANCEL>> : OrderEvents.CANCEL
OrderStatesSUBMITTED -[#1E90FF,bold]-> OrderStatesSUBMITTED <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD
OrderStatesSUBMITTED -[#FF6347,bold]-> OrderStatesPAID2 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return false;
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
}
] (order=0)
OrderStatesSUBMITTED -[#FF6347,bold]-> OrderStatesPAID3 <<choice_type>> : (order=1)
OrderStatesPAID -[#FF6347,bold]-> OrderStatesPAID1 <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return true;
}
}
] (order=0)
OrderStatesPAID -[#FF6347,bold]-> OrderStatesPAID2 <<choice_type>> : [guard1] (order=1)
OrderStatesPAID -[#FF6347,bold]-> OrderStatesHAPPEN <<choice_type>> : [new Guard<OrderStates,OrderEvents>(){
@Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){
return false;
}
}
] (order=2)
OrderStatesPAID -[#FF6347,bold]-> OrderStatesPAID3 <<choice_type>> : (order=3)
OrderStatesPAID2 -[#1E90FF,bold]-> OrderStatesCANCELED <<external>>
OrderStatesPAID3 -[#1E90FF,bold]-> OrderStatesCANCELED <<external>>
OrderStatesPAID1 -[#1E90FF,bold]-> OrderStatesPAID1 <<external>> <<e_OrderEvents_ABCD>> : OrderEvents.ABCD / new Action<OrderStates,OrderEvents>(){
@Override public void execute( StateContext<OrderStates,OrderEvents> context){
;
}
}
, action2
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
[*] --> SUBMITTED
state SUBMITTED <<choice>>
state PAID <<choice>>
SUBMITTED -[#1E90FF,bold]-> PAID <<external>> <<e_OrderEvents_PAY>> : PAY
PAID -[#1E90FF,bold]-> FULFILLED <<external>> <<e_OrderEvents_FULFILL>> : FULFILL
SUBMITTED -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL [λ]
PAID -[#1E90FF,bold]-> CANCELED <<external>> <<e_OrderEvents_CANCEL>> : CANCEL
SUBMITTED -[#1E90FF,bold]-> SUBMITTED <<external>> <<e_OrderEvents_ABCD>> : ABCD
SUBMITTED -[#FF6347,bold]-> PAID2 <<choice_color_0>> : [λ] (order=0)
SUBMITTED -[#FF6347,bold]-> PAID3 <<choice_color_0>> : (order=1)
PAID -[#4682B4,bold]-> PAID1 <<choice_color_1>> : [λ] (order=0)
PAID -[#4682B4,bold]-> PAID2 <<choice_color_1>> : [guard1] (order=1)
PAID -[#4682B4,bold]-> HAPPEN <<choice_color_1>> : [λ] (order=2)
PAID -[#4682B4,bold]-> PAID3 <<choice_color_1>> : (order=3)
PAID2 -[#1E90FF,bold]-> CANCELED <<external>>
PAID3 -[#1E90FF,bold]-> CANCELED <<external>>
PAID1 -[#1E90FF,bold]-> PAID1 <<external>> <<e_OrderEvents_ABCD>> : ABCD / λ, action2
hide <<e_OrderEvents_PAY>> stereotype
hide <<e_OrderEvents_FULFILL>> stereotype
hide <<e_OrderEvents_CANCEL>> stereotype
hide <<e_OrderEvents_ABCD>> stereotype
CANCELED --> [*]
FULFILLED --> [*]
OrderStatesCANCELED --> [*]
OrderStatesFULFILLED --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 223 KiB

View File

@@ -2,162 +2,119 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE17
state STATE18
state STATE19
state STATE20
state STATE_EXTRA_1
state STATE_EXTRA_3
state STATE_EXTRA_2
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
state StatesSTATE_EXTRA_1
state StatesSTATE_EXTRA_3
state StatesSTATE_EXTRA_2
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
state StatesSTATE2 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : Events.EVENTX
StatesSTATE2 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE2 -[#FF6347,bold]-> StatesSTATE_EXTRA_1 <<choice_type>> : (order=1)
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesSTATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
StatesSTATE_EXTRA_2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
[*] --> STATE1
state STATEY <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
state STATE2 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE2 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE2 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE2 -[#FF69B4,bold]-> STATE_EXTRA_1 <<choice_color_5>> : (order=1)
STATE_EXTRA_1 -[#1E90FF,bold]-> STATE_EXTRA_3 <<external>> <<e_Events_EVENTY>> : EVENTY
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
STATE_EXTRA_2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 KiB

After

Width:  |  Height:  |  Size: 234 KiB

View File

@@ -2,156 +2,113 @@
!pragma layout smetana
hide empty description
hide stereotype
state STATE1
state STATE2
state STATE3
state STATE4
state STATE5
state STATE6
state STATE7
state STATE8
state STATE9
state STATE10
state STATE11
state STATE12
state STATE13
state STATE14
state STATE15
state STATE16
state CANCEL
state STATEY
state STATEX
state STATEZ
state STATE17
state STATE18
state STATE19
state STATE20
state STATE_EXTRA_1
skinparam state {
BackgroundColor white
BorderColor #94a3b8
BorderThickness 1
FontName Inter
FontSize 9
FontStyle bold
RoundCorner 20
Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
state StatesSTATE1
state StatesSTATE2
state StatesSTATE3
state StatesSTATE4
state StatesSTATE5
state StatesSTATE6
state StatesSTATE7
state StatesSTATE8
state StatesSTATE9
state StatesSTATE10
state StatesSTATE11
state StatesSTATE12
state StatesSTATE13
state StatesSTATE14
state StatesSTATE15
state StatesSTATE16
state StatesCANCEL
state StatesSTATEY
state StatesSTATEX
state StatesSTATEZ
state StatesSTATE17
state StatesSTATE18
state StatesSTATE19
state StatesSTATE20
state StatesSTATE_EXTRA_1
<style>
state {
.choice {
BackgroundColor LightYellow
}
}
arrow {
LineThickness 1
.external { LineColor #1E90FF }
.internal { LineColor #32CD32 }
.local { LineColor #FFA500 }
.junction { LineColor #FF69B4 }
.join { LineColor #8A2BE2 }
.fork { LineColor #20B2AA }
.choice_type { LineColor #000000 }
.choice_color_0 { LineColor #FF6347 }
.choice_color_1 { LineColor #4682B4 }
.choice_color_2 { LineColor #32CD32 }
.choice_color_3 { LineColor #FFD700 }
.choice_color_4 { LineColor #6A5ACD }
.choice_color_5 { LineColor #FF69B4 }
[*] --> StatesSTATE1
}
/* Example: Highlight all transitions for a specific event */
/* .e_MY_EVENT { LineColor red } */
</style>
state StatesSTATEY <<choice>>
state StatesSTATE16 <<choice>>
state StatesSTATE17 <<choice>>
state StatesSTATE18 <<choice>>
state StatesSTATE19 <<choice>>
state StatesSTATE20 <<choice>>
state StatesSTATE11 <<choice>>
state StatesSTATE12 <<choice>>
state StatesSTATE14 <<choice>>
state StatesSTATE9 <<choice>>
state StatesSTATE8 <<choice>>
hide <<external>> stereotype
hide <<internal>> stereotype
hide <<local>> stereotype
hide <<junction>> stereotype
hide <<join>> stereotype
hide <<fork>> stereotype
hide <<choice_type>> stereotype
hide <<choice_color_0>> stereotype
hide <<choice_color_1>> stereotype
hide <<choice_color_2>> stereotype
hide <<choice_color_3>> stereotype
hide <<choice_color_4>> stereotype
hide <<choice_color_5>> stereotype
StatesSTATE1 -[#1E90FF,bold]-> StatesSTATE2 <<external>> <<e_Events_EVENT1>> : Events.EVENT1
StatesSTATE2 -[#1E90FF,bold]-> StatesSTATE3 <<external>> <<e_Events_EVENT2>> : Events.EVENT2
StatesSTATE3 -[#1E90FF,bold]-> StatesSTATE4 <<external>> <<e_Events_EVENT3>> : Events.EVENT3
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATE5 <<external>> <<e_Events_EVENT4>> : Events.EVENT4
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE6 <<external>> <<e_Events_EVENT5>> : Events.EVENT5
StatesSTATE6 -[#1E90FF,bold]-> StatesSTATE7 <<external>> <<e_Events_EVENT6>> : Events.EVENT6
StatesSTATE7 -[#1E90FF,bold]-> StatesSTATE8 <<external>> <<e_Events_EVENT7>> : Events.EVENT7
StatesSTATE8 -[#1E90FF,bold]-> StatesSTATE9 <<external>> <<e_Events_EVENT8>> : Events.EVENT8
StatesSTATE9 -[#1E90FF,bold]-> StatesSTATE10 <<external>> <<e_Events_EVENT9>> : Events.EVENT9
StatesSTATE10 -[#1E90FF,bold]-> StatesSTATE11 <<external>> <<e_Events_EVENT10>> : Events.EVENT10
StatesSTATE11 -[#1E90FF,bold]-> StatesSTATE12 <<external>> <<e_Events_EVENT11>> : Events.EVENT11
StatesSTATE12 -[#1E90FF,bold]-> StatesSTATE13 <<external>> <<e_Events_EVENT12>> : Events.EVENT12
StatesSTATE13 -[#1E90FF,bold]-> StatesSTATE14 <<external>> <<e_Events_EVENT13>> : Events.EVENT13
StatesSTATE14 -[#1E90FF,bold]-> StatesSTATE15 <<external>> <<e_Events_EVENT14>> : Events.EVENT14
StatesSTATE15 -[#1E90FF,bold]-> StatesSTATE16 <<external>> <<e_Events_EVENT15>> : Events.EVENT15
StatesSTATE1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE2 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE3 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE5 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE4 -[#1E90FF,bold]-> StatesSTATEY <<external>> <<e_Events_EVENTY>> : Events.EVENTY
StatesSTATEY -[#FF6347,bold]-> StatesSTATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATEY -[#FF6347,bold]-> StatesSTATEZ <<choice_type>> : (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE17 <<choice_type>> : [guardVarEquals("value1")] (order=0)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE18 <<choice_type>> : [guardVarEquals("value2")] (order=1)
StatesSTATE16 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : (order=2)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : [guardEventHeaderEquals("header1","foo")] (order=0)
StatesSTATE17 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE19 <<choice_type>> : [guardVarEquals("value3")] (order=0)
StatesSTATE18 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : [guardVarEquals("reset")] (order=0)
StatesSTATE19 -[#FF6347,bold]-> StatesSTATE20 <<choice_type>> : (order=1)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE5 <<choice_type>> : [guardEventHeaderEquals("header2","bar")] (order=0)
StatesSTATE20 -[#FF6347,bold]-> StatesSTATE1 <<choice_type>> : (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE13 <<choice_type>> : [guardVarEquals("goTo13")] (order=0)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE14 <<choice_type>> : [guardVarEquals("goTo14")] (order=1)
StatesSTATE11 -[#FF6347,bold]-> StatesSTATE15 <<choice_type>> : (order=2)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : [guardVarEquals("goBack10")] (order=0)
StatesSTATE12 -[#FF6347,bold]-> StatesSTATE11 <<choice_type>> : (order=1)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE12 <<choice_type>> : [guardVarEquals("loop12")] (order=0)
StatesSTATE14 -[#FF6347,bold]-> StatesSTATE16 <<choice_type>> : (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
StatesSTATE9 -[#FF6347,bold]-> StatesSTATE6 <<choice_type>> : (order=2)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
StatesSTATE8 -[#FF6347,bold]-> StatesSTATE10 <<choice_type>> : (order=1)
StatesSTATE5 -[#1E90FF,bold]-> StatesSTATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : Events.EVENTX
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL>> : Events.EVENT_CANCEL
StatesSTATE_EXTRA_1 -[#1E90FF,bold]-> StatesCANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : Events.EVENT_CANCEL_2
[*] --> STATE1
state STATEY <<choice>>
state STATE16 <<choice>>
state STATE17 <<choice>>
state STATE18 <<choice>>
state STATE19 <<choice>>
state STATE20 <<choice>>
state STATE11 <<choice>>
state STATE12 <<choice>>
state STATE14 <<choice>>
state STATE9 <<choice>>
state STATE8 <<choice>>
STATE1 -[#1E90FF,bold]-> STATE2 <<external>> <<e_Events_EVENT1>> : EVENT1
STATE2 -[#1E90FF,bold]-> STATE3 <<external>> <<e_Events_EVENT2>> : EVENT2
STATE3 -[#1E90FF,bold]-> STATE4 <<external>> <<e_Events_EVENT3>> : EVENT3
STATE4 -[#1E90FF,bold]-> STATE5 <<external>> <<e_Events_EVENT4>> : EVENT4
STATE5 -[#1E90FF,bold]-> STATE6 <<external>> <<e_Events_EVENT5>> : EVENT5
STATE6 -[#1E90FF,bold]-> STATE7 <<external>> <<e_Events_EVENT6>> : EVENT6
STATE7 -[#1E90FF,bold]-> STATE8 <<external>> <<e_Events_EVENT7>> : EVENT7
STATE8 -[#1E90FF,bold]-> STATE9 <<external>> <<e_Events_EVENT8>> : EVENT8
STATE9 -[#1E90FF,bold]-> STATE10 <<external>> <<e_Events_EVENT9>> : EVENT9
STATE10 -[#1E90FF,bold]-> STATE11 <<external>> <<e_Events_EVENT10>> : EVENT10
STATE11 -[#1E90FF,bold]-> STATE12 <<external>> <<e_Events_EVENT11>> : EVENT11
STATE12 -[#1E90FF,bold]-> STATE13 <<external>> <<e_Events_EVENT12>> : EVENT12
STATE13 -[#1E90FF,bold]-> STATE14 <<external>> <<e_Events_EVENT13>> : EVENT13
STATE14 -[#1E90FF,bold]-> STATE15 <<external>> <<e_Events_EVENT14>> : EVENT14
STATE15 -[#1E90FF,bold]-> STATE16 <<external>> <<e_Events_EVENT15>> : EVENT15
STATE1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE2 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE3 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE5 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE4 -[#1E90FF,bold]-> STATEY <<external>> <<e_Events_EVENTY>> : EVENTY
STATEY -[#FF6347,bold]-> STATEX <<choice_color_0>> : [guardVarEquals("value1")] (order=0)
STATEY -[#FF6347,bold]-> STATEZ <<choice_color_0>> : (order=1)
STATE16 -[#4682B4,bold]-> STATE17 <<choice_color_1>> : [guardVarEquals("value1")] (order=0)
STATE16 -[#4682B4,bold]-> STATE18 <<choice_color_1>> : [guardVarEquals("value2")] (order=1)
STATE16 -[#4682B4,bold]-> STATE19 <<choice_color_1>> : (order=2)
STATE17 -[#32CD32,bold]-> STATE20 <<choice_color_2>> : [guardEventHeaderEquals("header1","foo")] (order=0)
STATE17 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE18 -[#FFD700,bold]-> STATE19 <<choice_color_3>> : [guardVarEquals("value3")] (order=0)
STATE18 -[#FFD700,bold]-> STATE20 <<choice_color_3>> : (order=1)
STATE19 -[#6A5ACD,bold]-> STATE1 <<choice_color_4>> : [guardVarEquals("reset")] (order=0)
STATE19 -[#6A5ACD,bold]-> STATE20 <<choice_color_4>> : (order=1)
STATE20 -[#FF69B4,bold]-> STATE5 <<choice_color_5>> : [guardEventHeaderEquals("header2","bar")] (order=0)
STATE20 -[#FF69B4,bold]-> STATE1 <<choice_color_5>> : (order=1)
STATE11 -[#FF6347,bold]-> STATE13 <<choice_color_0>> : [guardVarEquals("goTo13")] (order=0)
STATE11 -[#FF6347,bold]-> STATE14 <<choice_color_0>> : [guardVarEquals("goTo14")] (order=1)
STATE11 -[#FF6347,bold]-> STATE15 <<choice_color_0>> : (order=2)
STATE12 -[#4682B4,bold]-> STATE10 <<choice_color_1>> : [guardVarEquals("goBack10")] (order=0)
STATE12 -[#4682B4,bold]-> STATE11 <<choice_color_1>> : (order=1)
STATE14 -[#32CD32,bold]-> STATE12 <<choice_color_2>> : [guardVarEquals("loop12")] (order=0)
STATE14 -[#32CD32,bold]-> STATE16 <<choice_color_2>> : (order=1)
STATE9 -[#FFD700,bold]-> STATE8 <<choice_color_3>> : [guardVarEquals("stepBack")] (order=0)
STATE9 -[#FFD700,bold]-> STATE7 <<choice_color_3>> : [guardVarEquals("stepBackMore")] (order=1)
STATE9 -[#FFD700,bold]-> STATE6 <<choice_color_3>> : (order=2)
STATE8 -[#6A5ACD,bold]-> STATE9 <<choice_color_4>> : [guardVarEquals("forward9")] (order=0)
STATE8 -[#6A5ACD,bold]-> STATE10 <<choice_color_4>> : (order=1)
STATE5 -[#1E90FF,bold]-> STATE_EXTRA_1 <<external>> <<e_Events_EVENTX>> : EVENTX
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL>> : EVENT_CANCEL
STATE_EXTRA_1 -[#1E90FF,bold]-> CANCEL <<external>> <<e_Events_EVENT_CANCEL_2>> : EVENT_CANCEL_2
hide <<e_Events_EVENT1>> stereotype
hide <<e_Events_EVENT2>> stereotype
hide <<e_Events_EVENT3>> stereotype
hide <<e_Events_EVENT4>> stereotype
hide <<e_Events_EVENT5>> stereotype
hide <<e_Events_EVENT6>> stereotype
hide <<e_Events_EVENT7>> stereotype
hide <<e_Events_EVENT8>> stereotype
hide <<e_Events_EVENT9>> stereotype
hide <<e_Events_EVENT10>> stereotype
hide <<e_Events_EVENT11>> stereotype
hide <<e_Events_EVENT12>> stereotype
hide <<e_Events_EVENT13>> stereotype
hide <<e_Events_EVENT14>> stereotype
hide <<e_Events_EVENT15>> stereotype
hide <<e_Events_EVENT_CANCEL>> stereotype
hide <<e_Events_EVENTY>> stereotype
hide <<e_Events_EVENTX>> stereotype
hide <<e_Events_EVENT_CANCEL_2>> stereotype
STATEZ --> [*]
StatesSTATEZ --> [*]
@enduml