Enforce package-canonical enum identifiers across analysis export.

Resolve generic configurer type arguments, canonicalize transitions and triggers consistently, validate after property resolution, and update regression goldens.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-12 00:48:43 +02:00
parent ea9b8d6cff
commit 0aca0aade9
116 changed files with 3561 additions and 2727 deletions

View File

@@ -132,6 +132,12 @@ public class RegressionTest {
Path.of("src/test/resources/golden/EnterpriseStateMachineConfig"),
"EnterpriseStateMachineConfig"
),
new TestScenario(
"Enterprise Factory Order Machine",
root.resolve("state_machines/state_machine_enterprise"),
Path.of("src/test/resources/golden/OrderStateMachineConfiguration"),
"OrderStateMachineConfiguration"
),
new TestScenario(
"Multi-Module Sample",
root.resolve("state_machines/multi_module_sample/core-module"),

View File

@@ -224,7 +224,7 @@ class TransitionLinkerEnricherTest {
CallChain updatedChain = result.getMetadata().getCallChains().get(0);
assertThat(updatedChain.getMatchedTransitions()).hasSize(1);
assertThat(updatedChain.getMatchedTransitions().get(0).getEvent()).isEqualTo("OrderEvents.PAY");
assertThat(updatedChain.getMatchedTransitions().get(0).getEvent()).isEqualTo("com.example.OrderEvents.PAY");
}
@Test

View File

@@ -0,0 +1,30 @@
package click.kamil.springstatemachineexporter.analysis.enricher.matching;
import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
import click.kamil.springstatemachineexporter.model.Event;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
class StrictFqnMatchingEngineExternalTriggerTest {
private final StrictFqnMatchingEngine engine = new StrictFqnMatchingEngine();
@Test
void shouldMatchExternalTriggerByMainEventWhenPolymorphicEventsAreEmpty() {
Event machineEvent = Event.of(
"com.example.order.OrderEvent.PAY",
"com.example.order.OrderEvent.PAY");
TriggerPoint trigger = TriggerPoint.builder()
.event("com.example.order.OrderEvent.PAY")
.eventTypeFqn("com.example.order.OrderEvent")
.external(true)
.polymorphicEvents(List.of())
.build();
assertThat(engine.matches(machineEvent, trigger)).isTrue();
}
}

View File

@@ -0,0 +1,67 @@
package click.kamil.springstatemachineexporter.analysis.enricher.routing;
import click.kamil.springstatemachineexporter.analysis.model.CallChain;
import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThat;
class HeuristicBeanResolutionEngineRoutingTest {
private final HeuristicBeanResolutionEngine engine = new HeuristicBeanResolutionEngine();
@Test
void shouldRejectChainWhenEventTypesDifferEvenIfStateTypesMatch(@TempDir Path tempDir) throws Exception {
writeTwoMachineSample(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
CallChain chain = CallChain.builder()
.triggerPoint(TriggerPoint.builder()
.event("InvoiceEvent.PAY")
.eventTypeFqn("com.example.invoice.InvoiceEvent")
.stateTypeFqn("com.example.shared.SharedState")
.build())
.build();
assertThat(engine.isRoutedToCorrectMachine(
chain,
"com.example.config.OrderStateMachineConfiguration",
context)).isFalse();
}
private static void writeTwoMachineSample(Path tempDir) throws Exception {
Path orderPkg = tempDir.resolve("com/example/order");
Path invoicePkg = tempDir.resolve("com/example/invoice");
Path sharedPkg = tempDir.resolve("com/example/shared");
Path configPkg = tempDir.resolve("com/example/config");
Files.createDirectories(orderPkg);
Files.createDirectories(invoicePkg);
Files.createDirectories(sharedPkg);
Files.createDirectories(configPkg);
Files.writeString(sharedPkg.resolve("SharedState.java"),
"package com.example.shared; public enum SharedState { NEW }");
Files.writeString(orderPkg.resolve("OrderState.java"),
"package com.example.order; public enum OrderState { NEW }");
Files.writeString(orderPkg.resolve("OrderEvent.java"),
"package com.example.order; public enum OrderEvent { PAY }");
Files.writeString(invoicePkg.resolve("InvoiceEvent.java"),
"package com.example.invoice; public enum InvoiceEvent { PAY }");
Files.writeString(configPkg.resolve("OrderStateMachineConfiguration.java"),
"""
package com.example.config;
import com.example.order.OrderEvent;
import com.example.order.OrderState;
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
public class OrderStateMachineConfiguration
extends EnumStateMachineConfigurerAdapter<OrderState, OrderEvent> {
}
""");
}
}

View File

@@ -0,0 +1,26 @@
package click.kamil.springstatemachineexporter.analysis.resolver;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class MachineEnumCanonicalizerCrossPackageTest {
@Test
void shouldNotRewriteCrossPackageEnumReferencesWhenSimpleNamesMatch() {
String machineEventType = "com.bar.OrderEvents";
String foreignEvent = "com.foo.OrderEvents.PAY";
assertThat(MachineEnumCanonicalizer.enumTypesMatch(machineEventType, "com.foo.OrderEvents"))
.isFalse();
assertThat(MachineEnumCanonicalizer.canonicalizeLabel(foreignEvent, machineEventType))
.isEqualTo(foreignEvent);
}
@Test
void shouldCanonicalizeImportStyleReferencesForMachineEnumType() {
assertThat(MachineEnumCanonicalizer.canonicalizeLabel(
"OrderEvents.PAY", "com.bar.OrderEvents"))
.isEqualTo("com.bar.OrderEvents.PAY");
}
}

View File

@@ -0,0 +1,156 @@
package click.kamil.springstatemachineexporter.analysis.resolver;
import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
import click.kamil.springstatemachineexporter.model.Event;
import click.kamil.springstatemachineexporter.model.State;
import click.kamil.springstatemachineexporter.model.Transition;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
class MachineEnumCanonicalizerTest {
@Test
void shouldResolveMachineEnumTypesFromConfigurerAdapter(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"com.example.config.OrderStateMachineConfiguration", context);
assertThat(types.stateTypeFqn()).isEqualTo("com.example.order.OrderState");
assertThat(types.eventTypeFqn()).isEqualTo("com.example.order.OrderEvent");
}
@Test
void shouldCanonicalizeTransitionIdentifiersUsingMachineTypes(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"com.example.config.OrderStateMachineConfiguration", context);
Transition transition = new Transition();
transition.setEvent(Event.of("OrderEvent.PAY", "OrderEvent.PAY"));
transition.setSourceStates(List.of(State.of("OrderState.NEW", "OrderState.NEW")));
transition.setTargetStates(List.of(State.of("OrderState.PAID", "OrderState.PAID")));
MachineEnumCanonicalizer.canonicalizeTransitions(List.of(transition), types);
assertThat(transition.getEvent().fullIdentifier())
.isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(transition.getSourceStates().get(0).fullIdentifier())
.isEqualTo("com.example.order.OrderState.NEW");
assertThat(transition.getTargetStates().get(0).fullIdentifier())
.isEqualTo("com.example.order.OrderState.PAID");
}
@Test
void shouldCanonicalizeBareConstantNames(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"com.example.config.OrderStateMachineConfiguration", context);
assertThat(MachineEnumCanonicalizer.canonicalizeLabel("PAY", types.eventTypeFqn()))
.isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(MachineEnumCanonicalizer.canonicalizeStateLabels(Set.of("NEW"), types.stateTypeFqn()))
.containsExactly("com.example.order.OrderState.NEW");
}
@Test
void shouldLeaveStringStatesUntouched(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"com.example.config.OrderStateMachineConfiguration", context);
assertThat(MachineEnumCanonicalizer.canonicalizeLabel("\"DRAFT\"", types.stateTypeFqn()))
.isEqualTo("DRAFT");
}
@Test
void shouldCanonicalizePolymorphicEventsUsingMachineEventType(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"com.example.config.OrderStateMachineConfiguration", context);
TriggerPoint trigger = TriggerPoint.builder()
.event("OrderEvent.PAY")
.className("com.example.web.Controller")
.methodName("pay")
.sourceFile("Controller.java")
.polymorphicEvents(List.of("OrderEvent.PAY", "PAY"))
.eventTypeFqn("OrderEvent")
.build();
TriggerPoint canonical = MachineEnumCanonicalizer.canonicalizeTriggerPoint(trigger, types);
assertThat(canonical.getPolymorphicEvents()).containsExactly(
"com.example.order.OrderEvent.PAY",
"com.example.order.OrderEvent.PAY");
assertThat(canonical.getEvent()).isEqualTo("com.example.order.OrderEvent.PAY");
}
@Test
void shouldQualifyEventIdentifierToPackageFqn() {
String eventTypeFqn = "com.example.order.OrderEvent";
assertThat(MachineEnumCanonicalizer.qualifyEventIdentifier("PAY", eventTypeFqn))
.isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(MachineEnumCanonicalizer.qualifyEventIdentifier("OrderEvent.PAY", eventTypeFqn))
.isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(MachineEnumCanonicalizer.qualifyEventIdentifier("getType()", eventTypeFqn))
.isEqualTo("getType()");
}
private static void writeSampleConfig(Path tempDir) throws IOException {
Path orderPkg = tempDir.resolve("com/example/order");
Path configPkg = tempDir.resolve("com/example/config");
Files.createDirectories(orderPkg);
Files.createDirectories(configPkg);
Files.writeString(orderPkg.resolve("OrderState.java"),
"""
package com.example.order;
public enum OrderState { NEW, PAID }
""");
Files.writeString(orderPkg.resolve("OrderEvent.java"),
"""
package com.example.order;
public enum OrderEvent { PAY }
""");
Files.writeString(configPkg.resolve("OrderStateMachineConfiguration.java"),
"""
package com.example.config;
import com.example.order.OrderEvent;
import com.example.order.OrderState;
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
public class OrderStateMachineConfiguration
extends EnumStateMachineConfigurerAdapter<OrderState, OrderEvent> {
}
""");
}
}

View File

@@ -0,0 +1,39 @@
package click.kamil.springstatemachineexporter.analysis.resolver;
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
import org.junit.jupiter.api.Test;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThat;
class StateMachineTypeResolverEnterpriseTest {
@Test
void shouldResolveConcreteTypesThroughGenericAbstractBase() throws Exception {
Path root = findProjectRoot();
Path enterprise = root.resolve("state_machines/state_machine_enterprise");
CodebaseContext context = new CodebaseContext();
context.scan(enterprise);
StateMachineTypeResolver.MachineTypes types = StateMachineTypeResolver.resolveTypes(
"click.kamil.enterprise.machines.order.OrderStateMachineConfiguration", context);
assertThat(types.stateTypeFqn())
.isEqualTo("click.kamil.enterprise.machines.order.OrderState");
assertThat(types.eventTypeFqn())
.isEqualTo("click.kamil.enterprise.machines.order.OrderEvent");
assertThat(StateMachineTypeResolver.extendsEnumStateMachineConfigurer(
"click.kamil.enterprise.machines.order.OrderStateMachineConfiguration", context))
.isTrue();
}
private static Path findProjectRoot() {
Path current = Path.of(".").toAbsolutePath();
while (current != null && !Files.exists(current.resolve("settings.gradle"))) {
current = current.getParent();
}
return current;
}
}

View File

@@ -230,6 +230,7 @@ class AnalysisCacheCorrectnessTest {
new TriggerEnricher(),
new EntryPointEnricher(),
new CallChainEnricher(),
new click.kamil.springstatemachineexporter.analysis.enricher.TriggerCanonicalizationEnricher(),
new TransitionLinkerEnricher()));
List<String> configNames = List.of(
@@ -274,6 +275,7 @@ class AnalysisCacheCorrectnessTest {
new TriggerEnricher(),
new EntryPointEnricher(),
new CallChainEnricher(),
new click.kamil.springstatemachineexporter.analysis.enricher.TriggerCanonicalizationEnricher(),
new TransitionLinkerEnricher()));
List<String> configNames = TwelveConfigHierarchyTestSupport.concreteConfigNames();

View File

@@ -0,0 +1,113 @@
package click.kamil.springstatemachineexporter.analysis.service;
import click.kamil.springstatemachineexporter.analysis.model.AnalysisResult;
import click.kamil.springstatemachineexporter.analysis.model.CodebaseMetadata;
import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
import click.kamil.springstatemachineexporter.analysis.resolver.MachineEnumCanonicalizer;
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
import click.kamil.springstatemachineexporter.model.Event;
import click.kamil.springstatemachineexporter.model.State;
import click.kamil.springstatemachineexporter.model.Transition;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
class AnalysisResultFinalizerTest {
@Test
void shouldReCanonicalizeAfterPropertyResolution(@TempDir Path tempDir) throws Exception {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
Transition transition = new Transition();
transition.setEvent(Event.of("OrderEvent.PAY", "OrderEvent.PAY"));
transition.setSourceStates(List.of(State.of("OrderState.NEW", "OrderState.NEW")));
transition.setTargetStates(List.of(State.of("OrderState.PAID", "OrderState.PAID")));
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.OrderStateMachineConfiguration")
.transitions(List.of(transition))
.startStates(Set.of("OrderState.NEW"))
.metadata(CodebaseMetadata.builder()
.triggers(List.of(TriggerPoint.builder()
.event("OrderEvent.PAY")
.className("com.example.web.OrderController")
.methodName("pay")
.sourceFile("OrderController.java")
.polymorphicEvents(List.of("OrderEvent.PAY"))
.eventTypeFqn("com.example.order.OrderEvent")
.build()))
.properties(Map.of("default", Map.of()))
.build())
.build();
result.applyResolution(Map.of());
AnalysisResultFinalizer.finalizeResult(result, context);
assertThat(result.getTransitions().get(0).getEvent().fullIdentifier())
.isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(result.getStartStates())
.containsExactly("com.example.order.OrderState.NEW");
assertThat(result.getMetadata().getTriggers().get(0).getPolymorphicEvents())
.containsExactly("com.example.order.OrderEvent.PAY");
}
@Test
void applyResolutionShouldRebuildTriggersWithAllFields(@TempDir Path tempDir) throws Exception {
writeSampleConfig(tempDir);
TriggerPoint trigger = TriggerPoint.builder()
.event("${app.event}")
.sourceState("${app.state}")
.className("com.example.web.OrderController")
.methodName("pay")
.sourceFile("OrderController.java")
.polymorphicEvents(List.of("${app.event}"))
.eventTypeFqn("com.example.order.OrderEvent")
.stateTypeFqn("com.example.order.OrderState")
.build();
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.OrderStateMachineConfiguration")
.metadata(CodebaseMetadata.builder().triggers(List.of(trigger)).build())
.build();
result.applyResolution(Map.of(
"app.event", "OrderEvent.PAY",
"app.state", "OrderState.NEW"));
TriggerPoint resolved = result.getMetadata().getTriggers().get(0);
assertThat(resolved.getEvent()).isEqualTo("com.example.order.OrderEvent.PAY");
assertThat(resolved.getSourceState()).isEqualTo("com.example.order.OrderState.NEW");
assertThat(resolved.getPolymorphicEvents()).containsExactly("com.example.order.OrderEvent.PAY");
}
private static void writeSampleConfig(Path tempDir) throws Exception {
Path orderPkg = tempDir.resolve("com/example/order");
Path configPkg = tempDir.resolve("com/example/config");
Files.createDirectories(orderPkg);
Files.createDirectories(configPkg);
Files.writeString(orderPkg.resolve("OrderState.java"),
"package com.example.order; public enum OrderState { NEW, PAID }");
Files.writeString(orderPkg.resolve("OrderEvent.java"),
"package com.example.order; public enum OrderEvent { PAY }");
Files.writeString(configPkg.resolve("OrderStateMachineConfiguration.java"),
"""
package com.example.config;
import com.example.order.OrderEvent;
import com.example.order.OrderState;
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
public class OrderStateMachineConfiguration
extends EnumStateMachineConfigurerAdapter<OrderState, OrderEvent> {
}
""");
}
}

View File

@@ -76,7 +76,7 @@ class DispatcherEndpointTest {
.hasSize(1)
.first()
.extracting("event")
.isEqualTo("OrderEvent.PAY");
.isEqualTo("com.example.OrderEvent.PAY");
}
@Test

View File

@@ -0,0 +1,57 @@
package click.kamil.springstatemachineexporter.analysis.service;
import click.kamil.springstatemachineexporter.exporter.JsonExporter;
import click.kamil.springstatemachineexporter.service.ExportService;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
class EnterpriseOrderCanonicalExportTest {
@Test
void shouldExportEnterpriseOrderMachineWithPackageCanonicalIdentifiers(@TempDir Path tempDir) throws Exception {
Path enterprise = findProjectRoot().resolve("state_machines/state_machine_enterprise");
ExportService exportService = new ExportService(List.of(new JsonExporter()));
exportService.runExporter(enterprise, tempDir, List.of("json"), true, List.of(), null, null,
click.kamil.springstatemachineexporter.exporter.EnumFormat.fn,
click.kamil.springstatemachineexporter.exporter.EnumFormat.fn);
JsonNode machine = readMachineJson(tempDir, "OrderStateMachineConfiguration", new ObjectMapper());
JsonNode firstTransition = machine.path("transitions").get(0);
assertThat(firstTransition.path("event").path("fullIdentifier").asText())
.isEqualTo("click.kamil.enterprise.machines.order.OrderEvent.PAY");
assertThat(firstTransition.path("sourceStates").get(0).path("fullIdentifier").asText())
.isEqualTo("click.kamil.enterprise.machines.order.OrderState.NEW");
assertThat(machine.path("startStates").get(0).asText())
.isEqualTo("click.kamil.enterprise.machines.order.OrderState.NEW");
}
private static JsonNode readMachineJson(Path outputDir, String configBaseName, ObjectMapper mapper)
throws Exception {
Path machineDir;
try (var stream = Files.list(outputDir)) {
machineDir = stream
.filter(Files::isDirectory)
.filter(path -> path.getFileName().toString().endsWith(configBaseName))
.findFirst()
.orElseThrow(() -> new IllegalStateException("No output for " + configBaseName));
}
return mapper.readTree(machineDir.resolve(machineDir.getFileName() + ".json").toFile());
}
private static Path findProjectRoot() {
Path current = Path.of(".").toAbsolutePath();
while (current != null && !Files.exists(current.resolve("settings.gradle"))) {
current = current.getParent();
}
return current;
}
}

View File

@@ -41,28 +41,48 @@ class LayeredDispatcherSampleTest {
JsonNode documentMachine = readMachineJson(tempDir, "StandardDocumentStateMachineConfiguration", mapper);
assertEndpointLinksSingleTransition(orderMachine, "POST /api/orders/pay",
"OrderTransitionEvent.PAY", "OrderState.NEW", "OrderState.PAID");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/orders/ship",
"OrderTransitionEvent.SHIP", "OrderState.PAID", "OrderState.SHIPPED");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/orders/cancel",
"OrderTransitionEvent.CANCEL", "OrderState.PAID", "OrderState.CANCELLED");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED");
assertEndpointLinksSingleTransition(documentMachine, "POST /api/documents/submit",
"DocumentTransitionEvent.SUBMIT", "DocumentState.DRAFT", "DocumentState.SUBMITTED");
"click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT",
"click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
"click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED");
assertEndpointLinksSingleTransition(documentMachine, "POST /api/documents/approve",
"DocumentTransitionEvent.APPROVE", "DocumentState.SUBMITTED", "DocumentState.APPROVED");
"click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE",
"click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED");
assertEndpointLinksSingleTransition(documentMachine, "POST /api/documents/reject",
"DocumentTransitionEvent.REJECT", "DocumentState.SUBMITTED", "DocumentState.REJECTED");
"click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT",
"click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/orders/rich/pay",
"OrderTransitionEvent.PAY", "OrderState.NEW", "OrderState.PAID");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/orders/rich/ship",
"OrderTransitionEvent.SHIP", "OrderState.PAID", "OrderState.SHIPPED");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/string-dispatch/orders/pay",
"OrderTransitionEvent.PAY", "OrderState.NEW", "OrderState.PAID");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/string-dispatch/orders/ship",
"OrderTransitionEvent.SHIP", "OrderState.PAID", "OrderState.SHIPPED");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED");
}
@Test
@@ -75,8 +95,10 @@ class LayeredDispatcherSampleTest {
JsonNode orderMachine = readMachineJson(tempDir, "StandardOrderStateMachineConfiguration", new ObjectMapper());
assertSingleMatchedChain(orderMachine, "POST /api/string-dispatch/orders/pay", "OrderTransitionEvent.PAY");
assertSingleMatchedChain(orderMachine, "POST /api/string-dispatch/orders/ship", "OrderTransitionEvent.SHIP");
assertSingleMatchedChain(orderMachine, "POST /api/string-dispatch/orders/pay",
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY");
assertSingleMatchedChain(orderMachine, "POST /api/string-dispatch/orders/ship",
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP");
}
@Test
@@ -90,14 +112,21 @@ class LayeredDispatcherSampleTest {
JsonNode orderMachine = readMachineJson(tempDir, "StandardOrderStateMachineConfiguration", new ObjectMapper());
assertEndpointLinksSingleTransition(orderMachine, "POST /api/commands/order.pay",
"OrderTransitionEvent.PAY", "OrderState.NEW", "OrderState.PAID");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID");
assertEndpointLinksSingleTransition(orderMachine, "POST /api/commands/order.ship",
"OrderTransitionEvent.SHIP", "OrderState.PAID", "OrderState.SHIPPED");
assertSingleMatchedChain(orderMachine, "POST /api/commands/order.pay", "OrderTransitionEvent.PAY");
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED");
assertSingleMatchedChain(orderMachine, "POST /api/commands/order.pay",
"click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY");
JsonNode documentMachine = readMachineJson(tempDir, "StandardDocumentStateMachineConfiguration", new ObjectMapper());
assertEndpointLinksSingleTransition(documentMachine, "POST /api/commands/document.submit",
"DocumentTransitionEvent.SUBMIT", "DocumentState.DRAFT", "DocumentState.SUBMITTED");
"click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT",
"click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
"click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED");
JsonNode entryPoints = documentMachine.path("metadata").path("entryPoints");
assertThat(entryPoints.isArray()).isTrue();
assertThat(entryPoints.findValuesAsText("name"))

View File

@@ -42,7 +42,7 @@ class StringDispatchCallGraphGapTest {
assertThat(matchedChains).hasSize(1);
assertThat(matchedChains.get(0).get("matchedTransitions")).hasSize(1);
assertThat(matchedChains.get(0).get("matchedTransitions").get(0).get("event").asText())
.isEqualTo("OrderTransitionEvent.PAY");
.isEqualTo("click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY");
}
private static JsonNode readMachineJson(Path outputDir, String configBaseName, ObjectMapper mapper)

View File

@@ -0,0 +1,181 @@
package click.kamil.springstatemachineexporter.analysis.validation;
import click.kamil.springstatemachineexporter.analysis.model.AnalysisResult;
import click.kamil.springstatemachineexporter.analysis.model.CallChain;
import click.kamil.springstatemachineexporter.analysis.model.CodebaseMetadata;
import click.kamil.springstatemachineexporter.analysis.model.MatchedTransition;
import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
import click.kamil.springstatemachineexporter.model.Event;
import click.kamil.springstatemachineexporter.model.State;
import click.kamil.springstatemachineexporter.model.Transition;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.Set;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
class AnalysisCanonicalFormValidatorTest {
@Test
void shouldPassWhenAllEnumIdentifiersArePackageCanonical(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.OrderStateMachineConfiguration")
.transitions(List.of(transition(
"com.example.order.OrderEvent.PAY",
"com.example.order.OrderState.NEW",
"com.example.order.OrderState.PAID")))
.startStates(Set.of("com.example.order.OrderState.NEW"))
.metadata(CodebaseMetadata.builder()
.triggers(List.of(TriggerPoint.builder()
.event("com.example.order.OrderEvent.PAY")
.className("com.example.web.OrderController")
.methodName("pay")
.sourceFile("OrderController.java")
.polymorphicEvents(List.of("com.example.order.OrderEvent.PAY"))
.eventTypeFqn("com.example.order.OrderEvent")
.build()))
.callChains(List.of(CallChain.builder()
.triggerPoint(TriggerPoint.builder()
.event("com.example.order.OrderEvent.PAY")
.className("com.example.web.OrderController")
.methodName("pay")
.sourceFile("OrderController.java")
.polymorphicEvents(List.of("com.example.order.OrderEvent.PAY"))
.eventTypeFqn("com.example.order.OrderEvent")
.build())
.matchedTransitions(List.of(MatchedTransition.builder()
.event("com.example.order.OrderEvent.PAY")
.sourceState("com.example.order.OrderState.NEW")
.targetState("com.example.order.OrderState.PAID")
.build()))
.build()))
.build())
.build();
assertThat(AnalysisCanonicalFormValidator.validate(result, context)).isEmpty();
}
@Test
void shouldFailWhenTransitionFullIdentifiersUseShortEnumForm(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
Transition transition = new Transition();
transition.setEvent(Event.of("OrderEvent.PAY", "OrderEvent.PAY"));
transition.setSourceStates(List.of(State.of("OrderState.NEW", "OrderState.NEW")));
transition.setTargetStates(List.of(State.of("OrderState.PAID", "OrderState.PAID")));
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.OrderStateMachineConfiguration")
.transitions(List.of(transition))
.build();
List<AnalysisCanonicalFormValidator.Violation> violations =
AnalysisCanonicalFormValidator.validate(result, context);
assertThat(violations)
.extracting(AnalysisCanonicalFormValidator.Violation::path)
.contains("transitions[0].event.fullIdentifier");
assertThatThrownBy(() -> AnalysisCanonicalFormValidator.enforce(result, context))
.isInstanceOf(AnalysisCanonicalFormException.class);
}
@Test
void shouldFailWhenMatchedTransitionStatesUseShortIdentifiers(@TempDir Path tempDir) throws IOException {
writeSampleConfig(tempDir);
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.OrderStateMachineConfiguration")
.transitions(List.of(transition(
"com.example.order.OrderEvent.PAY",
"com.example.order.OrderState.NEW",
"com.example.order.OrderState.PAID")))
.metadata(CodebaseMetadata.builder()
.callChains(List.of(CallChain.builder()
.matchedTransitions(List.of(MatchedTransition.builder()
.event("com.example.order.OrderEvent.PAY")
.sourceState("OrderState.NEW")
.targetState("OrderState.PAID")
.build()))
.build()))
.build())
.build();
assertThat(AnalysisCanonicalFormValidator.validate(result, context))
.extracting(AnalysisCanonicalFormValidator.Violation::path)
.anyMatch(path -> path.contains("matchedTransitions[0].sourceState"));
}
@Test
void shouldSkipValidationForStringStateMachines(@TempDir Path tempDir) throws IOException {
Path configPkg = tempDir.resolve("com/example/config");
Files.createDirectories(configPkg);
Files.writeString(configPkg.resolve("StringStateMachineConfiguration.java"),
"""
package com.example.config;
import org.springframework.statemachine.config.StateMachineConfigurerAdapter;
public class StringStateMachineConfiguration extends StateMachineConfigurerAdapter<String, String> {
}
""");
CodebaseContext context = new CodebaseContext();
context.scan(tempDir);
AnalysisResult result = AnalysisResult.builder()
.name("com.example.config.StringStateMachineConfiguration")
.transitions(List.of(transition("PAY", "NEW", "PAID")))
.build();
assertThat(AnalysisCanonicalFormValidator.validate(result, context)).isEmpty();
}
private static Transition transition(String eventFqn, String sourceFqn, String targetFqn) {
Transition transition = new Transition();
transition.setEvent(Event.of(eventFqn, eventFqn));
transition.setSourceStates(List.of(State.of(sourceFqn, sourceFqn)));
transition.setTargetStates(List.of(State.of(targetFqn, targetFqn)));
return transition;
}
private static void writeSampleConfig(Path tempDir) throws IOException {
Path orderPkg = tempDir.resolve("com/example/order");
Path configPkg = tempDir.resolve("com/example/config");
Files.createDirectories(orderPkg);
Files.createDirectories(configPkg);
Files.writeString(orderPkg.resolve("OrderState.java"),
"""
package com.example.order;
public enum OrderState { NEW, PAID }
""");
Files.writeString(orderPkg.resolve("OrderEvent.java"),
"""
package com.example.order;
public enum OrderEvent { PAY }
""");
Files.writeString(configPkg.resolve("OrderStateMachineConfiguration.java"),
"""
package com.example.config;
import com.example.order.OrderEvent;
import com.example.order.OrderState;
import org.springframework.statemachine.config.EnumStateMachineConfigurerAdapter;
public class OrderStateMachineConfiguration
extends EnumStateMachineConfigurerAdapter<OrderState, OrderEvent> {
}
""");
}
}

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.complex.ComplexStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "ComplexStateMachineConfig.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "ComplexStateMachineConfig.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,11 +271,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -292,11 +292,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -313,11 +313,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -327,11 +327,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -348,11 +348,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -362,11 +362,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -383,11 +383,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -397,11 +397,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -418,11 +418,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -432,11 +432,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -453,11 +453,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -467,11 +467,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -488,11 +488,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -509,11 +509,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -523,11 +523,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -544,11 +544,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -558,11 +558,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -579,11 +579,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -593,11 +593,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -614,11 +614,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -635,11 +635,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -649,11 +649,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -670,11 +670,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "ComplexStateMachineConfig.States.STATE10"
} ],
"event" : null,
"guards" : [ ],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 206 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> ComplexStateMachineConfig.States.STATE1
state States.STATE16 <<choice>>
state States.STATE17 <<choice>>

View File

@@ -124,5 +124,7 @@
<!-- order=1 -->
</transition>
</state>
<state id="STATE1">
</state>
</scxml>

View File

@@ -8,15 +8,15 @@ digraph statemachine {
_start [shape=circle, label="", fillcolor=black, width=0.1];
_start -> NEW;
CANCELLED [fillcolor=lightgray];
DELIVERED [fillcolor=lightgray];
RETURNED [fillcolor=lightgray];
NEW -> CHECK_AVAILABILITY [label="PLACE_ORDER", style="solid", color="black"];
DELIVERED [fillcolor=lightgray];
NEW -> CHECK_AVAILABILITY [label="String.PLACE_ORDER", style="solid", color="black"];
CHECK_AVAILABILITY_choice -> PENDING_PAYMENT [label="[λ] (order=0)", style="solid", color="blue"];
CHECK_AVAILABILITY_choice -> CANCELLED [label="(order=1)", style="solid", color="blue"];
PENDING_PAYMENT -> PAID [label="PAY_ORDER", style="solid", color="black"];
PAID -> SHIPPED [label="SHIP_ORDER", style="solid", color="black"];
SHIPPED -> DELIVERED [label="FINALIZE", style="solid", color="black"];
PAID -> CANCELLED [label="CANCEL_ORDER", style="solid", color="black"];
DELIVERED -> RETURNED [label="RETURN_ORDER", style="solid", color="black"];
PENDING_PAYMENT -> PAID [label="String.PAY_ORDER", style="solid", color="black"];
PAID -> SHIPPED [label="String.SHIP_ORDER", style="solid", color="black"];
SHIPPED -> DELIVERED [label="String.FINALIZE", style="solid", color="black"];
PAID -> CANCELLED [label="String.CANCEL_ORDER", style="solid", color="black"];
DELIVERED -> RETURNED [label="String.RETURN_ORDER", style="solid", color="black"];
}

View File

@@ -1,84 +1,6 @@
{
"metadata" : {
"triggers" : [ {
"event" : "AUDIT_EVENT",
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
"methodName" : "preHandle",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/SecurityInterceptor.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "PLACE_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "place",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 16,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "CANCEL_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "cancel",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 21,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "PAY_ORDER",
"className" : "click.kamil.examples.enterprise.service.ReactivePaymentService",
"methodName" : "processPayment",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/ReactivePaymentService.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 18,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "SHIP_ORDER",
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
"methodName" : "onShippingReady",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ShippingJmsListener.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "RETURN_ORDER",
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
"methodName" : "onReturn",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ReturnsRabbitListener.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
} ],
"triggers" : [ ],
"entryPoints" : [ {
"type" : "CUSTOM",
"name" : "INTERCEPTOR: SecurityInterceptor.preHandle",
@@ -135,314 +57,27 @@
"annotations" : [ ]
} ]
} ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/enterprise/orders/place",
"className" : "click.kamil.examples.enterprise.api.OrderApi",
"methodName" : "placeOrder",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderApi.java",
"metadata" : {
"path" : "/api/enterprise/orders/place",
"verb" : "POST"
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.OrderApi.placeOrder", "click.kamil.examples.enterprise.api.OrderController.placeOrder", "click.kamil.examples.enterprise.service.OrderServiceImpl.place" ],
"triggerPoint" : {
"event" : "PLACE_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "place",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 16,
"polymorphicEvents" : [ "PLACE_ORDER" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "NEW",
"targetState" : "CHECK_AVAILABILITY",
"event" : "PLACE_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/enterprise/orders/{id}/cancel",
"className" : "click.kamil.examples.enterprise.api.OrderApi",
"methodName" : "cancelOrder",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderApi.java",
"metadata" : {
"path" : "/api/enterprise/orders/{id}/cancel",
"verb" : "POST"
},
"parameters" : [ {
"name" : "id",
"type" : "String",
"annotations" : [ "PathVariable" ]
} ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.OrderApi.cancelOrder", "click.kamil.examples.enterprise.api.OrderController.cancelOrder", "click.kamil.examples.enterprise.service.OrderServiceImpl.cancel" ],
"triggerPoint" : {
"event" : "CANCEL_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "cancel",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 21,
"polymorphicEvents" : [ "CANCEL_ORDER" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "PAID",
"targetState" : "CANCELLED",
"event" : "CANCEL_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/enterprise/orders/place",
"className" : "click.kamil.examples.enterprise.api.OrderController",
"methodName" : "placeOrder",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
"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" : {
"event" : "PLACE_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "place",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 16,
"polymorphicEvents" : [ "PLACE_ORDER" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "NEW",
"targetState" : "CHECK_AVAILABILITY",
"event" : "PLACE_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/enterprise/orders/{id}/cancel",
"className" : "click.kamil.examples.enterprise.api.OrderController",
"methodName" : "cancelOrder",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/OrderController.java",
"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" : {
"event" : "CANCEL_ORDER",
"className" : "click.kamil.examples.enterprise.service.OrderServiceImpl",
"methodName" : "cancel",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/OrderServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 21,
"polymorphicEvents" : [ "CANCEL_ORDER" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "PAID",
"targetState" : "CANCELLED",
"event" : "CANCEL_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "CUSTOM",
"name" : "INTERCEPTOR: SecurityInterceptor.preHandle",
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
"methodName" : "preHandle",
"sourceFile" : null,
"metadata" : {
"interceptorType" : "Spring MVC Interceptor"
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.enterprise.api.SecurityInterceptor.preHandle" ],
"triggerPoint" : {
"event" : "AUDIT_EVENT",
"className" : "click.kamil.examples.enterprise.api.SecurityInterceptor",
"methodName" : "preHandle",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/SecurityInterceptor.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/enterprise/payments",
"className" : "click.kamil.examples.enterprise.api.ReactivePaymentController",
"methodName" : "pay",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/api/ReactivePaymentController.java",
"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" : {
"event" : "PAY_ORDER",
"className" : "click.kamil.examples.enterprise.service.ReactivePaymentService",
"methodName" : "processPayment",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/service/ReactivePaymentService.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 18,
"polymorphicEvents" : [ "PAY_ORDER" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "PENDING_PAYMENT",
"targetState" : "PAID",
"event" : "PAY_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "JMS",
"name" : "JMS: shipping.queue",
"className" : "click.kamil.examples.enterprise.messaging.ShippingJmsListener",
"methodName" : "onShippingReady",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ShippingJmsListener.java",
"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",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ShippingJmsListener.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "PAID",
"targetState" : "SHIPPED",
"event" : "SHIP_ORDER"
} ]
}, {
"entryPoint" : {
"type" : "RABBIT",
"name" : "RABBIT: returns.queue",
"className" : "click.kamil.examples.enterprise.messaging.ReturnsRabbitListener",
"methodName" : "onReturn",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ReturnsRabbitListener.java",
"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",
"sourceFile" : "src/main/java/click/kamil/examples/enterprise/messaging/ReturnsRabbitListener.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DELIVERED",
"targetState" : "RETURNED",
"event" : "RETURN_ORDER"
} ]
} ],
"callChains" : [ ],
"properties" : {
"default" : { }
}
},
"name" : "click.kamil.examples.enterprise.config.EnterpriseStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "NEW" ],
"startStates" : [ "String.NEW" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"NEW\"",
"fullIdentifier" : "NEW"
"fullIdentifier" : "String.NEW"
} ],
"targetStates" : [ {
"rawName" : "\"CHECK_AVAILABILITY\"",
"fullIdentifier" : "CHECK_AVAILABILITY"
"fullIdentifier" : "String.CHECK_AVAILABILITY"
} ],
"event" : {
"rawName" : "OrderEvents.PLACE",
"fullIdentifier" : "PLACE_ORDER"
"fullIdentifier" : "String.PLACE_ORDER"
},
"guards" : [ ],
"actions" : [ ],
@@ -451,11 +86,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "\"CHECK_AVAILABILITY\"",
"fullIdentifier" : "CHECK_AVAILABILITY"
"fullIdentifier" : "String.CHECK_AVAILABILITY"
} ],
"targetStates" : [ {
"rawName" : "\"PENDING_PAYMENT\"",
"fullIdentifier" : "PENDING_PAYMENT"
"fullIdentifier" : "String.PENDING_PAYMENT"
} ],
"event" : null,
"guards" : [ {
@@ -472,11 +107,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "\"CHECK_AVAILABILITY\"",
"fullIdentifier" : "CHECK_AVAILABILITY"
"fullIdentifier" : "String.CHECK_AVAILABILITY"
} ],
"targetStates" : [ {
"rawName" : "\"CANCELLED\"",
"fullIdentifier" : "CANCELLED"
"fullIdentifier" : "String.CANCELLED"
} ],
"event" : null,
"guards" : [ ],
@@ -486,15 +121,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PENDING_PAYMENT\"",
"fullIdentifier" : "PENDING_PAYMENT"
"fullIdentifier" : "String.PENDING_PAYMENT"
} ],
"targetStates" : [ {
"rawName" : "\"PAID\"",
"fullIdentifier" : "PAID"
"fullIdentifier" : "String.PAID"
} ],
"event" : {
"rawName" : "OrderEvents.PAY",
"fullIdentifier" : "PAY_ORDER"
"fullIdentifier" : "String.PAY_ORDER"
},
"guards" : [ ],
"actions" : [ ],
@@ -503,15 +138,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PAID\"",
"fullIdentifier" : "PAID"
"fullIdentifier" : "String.PAID"
} ],
"targetStates" : [ {
"rawName" : "\"SHIPPED\"",
"fullIdentifier" : "SHIPPED"
"fullIdentifier" : "String.SHIPPED"
} ],
"event" : {
"rawName" : "OrderEvents.SHIP",
"fullIdentifier" : "SHIP_ORDER"
"fullIdentifier" : "String.SHIP_ORDER"
},
"guards" : [ ],
"actions" : [ ],
@@ -520,15 +155,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"SHIPPED\"",
"fullIdentifier" : "SHIPPED"
"fullIdentifier" : "String.SHIPPED"
} ],
"targetStates" : [ {
"rawName" : "\"DELIVERED\"",
"fullIdentifier" : "DELIVERED"
"fullIdentifier" : "String.DELIVERED"
} ],
"event" : {
"rawName" : "\"FINALIZE\"",
"fullIdentifier" : "FINALIZE"
"fullIdentifier" : "String.FINALIZE"
},
"guards" : [ ],
"actions" : [ ],
@@ -537,15 +172,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PAID\"",
"fullIdentifier" : "PAID"
"fullIdentifier" : "String.PAID"
} ],
"targetStates" : [ {
"rawName" : "\"CANCELLED\"",
"fullIdentifier" : "CANCELLED"
"fullIdentifier" : "String.CANCELLED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "CANCEL_ORDER"
"fullIdentifier" : "String.CANCEL_ORDER"
},
"guards" : [ ],
"actions" : [ ],
@@ -554,19 +189,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"DELIVERED\"",
"fullIdentifier" : "DELIVERED"
"fullIdentifier" : "String.DELIVERED"
} ],
"targetStates" : [ {
"rawName" : "\"RETURNED\"",
"fullIdentifier" : "RETURNED"
"fullIdentifier" : "String.RETURNED"
} ],
"event" : {
"rawName" : "OrderEvents.RETURN",
"fullIdentifier" : "RETURN_ORDER"
"fullIdentifier" : "String.RETURN_ORDER"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "CANCELLED", "DELIVERED", "RETURNED" ]
"endStates" : [ "String.CANCELLED", "String.RETURNED", "String.DELIVERED" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -21,21 +21,21 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> NEW
[*] --> String.NEW
state CHECK_AVAILABILITY <<choice>>
state String.CHECK_AVAILABILITY <<choice>>
NEW -[#1E90FF,bold]-> CHECK_AVAILABILITY <<external>> : PLACE_ORDER
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>> : PAY_ORDER
PAID -[#1E90FF,bold]-> SHIPPED <<external>> : SHIP_ORDER
SHIPPED -[#1E90FF,bold]-> DELIVERED <<external>> : FINALIZE
PAID -[#1E90FF,bold]-> CANCELLED <<external>> : CANCEL_ORDER
DELIVERED -[#1E90FF,bold]-> RETURNED <<external>> : RETURN_ORDER
String.NEW -[#1E90FF,bold]-> String.CHECK_AVAILABILITY <<external>> : String.PLACE_ORDER
String.CHECK_AVAILABILITY -[#FF6347,bold]-> String.PENDING_PAYMENT <<choice_type>> : [λ] (order=0)
String.CHECK_AVAILABILITY -[#FF6347,bold]-> String.CANCELLED <<choice_type>> : (order=1)
String.PENDING_PAYMENT -[#1E90FF,bold]-> String.PAID <<external>> : String.PAY_ORDER
String.PAID -[#1E90FF,bold]-> String.SHIPPED <<external>> : String.SHIP_ORDER
String.SHIPPED -[#1E90FF,bold]-> String.DELIVERED <<external>> : String.FINALIZE
String.PAID -[#1E90FF,bold]-> String.CANCELLED <<external>> : String.CANCEL_ORDER
String.DELIVERED -[#1E90FF,bold]-> String.RETURNED <<external>> : String.RETURN_ORDER
CANCELLED --> [*]
DELIVERED --> [*]
RETURNED --> [*]
String.CANCELLED --> [*]
String.RETURNED --> [*]
String.DELIVERED --> [*]
@enduml

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="NEW">
<state id="NEW">
<transition target="CHECK_AVAILABILITY" event="PLACE_ORDER"/>
<transition target="CHECK_AVAILABILITY" event="String.PLACE_ORDER"/>
</state>
<state id="CHECK_AVAILABILITY">
<transition target="PENDING_PAYMENT" cond="λ">
@@ -12,19 +12,19 @@
</transition>
</state>
<state id="PENDING_PAYMENT">
<transition target="PAID" event="PAY_ORDER"/>
<transition target="PAID" event="String.PAY_ORDER"/>
</state>
<state id="CANCELLED">
</state>
<state id="PAID">
<transition target="SHIPPED" event="SHIP_ORDER"/>
<transition target="CANCELLED" event="CANCEL_ORDER"/>
<transition target="SHIPPED" event="String.SHIP_ORDER"/>
<transition target="CANCELLED" event="String.CANCEL_ORDER"/>
</state>
<state id="SHIPPED">
<transition target="DELIVERED" event="FINALIZE"/>
<transition target="DELIVERED" event="String.FINALIZE"/>
</state>
<state id="DELIVERED">
<transition target="RETURNED" event="RETURN_ORDER"/>
<transition target="RETURNED" event="String.RETURN_ORDER"/>
</state>
<state id="RETURNED">
</state>

View File

@@ -7,11 +7,11 @@ digraph statemachine {
_start -> INIT_STATE;
CANCELLED [fillcolor=lightgray];
COMPLETED [fillcolor=lightgray];
START -> PROCESSING [label="SUBMIT_EVENT", style="solid", color="black"];
PROCESSING -> COMPLETED [label="FINISH", style="solid", color="black"];
PROCESSING -> CANCELLED [label="CANCEL_EVENT", style="solid", color="black"];
START -> PROCESSING [label="REACTIVE_EVENT", style="solid", color="black"];
START -> START [label="AUDIT_EVENT", style="solid", color="black"];
START -> PROCESSING [label="EXTERNAL_TRIGGER", style="solid", color="black"];
START -> PROCESSING [label="String.SUBMIT_EVENT", style="solid", color="black"];
PROCESSING -> COMPLETED [label="String.FINISH", style="solid", color="black"];
PROCESSING -> CANCELLED [label="String.CANCEL_EVENT", style="solid", color="black"];
START -> PROCESSING [label="String.REACTIVE_EVENT", style="solid", color="black"];
START -> START [label="String.AUDIT_EVENT", style="solid", color="black"];
START -> PROCESSING [label="String.EXTERNAL_TRIGGER", style="solid", color="black"];
}

View File

@@ -1,6 +1,32 @@
{
"metadata" : {
"triggers" : [ ],
"triggers" : [ {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
"methodName" : "resumeOrder",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 29,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
"methodName" : "capturePayment",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 28,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
} ],
"entryPoints" : [ {
"type" : "REST",
"name" : "GET /api/base/{id}",
@@ -32,7 +58,75 @@
"annotations" : [ "PathVariable" ]
} ]
} ],
"callChains" : [ ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/orders/resume",
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
"methodName" : "resumeOrder",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
"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" : {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
"methodName" : "resumeOrder",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 29,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : "orderId",
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/payment/{id}/capture",
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
"methodName" : "capturePaymentEndpoint",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
"metadata" : {
"path" : "/api/payment/{id}/capture",
"verb" : "POST"
},
"parameters" : [ {
"name" : "id",
"type" : "String",
"annotations" : [ "PathVariable" ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.PaymentController.capturePaymentEndpoint", "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl.capturePayment" ],
"triggerPoint" : {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
"methodName" : "capturePayment",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 28,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : "paymentId",
"matchedTransitions" : null
} ],
"properties" : {
"default" : {
"app.states.initial" : "INIT_STATE"
@@ -44,20 +138,20 @@
},
"name" : "click.kamil.examples.statemachine.extended.config.ExtendedStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "INIT_STATE" ],
"startStates" : [ "String.INIT_STATE" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "MyEvents.SUBMIT",
"fullIdentifier" : "SUBMIT_EVENT"
"fullIdentifier" : "String.SUBMIT_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -66,15 +160,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "\"COMPLETED\"",
"fullIdentifier" : "COMPLETED"
"fullIdentifier" : "String.COMPLETED"
} ],
"event" : {
"rawName" : "\"FINISH\"",
"fullIdentifier" : "FINISH"
"fullIdentifier" : "String.FINISH"
},
"guards" : [ ],
"actions" : [ ],
@@ -83,15 +177,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "\"CANCELLED\"",
"fullIdentifier" : "CANCELLED"
"fullIdentifier" : "String.CANCELLED"
} ],
"event" : {
"rawName" : "MyEvents.CANCEL",
"fullIdentifier" : "CANCEL_EVENT"
"fullIdentifier" : "String.CANCEL_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -100,15 +194,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "\"REACTIVE_EVENT\"",
"fullIdentifier" : "REACTIVE_EVENT"
"fullIdentifier" : "String.REACTIVE_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -117,15 +211,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"event" : {
"rawName" : "\"AUDIT_EVENT\"",
"fullIdentifier" : "AUDIT_EVENT"
"fullIdentifier" : "String.AUDIT_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -134,19 +228,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "\"EXTERNAL_TRIGGER\"",
"fullIdentifier" : "EXTERNAL_TRIGGER"
"fullIdentifier" : "String.EXTERNAL_TRIGGER"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "CANCELLED", "COMPLETED" ]
"endStates" : [ "String.CANCELLED", "String.COMPLETED" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -21,17 +21,17 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> INIT_STATE
[*] --> String.INIT_STATE
START -[#1E90FF,bold]-> PROCESSING <<external>> : SUBMIT_EVENT
PROCESSING -[#1E90FF,bold]-> COMPLETED <<external>> : FINISH
PROCESSING -[#1E90FF,bold]-> CANCELLED <<external>> : CANCEL_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> : REACTIVE_EVENT
START -[#1E90FF,bold]-> START <<external>> : AUDIT_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> : EXTERNAL_TRIGGER
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.SUBMIT_EVENT
String.PROCESSING -[#1E90FF,bold]-> String.COMPLETED <<external>> : String.FINISH
String.PROCESSING -[#1E90FF,bold]-> String.CANCELLED <<external>> : String.CANCEL_EVENT
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.REACTIVE_EVENT
String.START -[#1E90FF,bold]-> String.START <<external>> : String.AUDIT_EVENT
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.EXTERNAL_TRIGGER
CANCELLED --> [*]
COMPLETED --> [*]
String.CANCELLED --> [*]
String.COMPLETED --> [*]
@enduml

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="INIT_STATE">
<state id="START">
<transition target="PROCESSING" event="SUBMIT_EVENT"/>
<transition target="PROCESSING" event="REACTIVE_EVENT"/>
<transition target="START" event="AUDIT_EVENT"/>
<transition target="PROCESSING" event="EXTERNAL_TRIGGER"/>
<transition target="PROCESSING" event="String.SUBMIT_EVENT"/>
<transition target="PROCESSING" event="String.REACTIVE_EVENT"/>
<transition target="START" event="String.AUDIT_EVENT"/>
<transition target="PROCESSING" event="String.EXTERNAL_TRIGGER"/>
</state>
<state id="PROCESSING">
<transition target="COMPLETED" event="FINISH"/>
<transition target="CANCELLED" event="CANCEL_EVENT"/>
<transition target="COMPLETED" event="String.FINISH"/>
<transition target="CANCELLED" event="String.CANCEL_EVENT"/>
</state>
<state id="COMPLETED">
</state>

View File

@@ -7,11 +7,11 @@ digraph statemachine {
_start -> PROD_INITIAL;
CANCELLED [fillcolor=lightgray];
COMPLETED [fillcolor=lightgray];
START -> PROCESSING [label="SUBMIT_EVENT", style="solid", color="black"];
PROCESSING -> COMPLETED [label="FINISH", style="solid", color="black"];
PROCESSING -> CANCELLED [label="CANCEL_EVENT", style="solid", color="black"];
START -> PROCESSING [label="REACTIVE_EVENT", style="solid", color="black"];
START -> START [label="AUDIT_EVENT", style="solid", color="black"];
START -> PROCESSING [label="EXTERNAL_TRIGGER", style="solid", color="black"];
START -> PROCESSING [label="String.SUBMIT_EVENT", style="solid", color="black"];
PROCESSING -> COMPLETED [label="String.FINISH", style="solid", color="black"];
PROCESSING -> CANCELLED [label="String.CANCEL_EVENT", style="solid", color="black"];
START -> PROCESSING [label="String.REACTIVE_EVENT", style="solid", color="black"];
START -> START [label="String.AUDIT_EVENT", style="solid", color="black"];
START -> PROCESSING [label="String.EXTERNAL_TRIGGER", style="solid", color="black"];
}

View File

@@ -1,6 +1,32 @@
{
"metadata" : {
"triggers" : [ ],
"triggers" : [ {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
"methodName" : "resumeOrder",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 29,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
"methodName" : "capturePayment",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 28,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
} ],
"entryPoints" : [ {
"type" : "REST",
"name" : "GET /api/base/{id}",
@@ -32,7 +58,75 @@
"annotations" : [ "PathVariable" ]
} ]
} ],
"callChains" : [ ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/orders/resume",
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
"methodName" : "resumeOrder",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
"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" : {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
"methodName" : "resumeOrder",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 29,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : "orderId",
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/payment/{id}/capture",
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
"methodName" : "capturePaymentEndpoint",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
"metadata" : {
"path" : "/api/payment/{id}/capture",
"verb" : "POST"
},
"parameters" : [ {
"name" : "id",
"type" : "String",
"annotations" : [ "PathVariable" ]
} ]
},
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.PaymentController.capturePaymentEndpoint", "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl.capturePayment" ],
"triggerPoint" : {
"event" : "[LIFECYCLE:RESTORE]",
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
"methodName" : "capturePayment",
"sourceFile" : null,
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 28,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : "paymentId",
"matchedTransitions" : null
} ],
"properties" : {
"default" : {
"app.states.initial" : "INIT_STATE"
@@ -44,20 +138,20 @@
},
"name" : "click.kamil.examples.statemachine.extended.config.ExtendedStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "PROD_INITIAL" ],
"startStates" : [ "String.PROD_INITIAL" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "MyEvents.SUBMIT",
"fullIdentifier" : "SUBMIT_EVENT"
"fullIdentifier" : "String.SUBMIT_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -66,15 +160,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "\"COMPLETED\"",
"fullIdentifier" : "COMPLETED"
"fullIdentifier" : "String.COMPLETED"
} ],
"event" : {
"rawName" : "\"FINISH\"",
"fullIdentifier" : "FINISH"
"fullIdentifier" : "String.FINISH"
},
"guards" : [ ],
"actions" : [ ],
@@ -83,15 +177,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "\"CANCELLED\"",
"fullIdentifier" : "CANCELLED"
"fullIdentifier" : "String.CANCELLED"
} ],
"event" : {
"rawName" : "MyEvents.CANCEL",
"fullIdentifier" : "CANCEL_EVENT"
"fullIdentifier" : "String.CANCEL_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -100,15 +194,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "\"REACTIVE_EVENT\"",
"fullIdentifier" : "REACTIVE_EVENT"
"fullIdentifier" : "String.REACTIVE_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -117,15 +211,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"event" : {
"rawName" : "\"AUDIT_EVENT\"",
"fullIdentifier" : "AUDIT_EVENT"
"fullIdentifier" : "String.AUDIT_EVENT"
},
"guards" : [ ],
"actions" : [ ],
@@ -134,19 +228,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "\"EXTERNAL_TRIGGER\"",
"fullIdentifier" : "EXTERNAL_TRIGGER"
"fullIdentifier" : "String.EXTERNAL_TRIGGER"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "CANCELLED", "COMPLETED" ]
"endStates" : [ "String.CANCELLED", "String.COMPLETED" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -21,17 +21,17 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> PROD_INITIAL
[*] --> String.PROD_INITIAL
START -[#1E90FF,bold]-> PROCESSING <<external>> : SUBMIT_EVENT
PROCESSING -[#1E90FF,bold]-> COMPLETED <<external>> : FINISH
PROCESSING -[#1E90FF,bold]-> CANCELLED <<external>> : CANCEL_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> : REACTIVE_EVENT
START -[#1E90FF,bold]-> START <<external>> : AUDIT_EVENT
START -[#1E90FF,bold]-> PROCESSING <<external>> : EXTERNAL_TRIGGER
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.SUBMIT_EVENT
String.PROCESSING -[#1E90FF,bold]-> String.COMPLETED <<external>> : String.FINISH
String.PROCESSING -[#1E90FF,bold]-> String.CANCELLED <<external>> : String.CANCEL_EVENT
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.REACTIVE_EVENT
String.START -[#1E90FF,bold]-> String.START <<external>> : String.AUDIT_EVENT
String.START -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.EXTERNAL_TRIGGER
CANCELLED --> [*]
COMPLETED --> [*]
String.CANCELLED --> [*]
String.COMPLETED --> [*]
@enduml

View File

@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="PROD_INITIAL">
<state id="START">
<transition target="PROCESSING" event="SUBMIT_EVENT"/>
<transition target="PROCESSING" event="REACTIVE_EVENT"/>
<transition target="START" event="AUDIT_EVENT"/>
<transition target="PROCESSING" event="EXTERNAL_TRIGGER"/>
<transition target="PROCESSING" event="String.SUBMIT_EVENT"/>
<transition target="PROCESSING" event="String.REACTIVE_EVENT"/>
<transition target="START" event="String.AUDIT_EVENT"/>
<transition target="PROCESSING" event="String.EXTERNAL_TRIGGER"/>
</state>
<state id="PROCESSING">
<transition target="COMPLETED" event="FINISH"/>
<transition target="CANCELLED" event="CANCEL_EVENT"/>
<transition target="COMPLETED" event="String.FINISH"/>
<transition target="CANCELLED" event="String.CANCEL_EVENT"/>
</state>
<state id="COMPLETED">
</state>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.F1StateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,15 +271,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -288,15 +288,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -305,15 +305,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -322,15 +322,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -339,15 +339,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -356,15 +356,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -373,11 +373,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -394,11 +394,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -408,11 +408,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -429,11 +429,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -450,11 +450,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -464,11 +464,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -485,11 +485,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -499,11 +499,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -520,11 +520,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -534,11 +534,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -555,11 +555,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -569,11 +569,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -590,11 +590,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -604,11 +604,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -625,11 +625,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -646,11 +646,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -660,11 +660,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -681,11 +681,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -695,11 +695,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -716,11 +716,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -730,11 +730,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -751,11 +751,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -772,11 +772,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -786,11 +786,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -807,11 +807,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -821,15 +821,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENTX",
"fullIdentifier" : "Events.EVENTX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTX"
},
"guards" : [ ],
"actions" : [ ],
@@ -838,11 +838,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -859,11 +859,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"event" : null,
"guards" : [ ],
@@ -873,15 +873,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_3",
"fullIdentifier" : "States.STATE_EXTRA_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_3"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -890,15 +890,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -907,19 +907,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

After

Width:  |  Height:  |  Size: 208 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1
state States.STATEY <<choice>>
state States.STATE16 <<choice>>
@@ -89,6 +89,6 @@ States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.STATE_EXTRA_3 <<external>> : Event
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATE_EXTRA_2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ --> [*]
@enduml

View File

@@ -160,5 +160,9 @@
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.F2StateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,15 +271,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -288,15 +288,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -305,15 +305,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -322,15 +322,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -339,15 +339,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -356,15 +356,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -373,11 +373,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -394,11 +394,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -408,11 +408,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -429,11 +429,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -450,11 +450,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -464,11 +464,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -485,11 +485,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -499,11 +499,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -520,11 +520,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -534,11 +534,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -555,11 +555,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -569,11 +569,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -590,11 +590,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -604,11 +604,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -625,11 +625,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -646,11 +646,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -660,11 +660,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -681,11 +681,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -695,11 +695,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -716,11 +716,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -730,11 +730,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -751,11 +751,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -772,11 +772,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -786,11 +786,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -807,11 +807,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -821,15 +821,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1_1",
"fullIdentifier" : "States.STATE_EXTRA_1_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_1"
} ],
"event" : {
"rawName" : "Events.EVENT_1_1",
"fullIdentifier" : "Events.EVENT_1_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_1"
},
"guards" : [ ],
"actions" : [ ],
@@ -838,11 +838,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1_2",
"fullIdentifier" : "States.STATE_EXTRA_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1_1",
"fullIdentifier" : "States.STATE_EXTRA_1_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_1"
} ],
"event" : null,
"guards" : [ {
@@ -859,11 +859,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1_2",
"fullIdentifier" : "States.STATE_EXTRA_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1_3",
"fullIdentifier" : "States.STATE_EXTRA_1_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_3"
} ],
"event" : null,
"guards" : [ ],
@@ -873,15 +873,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1_3",
"fullIdentifier" : "States.STATE_EXTRA_1_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENT_1_2",
"fullIdentifier" : "Events.EVENT_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -890,15 +890,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1_1",
"fullIdentifier" : "States.STATE_EXTRA_1_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -907,15 +907,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1_2",
"fullIdentifier" : "States.STATE_EXTRA_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1_2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -924,19 +924,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 KiB

After

Width:  |  Height:  |  Size: 208 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1
state States.STATEY <<choice>>
state States.STATE16 <<choice>>
@@ -90,6 +90,6 @@ States.STATE_EXTRA_1_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVE
States.STATE_EXTRA_1_2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ --> [*]
@enduml

View File

@@ -163,5 +163,9 @@
<state id="STATE_EXTRA_1">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.forkjoin.ForkJoinStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.START" ],
"startStates" : [ "ForkJoinStateMachineConfig.States.START" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.START",
"fullIdentifier" : "States.START"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.START"
} ],
"targetStates" : [ {
"rawName" : "States.FORK",
"fullIdentifier" : "States.FORK"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.FORK"
} ],
"event" : {
"rawName" : "Events.TO_FORK",
"fullIdentifier" : "Events.TO_FORK"
"fullIdentifier" : "ForkJoinStateMachineConfig.Events.TO_FORK"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,14 +33,14 @@
"type" : "FORK",
"sourceStates" : [ {
"rawName" : "States.FORK",
"fullIdentifier" : "States.FORK"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.FORK"
} ],
"targetStates" : [ {
"rawName" : "States.REGION1_STATE1",
"fullIdentifier" : "States.REGION1_STATE1"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION1_STATE1"
}, {
"rawName" : "States.REGION2_STATE1",
"fullIdentifier" : "States.REGION2_STATE1"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION2_STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.REGION1_STATE1",
"fullIdentifier" : "States.REGION1_STATE1"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION1_STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.REGION1_STATE2",
"fullIdentifier" : "States.REGION1_STATE2"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION1_STATE2"
} ],
"event" : {
"rawName" : "Events.R1_NEXT",
"fullIdentifier" : "Events.R1_NEXT"
"fullIdentifier" : "ForkJoinStateMachineConfig.Events.R1_NEXT"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.REGION2_STATE1",
"fullIdentifier" : "States.REGION2_STATE1"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION2_STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.REGION2_STATE2",
"fullIdentifier" : "States.REGION2_STATE2"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION2_STATE2"
} ],
"event" : {
"rawName" : "Events.R2_NEXT",
"fullIdentifier" : "Events.R2_NEXT"
"fullIdentifier" : "ForkJoinStateMachineConfig.Events.R2_NEXT"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,14 +84,14 @@
"type" : "JOIN",
"sourceStates" : [ {
"rawName" : "States.REGION1_STATE2",
"fullIdentifier" : "States.REGION1_STATE2"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION1_STATE2"
}, {
"rawName" : "States.REGION2_STATE2",
"fullIdentifier" : "States.REGION2_STATE2"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.REGION2_STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.JOIN",
"fullIdentifier" : "States.JOIN"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.JOIN"
} ],
"event" : null,
"guards" : [ ],
@@ -101,19 +101,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.JOIN",
"fullIdentifier" : "States.JOIN"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.JOIN"
} ],
"targetStates" : [ {
"rawName" : "States.END",
"fullIdentifier" : "States.END"
"fullIdentifier" : "ForkJoinStateMachineConfig.States.END"
} ],
"event" : {
"rawName" : "Events.TO_END",
"fullIdentifier" : "Events.TO_END"
"fullIdentifier" : "ForkJoinStateMachineConfig.Events.TO_END"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.END" ]
"endStates" : [ "ForkJoinStateMachineConfig.States.END" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.START
[*] --> ForkJoinStateMachineConfig.States.START
States.START -[#1E90FF,bold]-> States.FORK <<external>> : Events.TO_FORK
@@ -33,6 +33,6 @@ States.REGION1_STATE2 -[#8A2BE2,bold]-> States.JOIN <<join>>
States.REGION2_STATE2 -[#8A2BE2,bold]-> States.JOIN <<join>>
States.JOIN -[#1E90FF,bold]-> States.END <<external>> : Events.TO_END
States.END --> [*]
ForkJoinStateMachineConfig.States.END --> [*]
@enduml

View File

@@ -24,5 +24,9 @@
</state>
<state id="END">
</state>
<state id="START">
</state>
<state id="END">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.G1StateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,11 +271,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -292,11 +292,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -306,11 +306,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -327,11 +327,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -348,11 +348,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -362,11 +362,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -383,11 +383,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -397,15 +397,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_2"
} ],
"event" : {
"rawName" : "Events.EVENT_1_2",
"fullIdentifier" : "Events.EVENT_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -414,15 +414,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_3",
"fullIdentifier" : "States.STATE_EXTRA_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_3"
} ],
"event" : {
"rawName" : "Events.EVENT_1_2",
"fullIdentifier" : "Events.EVENT_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -431,19 +431,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_3",
"fullIdentifier" : "States.STATE_EXTRA_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 113 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1
state States.STATEY <<choice>>
state States.STATE9 <<choice>>
@@ -53,6 +53,6 @@ States.STATE3 -[#1E90FF,bold]-> States.STATE_EXTRA_2 <<external>> : Events.EVENT
States.STATE_EXTRA_2 -[#1E90FF,bold]-> States.STATE_EXTRA_3 <<external>> : Events.EVENT_1_2
States.STATE_EXTRA_3 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ --> [*]
@enduml

View File

@@ -71,5 +71,9 @@
<state id="STATE_EXTRA_3">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.G2StateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,11 +271,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -292,11 +292,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -306,11 +306,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -327,11 +327,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -348,11 +348,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -362,11 +362,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -383,11 +383,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -397,15 +397,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENT_1_2",
"fullIdentifier" : "Events.EVENT_1_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -414,15 +414,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_2"
} ],
"event" : {
"rawName" : "Events.EVENT_1_3",
"fullIdentifier" : "Events.EVENT_1_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_1_3"
},
"guards" : [ ],
"actions" : [ ],
@@ -431,15 +431,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -448,19 +448,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE_EXTRA_2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATE1
state States.STATEY <<choice>>
state States.STATE9 <<choice>>
@@ -54,6 +54,6 @@ States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.STATE_EXTRA_2 <<external>> : Event
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE_EXTRA_2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate3.States.STATEZ --> [*]
@enduml

View File

@@ -72,5 +72,9 @@
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL"/>
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -6,6 +6,6 @@ digraph statemachine {
_start [shape=circle, label="", fillcolor=black, width=0.1];
_start -> START;
WORKING [fillcolor=lightgray];
START -> WORKING [label="INHERITED_SUBMIT", style="solid", color="black"];
START -> WORKING [label="String.INHERITED_SUBMIT", style="solid", color="black"];
}

View File

@@ -1,113 +1,32 @@
{
"metadata" : {
"triggers" : [ {
"event" : "INHERITED_SUBMIT",
"className" : "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl",
"methodName" : "doProcess",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/service/ProcessingServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 15,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
} ],
"triggers" : [ ],
"entryPoints" : [ ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/v2/orders/submit",
"className" : "click.kamil.examples.statemachine.inheritance.api.OrderApi",
"methodName" : "submitOrder",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/api/OrderApi.java",
"metadata" : {
"path" : "/api/v2/orders/submit",
"verb" : "POST"
},
"parameters" : [ ]
},
"methodChain" : [ "click.kamil.examples.statemachine.inheritance.api.OrderApi.submitOrder", "click.kamil.examples.statemachine.inheritance.api.OrderControllerImpl.submitOrder", "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl.doProcess" ],
"triggerPoint" : {
"event" : "INHERITED_SUBMIT",
"className" : "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl",
"methodName" : "doProcess",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/service/ProcessingServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 15,
"polymorphicEvents" : [ "INHERITED_SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "START",
"targetState" : "WORKING",
"event" : "INHERITED_SUBMIT"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/v2/orders/submit",
"className" : "click.kamil.examples.statemachine.inheritance.api.OrderControllerImpl",
"methodName" : "submitOrder",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/api/OrderControllerImpl.java",
"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" : {
"event" : "INHERITED_SUBMIT",
"className" : "click.kamil.examples.statemachine.inheritance.service.ProcessingServiceImpl",
"methodName" : "doProcess",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/inheritance/service/ProcessingServiceImpl.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 15,
"polymorphicEvents" : [ "INHERITED_SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "START",
"targetState" : "WORKING",
"event" : "INHERITED_SUBMIT"
} ]
} ],
"callChains" : [ ],
"properties" : {
"default" : { }
}
},
"name" : "click.kamil.examples.statemachine.inheritance.config.InheritanceStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "START" ],
"startStates" : [ "String.START" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"START\"",
"fullIdentifier" : "START"
"fullIdentifier" : "String.START"
} ],
"targetStates" : [ {
"rawName" : "\"WORKING\"",
"fullIdentifier" : "WORKING"
"fullIdentifier" : "String.WORKING"
} ],
"event" : {
"rawName" : "\"INHERITED_SUBMIT\"",
"fullIdentifier" : "INHERITED_SUBMIT"
"fullIdentifier" : "String.INHERITED_SUBMIT"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "WORKING" ]
"endStates" : [ "String.WORKING" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -21,11 +21,11 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> START
[*] --> String.START
START -[#1E90FF,bold]-> WORKING <<external>> : INHERITED_SUBMIT
String.START -[#1E90FF,bold]-> String.WORKING <<external>> : String.INHERITED_SUBMIT
WORKING --> [*]
String.WORKING --> [*]
@enduml

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="START">
<state id="START">
<transition target="WORKING" event="INHERITED_SUBMIT"/>
<transition target="WORKING" event="String.INHERITED_SUBMIT"/>
</state>
<state id="WORKING">
</state>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.enumstate.KamilEnumStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderStates.SUBMITTED" ],
"startStates" : [ "click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID"
} ],
"event" : {
"rawName" : "OrderEvents.PAY",
"fullIdentifier" : "OrderEvents.PAY"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.PAY"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.FULFILLED",
"fullIdentifier" : "OrderStates.FULFILLED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.FULFILLED"
} ],
"event" : {
"rawName" : "OrderEvents.FULFILL",
"fullIdentifier" : "OrderEvents.FULFILL"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.FULFILL"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "OrderEvents.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.CANCEL"
},
"guards" : [ {
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
@@ -74,15 +74,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "OrderEvents.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -91,12 +91,12 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED"
} ],
"targetStates" : [ ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ ],
@@ -105,15 +105,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID1"
} ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ ],
@@ -122,11 +122,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID1"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID2"
} ],
"event" : null,
"guards" : [ {
@@ -143,11 +143,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID1"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID3",
"fullIdentifier" : "OrderStates.PAID3"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID3"
} ],
"event" : null,
"guards" : [ {
@@ -164,11 +164,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID1"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.HAPPEN",
"fullIdentifier" : "OrderStates.HAPPEN"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.HAPPEN"
} ],
"event" : null,
"guards" : [ {
@@ -185,11 +185,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID1"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED"
} ],
"event" : null,
"guards" : [ ],
@@ -199,11 +199,11 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID2"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED"
} ],
"event" : null,
"guards" : [ ],
@@ -213,11 +213,11 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID3",
"fullIdentifier" : "OrderStates.PAID3"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID3"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED"
} ],
"event" : null,
"guards" : [ ],
@@ -227,12 +227,12 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderStates.PAID2"
} ],
"targetStates" : [ ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.enumstate.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ {
@@ -252,5 +252,5 @@
} ],
"order" : null
} ],
"endStates" : [ "OrderStates.CANCELED", "OrderStates.FULFILLED" ]
"endStates" : [ "click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED", "click.kamil.examples.statemachine.enumstate.OrderStates.FULFILLED" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderStates.SUBMITTED
[*] --> click.kamil.examples.statemachine.enumstate.OrderStates.SUBMITTED
state OrderStates.PAID1 <<choice>>
@@ -39,7 +39,7 @@ OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.PAID2 <<external>> : OrderEvents.ABCD / λ, action2
OrderStates.CANCELED --> [*]
OrderStates.FULFILLED --> [*]
click.kamil.examples.statemachine.enumstate.OrderStates.CANCELED --> [*]
click.kamil.examples.statemachine.enumstate.OrderStates.FULFILLED --> [*]
@enduml

View File

@@ -37,5 +37,11 @@
</state>
<state id="HAPPEN">
</state>
<state id="SUBMITTED">
</state>
<state id="CANCELED">
</state>
<state id="FULFILLED">
</state>
</scxml>

View File

@@ -6,7 +6,7 @@ digraph statemachine {
_start [shape=circle, label="", fillcolor=black, width=0.1];
_start -> INIT;
DONE [fillcolor=lightgray];
INIT -> BUSY [label="SUBMIT / loggingAction()", style="solid", color="black"];
BUSY -> DONE [label="ORDER_EVENT", style="solid", color="black"];
INIT -> BUSY [label="String.SUBMIT / loggingAction()", style="solid", color="black"];
BUSY -> DONE [label="String.ORDER_EVENT", style="solid", color="black"];
}

View File

@@ -2,141 +2,27 @@
"metadata" : {
"triggers" : [ ],
"entryPoints" : [ ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /maven/orders/submit",
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
"metadata" : {
"path" : "/maven/orders/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
},
"methodChain" : [ "click.kamil.maven.core.MavenOrderStateMachine.OrderController.submitOrder" ],
"triggerPoint" : {
"event" : "SUBMIT",
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 40,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "INIT",
"targetState" : "BUSY",
"event" : "SUBMIT"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /maven/orders/submit",
"className" : "click.kamil.maven.api.MavenOrderApi",
"methodName" : "submitOrder",
"sourceFile" : "api-module/src/main/java/click/kamil/maven/api/MavenOrderApi.java",
"metadata" : {
"path" : "/maven/orders/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
},
"methodChain" : [ "click.kamil.maven.api.MavenOrderApi.submitOrder", "click.kamil.maven.core.MavenOrderStateMachine.OrderController.submitOrder" ],
"triggerPoint" : {
"event" : "SUBMIT",
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 40,
"polymorphicEvents" : [ "SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "INIT",
"targetState" : "BUSY",
"event" : "SUBMIT"
} ]
}, {
"entryPoint" : {
"type" : "JMS",
"name" : "JMS: order.queue",
"className" : "click.kamil.maven.api.JmsOrderListener",
"methodName" : "onMessage",
"sourceFile" : "api-module/src/main/java/click/kamil/maven/api/JmsOrderListener.java",
"metadata" : {
"protocol" : "JMS",
"destination" : "order.queue"
},
"parameters" : [ {
"name" : "message",
"type" : "String",
"annotations" : [ ]
} ]
},
"methodChain" : [ "click.kamil.maven.api.JmsOrderListener.onMessage", "click.kamil.maven.core.MavenOrderStateMachine.OrderService.onMessage" ],
"triggerPoint" : {
"event" : "ORDER_EVENT",
"className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderService",
"methodName" : "onMessage",
"sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 52,
"polymorphicEvents" : [ "ORDER_EVENT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "BUSY",
"targetState" : "DONE",
"event" : "ORDER_EVENT"
} ]
} ],
"callChains" : [ ],
"properties" : {
"default" : { }
}
},
"name" : "click.kamil.maven.core.MavenOrderStateMachine",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "INIT" ],
"startStates" : [ "String.INIT" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"INIT\"",
"fullIdentifier" : "INIT"
"fullIdentifier" : "String.INIT"
} ],
"targetStates" : [ {
"rawName" : "\"BUSY\"",
"fullIdentifier" : "BUSY"
"fullIdentifier" : "String.BUSY"
} ],
"event" : {
"rawName" : "\"SUBMIT\"",
"fullIdentifier" : "SUBMIT"
"fullIdentifier" : "String.SUBMIT"
},
"guards" : [ ],
"actions" : [ {
@@ -152,19 +38,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"BUSY\"",
"fullIdentifier" : "BUSY"
"fullIdentifier" : "String.BUSY"
} ],
"targetStates" : [ {
"rawName" : "\"DONE\"",
"fullIdentifier" : "DONE"
"fullIdentifier" : "String.DONE"
} ],
"event" : {
"rawName" : "\"ORDER_EVENT\"",
"fullIdentifier" : "ORDER_EVENT"
"fullIdentifier" : "String.ORDER_EVENT"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "DONE" ]
"endStates" : [ "String.DONE" ]
}

View File

@@ -21,12 +21,12 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> INIT
[*] --> String.INIT
INIT -[#1E90FF,bold]-> BUSY <<external>> : SUBMIT / loggingAction()
BUSY -[#1E90FF,bold]-> DONE <<external>> : ORDER_EVENT
String.INIT -[#1E90FF,bold]-> String.BUSY <<external>> : String.SUBMIT / loggingAction()
String.BUSY -[#1E90FF,bold]-> String.DONE <<external>> : String.ORDER_EVENT
DONE --> [*]
String.DONE --> [*]
@enduml

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="INIT">
<state id="INIT">
<transition target="BUSY" event="SUBMIT"/>
<transition target="BUSY" event="String.SUBMIT"/>
</state>
<state id="BUSY">
<transition target="DONE" event="ORDER_EVENT"/>
<transition target="DONE" event="String.ORDER_EVENT"/>
</state>
<state id="DONE">
</state>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritancestate.OneStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritancestate.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,15 +271,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -288,11 +288,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -309,11 +309,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -323,11 +323,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -344,11 +344,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -365,11 +365,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -379,11 +379,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -400,11 +400,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -414,11 +414,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -435,11 +435,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -449,11 +449,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -470,11 +470,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -484,11 +484,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -505,11 +505,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -519,11 +519,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -540,11 +540,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -561,11 +561,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -575,11 +575,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -596,11 +596,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -610,11 +610,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -631,11 +631,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -645,11 +645,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -666,11 +666,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -687,11 +687,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -701,11 +701,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -722,11 +722,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -736,19 +736,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENTX",
"fullIdentifier" : "Events.EVENTX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritancestate.Events.EVENTX"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritancestate.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 176 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritancestate.States.STATE1
state States.STATEY <<choice>>
state States.STATE16 <<choice>>
@@ -78,6 +78,6 @@ States.STATE8 -[#FF6347,bold]-> States.STATE9 <<choice_type>> : [guardVarEquals(
States.STATE8 -[#FF6347,bold]-> States.STATE10 <<choice_type>> : (order=1)
States.STATE5 -[#1E90FF,bold]-> States.STATE_EXTRA_1 <<external>> : Events.EVENTX
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritancestate.States.STATEZ --> [*]
@enduml

View File

@@ -140,5 +140,9 @@
</state>
<state id="STATE_EXTRA_1">
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -6,7 +6,7 @@ digraph statemachine {
_start [shape=circle, label="", fillcolor=black, width=0.1];
_start -> NEW;
COMPLETED [fillcolor=lightgray];
NEW -> PROCESSING [label="SUBMIT / processAction()", style="solid", color="black"];
PROCESSING -> COMPLETED [label="FINISH", style="solid", color="black"];
NEW -> PROCESSING [label="String.SUBMIT / processAction()", style="solid", color="black"];
PROCESSING -> COMPLETED [label="String.FINISH", style="solid", color="black"];
}

View File

@@ -1,19 +1,6 @@
{
"metadata" : {
"triggers" : [ {
"event" : "SUBMIT",
"className" : "click.kamil.multi.core.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 18,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
} ],
"triggers" : [ ],
"entryPoints" : [ {
"type" : "REST",
"name" : "POST /orders/submit",
@@ -45,103 +32,27 @@
"annotations" : [ "RequestBody" ]
} ]
} ],
"callChains" : [ {
"entryPoint" : {
"type" : "REST",
"name" : "POST /orders/submit",
"className" : "click.kamil.multi.core.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
"metadata" : {
"path" : "/orders/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
},
"methodChain" : [ "click.kamil.multi.core.OrderController.submitOrder" ],
"triggerPoint" : {
"event" : "SUBMIT",
"className" : "click.kamil.multi.core.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 18,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "NEW",
"targetState" : "PROCESSING",
"event" : "SUBMIT"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /orders/submit",
"className" : "click.kamil.multi.api.OrderApi",
"methodName" : "submitOrder",
"sourceFile" : "api-module/src/main/java/click/kamil/multi/api/OrderApi.java",
"metadata" : {
"path" : "/orders/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "orderId",
"type" : "String",
"annotations" : [ "RequestBody" ]
} ]
},
"methodChain" : [ "click.kamil.multi.api.OrderApi.submitOrder", "click.kamil.multi.core.OrderController.submitOrder" ],
"triggerPoint" : {
"event" : "SUBMIT",
"className" : "click.kamil.multi.core.OrderController",
"methodName" : "submitOrder",
"sourceFile" : "core-module/src/main/java/click/kamil/multi/core/OrderController.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 18,
"polymorphicEvents" : [ "SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "NEW",
"targetState" : "PROCESSING",
"event" : "SUBMIT"
} ]
} ],
"callChains" : [ ],
"properties" : {
"default" : { }
}
},
"name" : "click.kamil.multi.core.OrderStateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "NEW" ],
"startStates" : [ "String.NEW" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"NEW\"",
"fullIdentifier" : "NEW"
"fullIdentifier" : "String.NEW"
} ],
"targetStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"event" : {
"rawName" : "\"SUBMIT\"",
"fullIdentifier" : "SUBMIT"
"fullIdentifier" : "String.SUBMIT"
},
"guards" : [ ],
"actions" : [ {
@@ -157,19 +68,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "\"PROCESSING\"",
"fullIdentifier" : "PROCESSING"
"fullIdentifier" : "String.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "\"COMPLETED\"",
"fullIdentifier" : "COMPLETED"
"fullIdentifier" : "String.COMPLETED"
} ],
"event" : {
"rawName" : "\"FINISH\"",
"fullIdentifier" : "FINISH"
"fullIdentifier" : "String.FINISH"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "COMPLETED" ]
"endStates" : [ "String.COMPLETED" ]
}

View File

@@ -21,12 +21,12 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> NEW
[*] --> String.NEW
NEW -[#1E90FF,bold]-> PROCESSING <<external>> : SUBMIT / processAction()
PROCESSING -[#1E90FF,bold]-> COMPLETED <<external>> : FINISH
String.NEW -[#1E90FF,bold]-> String.PROCESSING <<external>> : String.SUBMIT / processAction()
String.PROCESSING -[#1E90FF,bold]-> String.COMPLETED <<external>> : String.FINISH
COMPLETED --> [*]
String.COMPLETED --> [*]
@enduml

View File

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<scxml xmlns="http://www.w3.org/2005/07/scxml" version="1.0" initial="NEW">
<state id="NEW">
<transition target="PROCESSING" event="SUBMIT"/>
<transition target="PROCESSING" event="String.SUBMIT"/>
</state>
<state id="PROCESSING">
<transition target="COMPLETED" event="FINISH"/>
<transition target="COMPLETED" event="String.FINISH"/>
</state>
<state id="COMPLETED">
</state>

View File

@@ -1,7 +1,7 @@
{
"metadata" : {
"triggers" : [ {
"event" : "OrderEvent.PAY",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.PAY",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "payOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
@@ -14,7 +14,7 @@
"constraint" : null,
"ambiguous" : false
}, {
"event" : "OrderEvent.SHIP",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "shipOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
@@ -26,71 +26,6 @@
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "DocumentEvent.SUBMIT",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "submitDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 44,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "DocumentEvent.APPROVE",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "approveDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 51,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "DocumentEvent.REJECT",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "rejectDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 58,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "UserEvent.VERIFY",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "verifyUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 65,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "UserEvent.SUSPEND",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "suspendUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 72,
"polymorphicEvents" : null,
"external" : false,
"constraint" : null,
"ambiguous" : false
}, {
"event" : "event",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
@@ -98,145 +33,14 @@
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "ORDER",
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.ORDER",
"lineNumber" : 81,
"polymorphicEvents" : null,
"external" : false,
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)",
"ambiguous" : false
}, {
"event" : "event",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "dispatch",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "DOCUMENT",
"lineNumber" : 87,
"polymorphicEvents" : null,
"external" : false,
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)",
"ambiguous" : false
}, {
"event" : "event",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "dispatch",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "USER",
"lineNumber" : 93,
"polymorphicEvents" : null,
"external" : false,
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)",
"ambiguous" : false
} ],
"entryPoints" : [ {
"type" : "REST",
"name" : "POST /api/machine/order/pay",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "payOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/order/pay",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/order/ship",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "shipOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/order/ship",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/document/submit",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "submitDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/document/approve",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "approveDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/approve",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/document/reject",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "rejectDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/reject",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/user/verify",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "verifyUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/user/verify",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/user/suspend",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "suspendUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/user/suspend",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
}, {
"type" : "REST",
"name" : "POST /api/machine/{machineType}/transition/{event}",
"className" : "click.kamil.enterprise.web.StateMachineController",
@@ -279,7 +83,7 @@
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.payOrder", "click.kamil.enterprise.web.StateMachineDispatcher.payOrder" ],
"triggerPoint" : {
"event" : "OrderEvent.PAY",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.PAY",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "payOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
@@ -287,16 +91,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 30,
"polymorphicEvents" : [ "OrderEvent.PAY" ],
"polymorphicEvents" : [ "click.kamil.enterprise.machines.order.OrderEvent.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PENDING",
"event" : "OrderEvent.PAY"
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.NEW",
"targetState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.PAY"
} ]
}, {
"entryPoint" : {
@@ -317,7 +121,7 @@
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.shipOrder", "click.kamil.enterprise.web.StateMachineDispatcher.shipOrder" ],
"triggerPoint" : {
"event" : "OrderEvent.SHIP",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "shipOrder",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
@@ -325,187 +129,17 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 37,
"polymorphicEvents" : [ "OrderEvent.SHIP" ],
"polymorphicEvents" : [ "click.kamil.enterprise.machines.order.OrderEvent.SHIP" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PENDING",
"targetState" : "OrderState.SHIPPED",
"event" : "OrderEvent.SHIP"
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
"targetState" : "click.kamil.enterprise.machines.order.OrderState.SHIPPED",
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP"
} ]
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/document/submit",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "submitDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/submit",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.submitDocument", "click.kamil.enterprise.web.StateMachineDispatcher.submitDocument" ],
"triggerPoint" : {
"event" : "DocumentEvent.SUBMIT",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "submitDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 44,
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/document/approve",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "approveDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/approve",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.approveDocument", "click.kamil.enterprise.web.StateMachineDispatcher.approveDocument" ],
"triggerPoint" : {
"event" : "DocumentEvent.APPROVE",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "approveDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 51,
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/document/reject",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "rejectDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/document/reject",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.rejectDocument", "click.kamil.enterprise.web.StateMachineDispatcher.rejectDocument" ],
"triggerPoint" : {
"event" : "DocumentEvent.REJECT",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "rejectDocument",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 58,
"polymorphicEvents" : [ "DocumentEvent.REJECT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/user/verify",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "verifyUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/user/verify",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.verifyUser", "click.kamil.enterprise.web.StateMachineDispatcher.verifyUser" ],
"triggerPoint" : {
"event" : "UserEvent.VERIFY",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "verifyUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 65,
"polymorphicEvents" : [ "UserEvent.VERIFY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/user/suspend",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "suspendUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/user/suspend",
"verb" : "POST"
},
"parameters" : [ {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.suspendUser", "click.kamil.enterprise.web.StateMachineDispatcher.suspendUser" ],
"triggerPoint" : {
"event" : "UserEvent.SUSPEND",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "suspendUser",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 72,
"polymorphicEvents" : [ "UserEvent.SUSPEND" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
@@ -539,7 +173,7 @@
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "ORDER",
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.ORDER",
"lineNumber" : 81,
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
"external" : true,
@@ -548,90 +182,6 @@
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/{machineType}/transition/{event}",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "transition",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/{machineType}/transition/{event}",
"verb" : "POST"
},
"parameters" : [ {
"name" : "machineType",
"type" : "String",
"annotations" : [ "PathVariable" ]
}, {
"name" : "event",
"type" : "String",
"annotations" : [ "PathVariable" ]
}, {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.transition", "click.kamil.enterprise.web.StateMachineDispatcher.dispatch" ],
"triggerPoint" : {
"event" : "true ? OrderEvent.valueOf(eventString.toUpperCase()) : true ? DocumentEvent.valueOf(eventString.toUpperCase()) : UserEvent.valueOf(eventString.toUpperCase())",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "dispatch",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "DOCUMENT",
"lineNumber" : 87,
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
"external" : true,
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
}, {
"entryPoint" : {
"type" : "REST",
"name" : "POST /api/machine/{machineType}/transition/{event}",
"className" : "click.kamil.enterprise.web.StateMachineController",
"methodName" : "transition",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineController.java",
"metadata" : {
"path" : "/api/machine/{machineType}/transition/{event}",
"verb" : "POST"
},
"parameters" : [ {
"name" : "machineType",
"type" : "String",
"annotations" : [ "PathVariable" ]
}, {
"name" : "event",
"type" : "String",
"annotations" : [ "PathVariable" ]
}, {
"name" : "userId",
"type" : "String",
"annotations" : [ "RequestParam" ]
} ]
},
"methodChain" : [ "click.kamil.enterprise.web.StateMachineController.transition", "click.kamil.enterprise.web.StateMachineDispatcher.dispatch" ],
"triggerPoint" : {
"event" : "true ? OrderEvent.valueOf(eventString.toUpperCase()) : true ? DocumentEvent.valueOf(eventString.toUpperCase()) : UserEvent.valueOf(eventString.toUpperCase())",
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
"methodName" : "dispatch",
"sourceFile" : "src/main/java/click/kamil/enterprise/web/StateMachineDispatcher.java",
"sourceModule" : null,
"stateMachineId" : null,
"sourceState" : "USER",
"lineNumber" : 93,
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
"external" : true,
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : null
} ],
"properties" : {
"default" : { }
@@ -639,20 +189,20 @@
},
"name" : "click.kamil.enterprise.machines.order.OrderStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderState.NEW" ],
"startStates" : [ "click.kamil.enterprise.machines.order.OrderState.NEW" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.NEW",
"fullIdentifier" : "OrderState.NEW"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderState.NEW"
} ],
"targetStates" : [ {
"rawName" : "OrderState.PENDING",
"fullIdentifier" : "OrderState.PENDING"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderState.PENDING"
} ],
"event" : {
"rawName" : "OrderEvent.PAY",
"fullIdentifier" : "OrderEvent.PAY"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderEvent.PAY"
},
"guards" : [ ],
"actions" : [ {
@@ -668,19 +218,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.PENDING",
"fullIdentifier" : "OrderState.PENDING"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderState.PENDING"
} ],
"targetStates" : [ {
"rawName" : "OrderState.SHIPPED",
"fullIdentifier" : "OrderState.SHIPPED"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderState.SHIPPED"
} ],
"event" : {
"rawName" : "OrderEvent.SHIP",
"fullIdentifier" : "OrderEvent.SHIP"
"fullIdentifier" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "OrderState.SHIPPED" ]
"endStates" : [ "click.kamil.enterprise.machines.order.OrderState.SHIPPED" ]
}

View File

@@ -21,12 +21,12 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderState.NEW
[*] --> click.kamil.enterprise.machines.order.OrderState.NEW
OrderState.NEW -[#1E90FF,bold]-> OrderState.PENDING <<external>> : OrderEvent.PAY / λ
OrderState.PENDING -[#1E90FF,bold]-> OrderState.SHIPPED <<external>> : OrderEvent.SHIP
OrderState.SHIPPED --> [*]
click.kamil.enterprise.machines.order.OrderState.SHIPPED --> [*]
@enduml

View File

@@ -8,5 +8,9 @@
</state>
<state id="SHIPPED">
</state>
<state id="NEW">
</state>
<state id="SHIPPED">
</state>
</scxml>

View File

@@ -200,16 +200,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
} ]
}, {
"entryPoint" : {
@@ -234,16 +234,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.FULFILL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.PAID",
"targetState" : "OrderStates.FULFILLED",
"event" : "OrderEvents.FULFILL"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
} ]
}, {
"entryPoint" : {
@@ -268,16 +268,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.CANCELED",
"event" : "OrderEvents.CANCEL"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
} ]
}, {
"entryPoint" : {
@@ -302,16 +302,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 17,
"polymorphicEvents" : [ "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
} ]
}, {
"entryPoint" : {
@@ -336,16 +336,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
} ]
}, {
"entryPoint" : {
@@ -370,16 +370,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
} ]
}, {
"entryPoint" : {
@@ -408,20 +408,20 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.PAY", "OrderEvents.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY", "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
}, {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.CANCELED",
"event" : "OrderEvents.CANCEL"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
} ]
}, {
"entryPoint" : {
@@ -446,16 +446,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
} ]
}, {
"entryPoint" : {
@@ -480,16 +480,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.FULFILL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.PAID",
"targetState" : "OrderStates.FULFILLED",
"event" : "OrderEvents.FULFILL"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
} ]
}, {
"entryPoint" : {
@@ -514,16 +514,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 13,
"polymorphicEvents" : [ "OrderEvents.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.CANCELED",
"event" : "OrderEvents.CANCEL"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
} ]
}, {
"entryPoint" : {
@@ -548,16 +548,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 21,
"polymorphicEvents" : [ "OrderEvents.ABCD" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.PAID",
"targetState" : "OrderStates.CANCELED",
"event" : "OrderEvents.ABCD"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD"
} ]
}, {
"entryPoint" : {
@@ -582,20 +582,20 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 21,
"polymorphicEvents" : [ "OrderEvents.ABCD", "OrderEvents.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD", "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderStates.SUBMITTED",
"targetState" : "OrderStates.PAID",
"event" : "OrderEvents.PAY"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
}, {
"sourceState" : "OrderStates.PAID",
"targetState" : "OrderStates.CANCELED",
"event" : "OrderEvents.ABCD"
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD"
} ]
} ],
"properties" : {
@@ -606,20 +606,20 @@
},
"name" : "click.kamil.examples.statemachine.polymorphic.PolymorphicStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderStates.SUBMITTED" ],
"startStates" : [ "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID"
} ],
"event" : {
"rawName" : "OrderEvents.PAY",
"fullIdentifier" : "OrderEvents.PAY"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
},
"guards" : [ ],
"actions" : [ ],
@@ -628,15 +628,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.FULFILLED",
"fullIdentifier" : "OrderStates.FULFILLED"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED"
} ],
"event" : {
"rawName" : "OrderEvents.FULFILL",
"fullIdentifier" : "OrderEvents.FULFILL"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
},
"guards" : [ ],
"actions" : [ ],
@@ -645,15 +645,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "OrderEvents.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -662,19 +662,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "OrderStates.CANCELED", "OrderStates.FULFILLED" ]
"endStates" : [ "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED", "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED" ]
}

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderStates.SUBMITTED
[*] --> click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.PAID <<external>> : OrderEvents.PAY
@@ -29,7 +29,7 @@ OrderStates.PAID -[#1E90FF,bold]-> OrderStates.FULFILLED <<external>> : OrderEve
OrderStates.SUBMITTED -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> : OrderEvents.CANCEL
OrderStates.PAID -[#1E90FF,bold]-> OrderStates.CANCELED <<external>> : OrderEvents.ABCD
OrderStates.CANCELED --> [*]
OrderStates.FULFILLED --> [*]
click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED --> [*]
click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED --> [*]
@enduml

View File

@@ -12,5 +12,11 @@
</state>
<state id="CANCELED">
</state>
<state id="SUBMITTED">
</state>
<state id="CANCELED">
</state>
<state id="FULFILLED">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.simple.SimpleEnumStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderStates.SUBMITTED" ],
"startStates" : [ "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"event" : {
"rawName" : "OrderEvents.PAY",
"fullIdentifier" : "OrderEvents.PAY"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.PAY"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.FULFILLED",
"fullIdentifier" : "OrderStates.FULFILLED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.FULFILLED"
} ],
"event" : {
"rawName" : "OrderEvents.FULFILL",
"fullIdentifier" : "OrderEvents.FULFILL"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.FULFILL"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "OrderEvents.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.CANCEL"
},
"guards" : [ {
"expression" : "new Guard<OrderStates,OrderEvents>(){\n @Override public boolean evaluate( StateContext<OrderStates,OrderEvents> context){\n return false;\n }\n}\n",
@@ -74,15 +74,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.CANCELED"
} ],
"event" : {
"rawName" : "OrderEvents.CANCEL",
"fullIdentifier" : "OrderEvents.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -91,12 +91,12 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED"
} ],
"targetStates" : [ ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ ],
@@ -105,11 +105,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID2"
} ],
"event" : null,
"guards" : [ {
@@ -126,11 +126,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.SUBMITTED",
"fullIdentifier" : "OrderStates.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID3",
"fullIdentifier" : "OrderStates.PAID3"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID3"
} ],
"event" : null,
"guards" : [ ],
@@ -140,11 +140,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID1"
} ],
"event" : null,
"guards" : [ {
@@ -161,11 +161,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID2"
} ],
"event" : null,
"guards" : [ {
@@ -182,11 +182,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.HAPPEN",
"fullIdentifier" : "OrderStates.HAPPEN"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.HAPPEN"
} ],
"event" : null,
"guards" : [ {
@@ -203,11 +203,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID",
"fullIdentifier" : "OrderStates.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.PAID3",
"fullIdentifier" : "OrderStates.PAID3"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID3"
} ],
"event" : null,
"guards" : [ ],
@@ -217,11 +217,11 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID2",
"fullIdentifier" : "OrderStates.PAID2"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID2"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.CANCELED"
} ],
"event" : null,
"guards" : [ ],
@@ -231,11 +231,11 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID3",
"fullIdentifier" : "OrderStates.PAID3"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID3"
} ],
"targetStates" : [ {
"rawName" : "OrderStates.CANCELED",
"fullIdentifier" : "OrderStates.CANCELED"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.CANCELED"
} ],
"event" : null,
"guards" : [ ],
@@ -245,12 +245,12 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderStates.PAID1",
"fullIdentifier" : "OrderStates.PAID1"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderStates.PAID1"
} ],
"targetStates" : [ ],
"event" : {
"rawName" : "OrderEvents.ABCD",
"fullIdentifier" : "OrderEvents.ABCD"
"fullIdentifier" : "click.kamil.examples.statemachine.simple.OrderEvents.ABCD"
},
"guards" : [ ],
"actions" : [ {
@@ -270,5 +270,5 @@
} ],
"order" : null
} ],
"endStates" : [ "OrderStates.CANCELED", "OrderStates.FULFILLED" ]
"endStates" : [ "click.kamil.examples.statemachine.simple.OrderStates.CANCELED", "click.kamil.examples.statemachine.simple.OrderStates.FULFILLED" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderStates.SUBMITTED
[*] --> click.kamil.examples.statemachine.simple.OrderStates.SUBMITTED
state OrderStates.SUBMITTED <<choice>>
state OrderStates.PAID <<choice>>
@@ -41,7 +41,7 @@ OrderStates.PAID2 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
OrderStates.PAID3 -[#1E90FF,bold]-> OrderStates.CANCELED <<external>>
OrderStates.PAID1 -[#1E90FF,bold]-> OrderStates.PAID1 <<external>> : OrderEvents.ABCD / λ, action2
OrderStates.CANCELED --> [*]
OrderStates.FULFILLED --> [*]
click.kamil.examples.statemachine.simple.OrderStates.CANCELED --> [*]
click.kamil.examples.statemachine.simple.OrderStates.FULFILLED --> [*]
@enduml

View File

@@ -42,5 +42,11 @@
</state>
<state id="HAPPEN">
</state>
<state id="SUBMITTED">
</state>
<state id="CANCELED">
</state>
<state id="FULFILLED">
</state>
</scxml>

View File

@@ -45,7 +45,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.DocumentController.submit", "click.kamil.examples.statemachine.layered.web.CommandGateway.submitDocument", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentSubmit", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.SUBMIT",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -53,16 +53,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.SUBMIT" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.DRAFT",
"targetState" : "DocumentState.SUBMITTED",
"event" : "DocumentTransitionEvent.SUBMIT"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
} ]
}, {
"entryPoint" : {
@@ -79,7 +79,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.DocumentController.approve", "click.kamil.examples.statemachine.layered.web.CommandGateway.approveDocument", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentApprove", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.APPROVE",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -87,16 +87,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.APPROVE" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.SUBMITTED",
"targetState" : "DocumentState.APPROVED",
"event" : "DocumentTransitionEvent.APPROVE"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
} ]
}, {
"entryPoint" : {
@@ -113,7 +113,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.DocumentController.reject", "click.kamil.examples.statemachine.layered.web.CommandGateway.rejectDocument", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentReject", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.REJECT",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -121,16 +121,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.REJECT" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.SUBMITTED",
"targetState" : "DocumentState.REJECTED",
"event" : "DocumentTransitionEvent.REJECT"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
} ]
}, {
"entryPoint" : {
@@ -151,7 +151,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentSubmit", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.SUBMIT",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -159,16 +159,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.SUBMIT" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT" ],
"external" : false,
"constraint" : "command == DOCUMENT_SUBMIT",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.DRAFT",
"targetState" : "DocumentState.SUBMITTED",
"event" : "DocumentTransitionEvent.SUBMIT"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
} ]
}, {
"entryPoint" : {
@@ -189,7 +189,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentApprove", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.APPROVE",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -197,16 +197,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.APPROVE" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE" ],
"external" : false,
"constraint" : "command == DOCUMENT_APPROVE",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.SUBMITTED",
"targetState" : "DocumentState.APPROVED",
"event" : "DocumentTransitionEvent.APPROVE"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
} ]
}, {
"entryPoint" : {
@@ -227,7 +227,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.documentReject", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendDocumentEvent" ],
"triggerPoint" : {
"event" : "DocumentTransitionEvent.REJECT",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendDocumentEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -235,16 +235,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 81,
"polymorphicEvents" : [ "DocumentTransitionEvent.REJECT" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT" ],
"external" : false,
"constraint" : "command == DOCUMENT_REJECT",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "DocumentState.SUBMITTED",
"targetState" : "DocumentState.REJECTED",
"event" : "DocumentTransitionEvent.REJECT"
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
} ]
} ],
"properties" : {
@@ -253,20 +253,20 @@
},
"name" : "click.kamil.examples.statemachine.layered.document.config.StandardDocumentStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "DocumentState.DRAFT" ],
"startStates" : [ "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "DocumentState.DRAFT",
"fullIdentifier" : "DocumentState.DRAFT"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT"
} ],
"targetStates" : [ {
"rawName" : "DocumentState.SUBMITTED",
"fullIdentifier" : "DocumentState.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED"
} ],
"event" : {
"rawName" : "DocumentTransitionEvent.SUBMIT",
"fullIdentifier" : "DocumentTransitionEvent.SUBMIT"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
},
"guards" : [ ],
"actions" : [ ],
@@ -275,15 +275,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "DocumentState.SUBMITTED",
"fullIdentifier" : "DocumentState.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "DocumentState.APPROVED",
"fullIdentifier" : "DocumentState.APPROVED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED"
} ],
"event" : {
"rawName" : "DocumentTransitionEvent.APPROVE",
"fullIdentifier" : "DocumentTransitionEvent.APPROVE"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
},
"guards" : [ ],
"actions" : [ ],
@@ -292,19 +292,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "DocumentState.SUBMITTED",
"fullIdentifier" : "DocumentState.SUBMITTED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED"
} ],
"targetStates" : [ {
"rawName" : "DocumentState.REJECTED",
"fullIdentifier" : "DocumentState.REJECTED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED"
} ],
"event" : {
"rawName" : "DocumentTransitionEvent.REJECT",
"fullIdentifier" : "DocumentTransitionEvent.REJECT"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "DocumentState.REJECTED", "DocumentState.APPROVED" ]
"endStates" : [ "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED", "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED" ]
}

View File

@@ -21,14 +21,14 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> DocumentState.DRAFT
[*] --> click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT
DocumentState.DRAFT -[#1E90FF,bold]-> DocumentState.SUBMITTED <<external>> : DocumentTransitionEvent.SUBMIT
DocumentState.SUBMITTED -[#1E90FF,bold]-> DocumentState.APPROVED <<external>> : DocumentTransitionEvent.APPROVE
DocumentState.SUBMITTED -[#1E90FF,bold]-> DocumentState.REJECTED <<external>> : DocumentTransitionEvent.REJECT
DocumentState.REJECTED --> [*]
DocumentState.APPROVED --> [*]
click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED --> [*]
click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED --> [*]
@enduml

View File

@@ -11,5 +11,11 @@
</state>
<state id="REJECTED">
</state>
<state id="DRAFT">
</state>
<state id="REJECTED">
</state>
<state id="APPROVED">
</state>
</scxml>

View File

@@ -45,7 +45,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.OrderController.pay", "click.kamil.examples.statemachine.layered.web.CommandGateway.payOrder", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderPay", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.PAY",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -53,16 +53,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PAID",
"event" : "OrderTransitionEvent.PAY"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
} ]
}, {
"entryPoint" : {
@@ -79,7 +79,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.OrderController.ship", "click.kamil.examples.statemachine.layered.web.CommandGateway.shipOrder", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderShip", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.SHIP",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -87,16 +87,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.SHIP" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.SHIPPED",
"event" : "OrderTransitionEvent.SHIP"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
} ]
}, {
"entryPoint" : {
@@ -113,7 +113,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.OrderController.cancel", "click.kamil.examples.statemachine.layered.web.CommandGateway.cancelOrder", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderCancel", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.CANCEL",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -121,16 +121,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderTransitionEvent.CANCEL"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
} ]
}, {
"entryPoint" : {
@@ -147,7 +147,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.StringDispatchController.payWithStringKey", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderPay", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.PAY",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -155,16 +155,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY" ],
"external" : false,
"constraint" : "command == ORDER_PAY",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PAID",
"event" : "OrderTransitionEvent.PAY"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
} ]
}, {
"entryPoint" : {
@@ -181,7 +181,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.StringDispatchController.shipWithStringKey", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderShip", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.SHIP",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -189,16 +189,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.SHIP" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP" ],
"external" : false,
"constraint" : "command == ORDER_SHIP",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.SHIPPED",
"event" : "OrderTransitionEvent.SHIP"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
} ]
}, {
"entryPoint" : {
@@ -215,7 +215,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.RichOrderController.payViaRichEvent", "click.kamil.examples.statemachine.layered.web.CommandGateway.payOrderViaRichEvent", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderPayViaRichEvent", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.PAY",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -223,16 +223,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PAID",
"event" : "OrderTransitionEvent.PAY"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
} ]
}, {
"entryPoint" : {
@@ -249,7 +249,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.RichOrderController.shipViaRichEvent", "click.kamil.examples.statemachine.layered.web.CommandGateway.shipOrderViaRichEvent", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderShipViaRichEvent", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.SHIP",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -257,16 +257,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.SHIP" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP" ],
"external" : false,
"constraint" : null,
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.SHIPPED",
"event" : "OrderTransitionEvent.SHIP"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
} ]
}, {
"entryPoint" : {
@@ -287,7 +287,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderPay", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.PAY",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -295,16 +295,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.PAY" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY" ],
"external" : false,
"constraint" : "command == ORDER_PAY",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PAID",
"event" : "OrderTransitionEvent.PAY"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
} ]
}, {
"entryPoint" : {
@@ -325,7 +325,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderShip", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.SHIP",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -333,16 +333,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.SHIP" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP" ],
"external" : false,
"constraint" : "command == ORDER_SHIP",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.SHIPPED",
"event" : "OrderTransitionEvent.SHIP"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
} ]
}, {
"entryPoint" : {
@@ -363,7 +363,7 @@
},
"methodChain" : [ "click.kamil.examples.statemachine.layered.web.GenericCommandController.execute", "click.kamil.examples.statemachine.layered.web.CommandGateway.executeViaMapper", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.dispatch", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.orderCancel", "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher.sendOrderEvent" ],
"triggerPoint" : {
"event" : "OrderTransitionEvent.CANCEL",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL",
"className" : "click.kamil.examples.statemachine.layered.dispatch.CentralEventDispatcher",
"methodName" : "sendOrderEvent",
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/layered/dispatch/CentralEventDispatcher.java",
@@ -371,16 +371,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 75,
"polymorphicEvents" : [ "OrderTransitionEvent.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL" ],
"external" : false,
"constraint" : "command == ORDER_CANCEL",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PAID",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderTransitionEvent.CANCEL"
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
} ]
} ],
"properties" : {
@@ -389,20 +389,20 @@
},
"name" : "click.kamil.examples.statemachine.layered.order.config.StandardOrderStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderState.NEW" ],
"startStates" : [ "click.kamil.examples.statemachine.layered.order.OrderState.NEW" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.NEW",
"fullIdentifier" : "OrderState.NEW"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW"
} ],
"targetStates" : [ {
"rawName" : "OrderState.PAID",
"fullIdentifier" : "OrderState.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID"
} ],
"event" : {
"rawName" : "OrderTransitionEvent.PAY",
"fullIdentifier" : "OrderTransitionEvent.PAY"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
},
"guards" : [ ],
"actions" : [ ],
@@ -411,15 +411,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.PAID",
"fullIdentifier" : "OrderState.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderState.SHIPPED",
"fullIdentifier" : "OrderState.SHIPPED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED"
} ],
"event" : {
"rawName" : "OrderTransitionEvent.SHIP",
"fullIdentifier" : "OrderTransitionEvent.SHIP"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
},
"guards" : [ ],
"actions" : [ ],
@@ -428,19 +428,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.PAID",
"fullIdentifier" : "OrderState.PAID"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID"
} ],
"targetStates" : [ {
"rawName" : "OrderState.CANCELLED",
"fullIdentifier" : "OrderState.CANCELLED"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED"
} ],
"event" : {
"rawName" : "OrderTransitionEvent.CANCEL",
"fullIdentifier" : "OrderTransitionEvent.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "OrderState.SHIPPED", "OrderState.CANCELLED" ]
"endStates" : [ "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED", "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED" ]
}

View File

@@ -21,14 +21,14 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderState.NEW
[*] --> click.kamil.examples.statemachine.layered.order.OrderState.NEW
OrderState.NEW -[#1E90FF,bold]-> OrderState.PAID <<external>> : OrderTransitionEvent.PAY
OrderState.PAID -[#1E90FF,bold]-> OrderState.SHIPPED <<external>> : OrderTransitionEvent.SHIP
OrderState.PAID -[#1E90FF,bold]-> OrderState.CANCELLED <<external>> : OrderTransitionEvent.CANCEL
OrderState.SHIPPED --> [*]
OrderState.CANCELLED --> [*]
click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED --> [*]
click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED --> [*]
@enduml

View File

@@ -11,5 +11,11 @@
</state>
<state id="CANCELLED">
</state>
<state id="NEW">
</state>
<state id="SHIPPED">
</state>
<state id="CANCELLED">
</state>
</scxml>

View File

@@ -101,7 +101,7 @@
},
"methodChain" : [ "click.kamil.web.OrderController.processOrder", "click.kamil.service.StateMachineServiceImpl.sendMessageWithOutbox", "click.kamil.service.StateMachineServiceImpl.sendMessage" ],
"triggerPoint" : {
"event" : "OrderEvent.PROCESS",
"event" : "click.kamil.domain.OrderEvent.PROCESS",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessage",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -109,16 +109,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 25,
"polymorphicEvents" : [ "OrderEvent.PROCESS" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.PROCESS" ],
"external" : false,
"constraint" : "event instanceof OrderEvent",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PROCESSING",
"event" : "OrderEvent.PROCESS"
"sourceState" : "click.kamil.domain.OrderState.NEW",
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
"event" : "click.kamil.domain.OrderEvent.PROCESS"
} ]
}, {
"entryPoint" : {
@@ -135,7 +135,7 @@
},
"methodChain" : [ "click.kamil.web.OrderController.completeOrder", "click.kamil.service.StateMachineServiceImpl.sendMessage" ],
"triggerPoint" : {
"event" : "OrderEvent.COMPLETE",
"event" : "click.kamil.domain.OrderEvent.COMPLETE",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessage",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -143,16 +143,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 25,
"polymorphicEvents" : [ "OrderEvent.COMPLETE" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.COMPLETE" ],
"external" : false,
"constraint" : "event instanceof OrderEvent",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PROCESSING",
"targetState" : "OrderState.COMPLETED",
"event" : "OrderEvent.COMPLETE"
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
} ]
}, {
"entryPoint" : {
@@ -169,7 +169,7 @@
},
"methodChain" : [ "click.kamil.web.OrderController.cancelOrder", "click.kamil.service.StateMachineServiceImpl.sendMessage" ],
"triggerPoint" : {
"event" : "OrderEvent.CANCEL",
"event" : "click.kamil.domain.OrderEvent.CANCEL",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessage",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -177,20 +177,20 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 25,
"polymorphicEvents" : [ "OrderEvent.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.CANCEL" ],
"external" : false,
"constraint" : "event instanceof OrderEvent",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderEvent.CANCEL"
"sourceState" : "click.kamil.domain.OrderState.NEW",
"targetState" : "click.kamil.domain.OrderState.CANCELLED",
"event" : "click.kamil.domain.OrderEvent.CANCEL"
}, {
"sourceState" : "OrderState.PROCESSING",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderEvent.CANCEL"
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
"targetState" : "click.kamil.domain.OrderState.CANCELLED",
"event" : "click.kamil.domain.OrderEvent.CANCEL"
} ]
}, {
"entryPoint" : {
@@ -207,7 +207,7 @@
},
"methodChain" : [ "click.kamil.web.OrderController.functionalCompleteOrder", "click.kamil.web.OrderController.triggerTransitionFunction", "click.kamil.service.StateMachineServiceImpl.sendMessage" ],
"triggerPoint" : {
"event" : "OrderEvent.COMPLETE",
"event" : "click.kamil.domain.OrderEvent.COMPLETE",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessage",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -215,16 +215,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 25,
"polymorphicEvents" : [ "OrderEvent.COMPLETE" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.COMPLETE" ],
"external" : false,
"constraint" : "event instanceof OrderEvent",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.PROCESSING",
"targetState" : "OrderState.COMPLETED",
"event" : "OrderEvent.COMPLETE"
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
} ]
}, {
"entryPoint" : {
@@ -279,7 +279,7 @@
},
"methodChain" : [ "click.kamil.web.JmsOrderListener.receiveProcessCommand", "click.kamil.service.StateMachineServiceImpl.sendMessageWithOutbox", "click.kamil.service.StateMachineServiceImpl.sendMessage" ],
"triggerPoint" : {
"event" : "OrderEvent.PROCESS",
"event" : "click.kamil.domain.OrderEvent.PROCESS",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessage",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -287,16 +287,16 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 25,
"polymorphicEvents" : [ "OrderEvent.PROCESS" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.PROCESS" ],
"external" : false,
"constraint" : "event instanceof OrderEvent",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.PROCESSING",
"event" : "OrderEvent.PROCESS"
"sourceState" : "click.kamil.domain.OrderState.NEW",
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
"event" : "click.kamil.domain.OrderEvent.PROCESS"
} ]
}, {
"entryPoint" : {
@@ -317,7 +317,7 @@
},
"methodChain" : [ "click.kamil.web.JmsOrderListener.receiveCancelCommand", "click.kamil.service.StateMachineServiceImpl.sendMessageWithProvider" ],
"triggerPoint" : {
"event" : "OrderEvent.CANCEL",
"event" : "click.kamil.domain.OrderEvent.CANCEL",
"className" : "click.kamil.service.StateMachineServiceImpl",
"methodName" : "sendMessageWithProvider",
"sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java",
@@ -325,20 +325,20 @@
"stateMachineId" : null,
"sourceState" : null,
"lineNumber" : 50,
"polymorphicEvents" : [ "OrderEvent.CANCEL" ],
"polymorphicEvents" : [ "click.kamil.domain.OrderEvent.CANCEL" ],
"external" : false,
"constraint" : "event != null",
"ambiguous" : false
},
"contextMachineId" : null,
"matchedTransitions" : [ {
"sourceState" : "OrderState.NEW",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderEvent.CANCEL"
"sourceState" : "click.kamil.domain.OrderState.NEW",
"targetState" : "click.kamil.domain.OrderState.CANCELLED",
"event" : "click.kamil.domain.OrderEvent.CANCEL"
}, {
"sourceState" : "OrderState.PROCESSING",
"targetState" : "OrderState.CANCELLED",
"event" : "OrderEvent.CANCEL"
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
"targetState" : "click.kamil.domain.OrderState.CANCELLED",
"event" : "click.kamil.domain.OrderEvent.CANCEL"
} ]
} ],
"properties" : {
@@ -347,20 +347,20 @@
},
"name" : "click.kamil.domain.StateMachineConfig",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "OrderState.NEW" ],
"startStates" : [ "click.kamil.domain.OrderState.NEW" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.NEW",
"fullIdentifier" : "OrderState.NEW"
"fullIdentifier" : "click.kamil.domain.OrderState.NEW"
} ],
"targetStates" : [ {
"rawName" : "OrderState.PROCESSING",
"fullIdentifier" : "OrderState.PROCESSING"
"fullIdentifier" : "click.kamil.domain.OrderState.PROCESSING"
} ],
"event" : {
"rawName" : "OrderEvent.PROCESS",
"fullIdentifier" : "OrderEvent.PROCESS"
"fullIdentifier" : "click.kamil.domain.OrderEvent.PROCESS"
},
"guards" : [ ],
"actions" : [ ],
@@ -369,15 +369,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.PROCESSING",
"fullIdentifier" : "OrderState.PROCESSING"
"fullIdentifier" : "click.kamil.domain.OrderState.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "OrderState.COMPLETED",
"fullIdentifier" : "OrderState.COMPLETED"
"fullIdentifier" : "click.kamil.domain.OrderState.COMPLETED"
} ],
"event" : {
"rawName" : "OrderEvent.COMPLETE",
"fullIdentifier" : "OrderEvent.COMPLETE"
"fullIdentifier" : "click.kamil.domain.OrderEvent.COMPLETE"
},
"guards" : [ ],
"actions" : [ ],
@@ -386,15 +386,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.NEW",
"fullIdentifier" : "OrderState.NEW"
"fullIdentifier" : "click.kamil.domain.OrderState.NEW"
} ],
"targetStates" : [ {
"rawName" : "OrderState.CANCELLED",
"fullIdentifier" : "OrderState.CANCELLED"
"fullIdentifier" : "click.kamil.domain.OrderState.CANCELLED"
} ],
"event" : {
"rawName" : "OrderEvent.CANCEL",
"fullIdentifier" : "OrderEvent.CANCEL"
"fullIdentifier" : "click.kamil.domain.OrderEvent.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -403,19 +403,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "OrderState.PROCESSING",
"fullIdentifier" : "OrderState.PROCESSING"
"fullIdentifier" : "click.kamil.domain.OrderState.PROCESSING"
} ],
"targetStates" : [ {
"rawName" : "OrderState.CANCELLED",
"fullIdentifier" : "OrderState.CANCELLED"
"fullIdentifier" : "click.kamil.domain.OrderState.CANCELLED"
} ],
"event" : {
"rawName" : "OrderEvent.CANCEL",
"fullIdentifier" : "OrderEvent.CANCEL"
"fullIdentifier" : "click.kamil.domain.OrderEvent.CANCEL"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "OrderState.COMPLETED", "OrderState.CANCELLED" ]
"endStates" : [ "click.kamil.domain.OrderState.COMPLETED", "click.kamil.domain.OrderState.CANCELLED" ]
}

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> OrderState.NEW
[*] --> click.kamil.domain.OrderState.NEW
OrderState.NEW -[#1E90FF,bold]-> OrderState.PROCESSING <<external>> : OrderEvent.PROCESS
@@ -29,7 +29,7 @@ OrderState.PROCESSING -[#1E90FF,bold]-> OrderState.COMPLETED <<external>> : Orde
OrderState.NEW -[#1E90FF,bold]-> OrderState.CANCELLED <<external>> : OrderEvent.CANCEL
OrderState.PROCESSING -[#1E90FF,bold]-> OrderState.CANCELLED <<external>> : OrderEvent.CANCEL
OrderState.COMPLETED --> [*]
OrderState.CANCELLED --> [*]
click.kamil.domain.OrderState.COMPLETED --> [*]
click.kamil.domain.OrderState.CANCELLED --> [*]
@enduml

View File

@@ -12,5 +12,11 @@
</state>
<state id="CANCELLED">
</state>
<state id="NEW">
</state>
<state id="COMPLETED">
</state>
<state id="CANCELLED">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.ThreeStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,15 +271,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -288,15 +288,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -305,15 +305,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -322,15 +322,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -339,15 +339,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -356,15 +356,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -373,11 +373,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -394,11 +394,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -408,11 +408,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -429,11 +429,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -450,11 +450,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -464,11 +464,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -485,11 +485,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -499,11 +499,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -520,11 +520,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -534,11 +534,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -555,11 +555,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -569,11 +569,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -590,11 +590,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -604,11 +604,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -625,11 +625,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -646,11 +646,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -660,11 +660,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -681,11 +681,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -695,11 +695,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -716,11 +716,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -730,11 +730,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -751,11 +751,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -772,11 +772,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -786,11 +786,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -807,11 +807,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -821,15 +821,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENTX",
"fullIdentifier" : "Events.EVENTX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENTX"
},
"guards" : [ ],
"actions" : [ ],
@@ -838,11 +838,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -859,11 +859,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_1"
} ],
"event" : null,
"guards" : [ ],
@@ -873,15 +873,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_3",
"fullIdentifier" : "States.STATE_EXTRA_3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_3"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -890,15 +890,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
@@ -907,19 +907,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_2",
"fullIdentifier" : "States.STATE_EXTRA_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE_EXTRA_2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

After

Width:  |  Height:  |  Size: 206 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATE1
state States.STATEY <<choice>>
state States.STATE16 <<choice>>
@@ -89,6 +89,6 @@ States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.STATE_EXTRA_3 <<external>> : Event
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATE_EXTRA_2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate2.States.STATEZ --> [*]
@enduml

View File

@@ -160,5 +160,9 @@
<state id="STATE_EXTRA_2">
<transition target="CANCEL" event="Events.EVENT_CANCEL_2"/>
</state>
<state id="STATE1">
</state>
<state id="STATEZ">
</state>
</scxml>

View File

@@ -11,20 +11,20 @@
},
"name" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.TwoStateMachineConfiguration",
"renderChoicesAsDiamonds" : true,
"startStates" : [ "States.STATE1" ],
"startStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1" ],
"transitions" : [ {
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE2"
} ],
"event" : {
"rawName" : "Events.EVENT1",
"fullIdentifier" : "Events.EVENT1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT1"
},
"guards" : [ ],
"actions" : [ ],
@@ -33,15 +33,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE3"
} ],
"event" : {
"rawName" : "Events.EVENT2",
"fullIdentifier" : "Events.EVENT2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT2"
},
"guards" : [ ],
"actions" : [ ],
@@ -50,15 +50,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE4"
} ],
"event" : {
"rawName" : "Events.EVENT3",
"fullIdentifier" : "Events.EVENT3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT3"
},
"guards" : [ ],
"actions" : [ ],
@@ -67,15 +67,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE5"
} ],
"event" : {
"rawName" : "Events.EVENT4",
"fullIdentifier" : "Events.EVENT4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT4"
},
"guards" : [ ],
"actions" : [ ],
@@ -84,15 +84,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE6"
} ],
"event" : {
"rawName" : "Events.EVENT5",
"fullIdentifier" : "Events.EVENT5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT5"
},
"guards" : [ ],
"actions" : [ ],
@@ -101,15 +101,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE6"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE7"
} ],
"event" : {
"rawName" : "Events.EVENT6",
"fullIdentifier" : "Events.EVENT6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT6"
},
"guards" : [ ],
"actions" : [ ],
@@ -118,15 +118,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE7"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE8"
} ],
"event" : {
"rawName" : "Events.EVENT7",
"fullIdentifier" : "Events.EVENT7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT7"
},
"guards" : [ ],
"actions" : [ ],
@@ -135,15 +135,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"event" : {
"rawName" : "Events.EVENT8",
"fullIdentifier" : "Events.EVENT8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT8"
},
"guards" : [ ],
"actions" : [ ],
@@ -152,15 +152,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE10"
} ],
"event" : {
"rawName" : "Events.EVENT9",
"fullIdentifier" : "Events.EVENT9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT9"
},
"guards" : [ ],
"actions" : [ ],
@@ -169,15 +169,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE10"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"event" : {
"rawName" : "Events.EVENT10",
"fullIdentifier" : "Events.EVENT10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT10"
},
"guards" : [ ],
"actions" : [ ],
@@ -186,15 +186,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE12"
} ],
"event" : {
"rawName" : "Events.EVENT11",
"fullIdentifier" : "Events.EVENT11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT11"
},
"guards" : [ ],
"actions" : [ ],
@@ -203,15 +203,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE13"
} ],
"event" : {
"rawName" : "Events.EVENT12",
"fullIdentifier" : "Events.EVENT12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT12"
},
"guards" : [ ],
"actions" : [ ],
@@ -220,15 +220,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE13"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE14"
} ],
"event" : {
"rawName" : "Events.EVENT13",
"fullIdentifier" : "Events.EVENT13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT13"
},
"guards" : [ ],
"actions" : [ ],
@@ -237,15 +237,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE15"
} ],
"event" : {
"rawName" : "Events.EVENT14",
"fullIdentifier" : "Events.EVENT14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT14"
},
"guards" : [ ],
"actions" : [ ],
@@ -254,15 +254,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE15"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"event" : {
"rawName" : "Events.EVENT15",
"fullIdentifier" : "Events.EVENT15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT15"
},
"guards" : [ ],
"actions" : [ ],
@@ -271,15 +271,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -288,15 +288,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE2",
"fullIdentifier" : "States.STATE2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE2"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -305,15 +305,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE3",
"fullIdentifier" : "States.STATE3"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE3"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -322,15 +322,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -339,15 +339,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -356,15 +356,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE4",
"fullIdentifier" : "States.STATE4"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE4"
} ],
"targetStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEY"
} ],
"event" : {
"rawName" : "Events.EVENTY",
"fullIdentifier" : "Events.EVENTY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENTY"
},
"guards" : [ ],
"actions" : [ ],
@@ -373,11 +373,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEX",
"fullIdentifier" : "States.STATEX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEX"
} ],
"event" : null,
"guards" : [ {
@@ -394,11 +394,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATEY",
"fullIdentifier" : "States.STATEY"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEY"
} ],
"targetStates" : [ {
"rawName" : "States.STATEZ",
"fullIdentifier" : "States.STATEZ"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEZ"
} ],
"event" : null,
"guards" : [ ],
@@ -408,11 +408,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE17"
} ],
"event" : null,
"guards" : [ {
@@ -429,11 +429,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE18"
} ],
"event" : null,
"guards" : [ {
@@ -450,11 +450,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE19"
} ],
"event" : null,
"guards" : [ ],
@@ -464,11 +464,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE20"
} ],
"event" : null,
"guards" : [ {
@@ -485,11 +485,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE17",
"fullIdentifier" : "States.STATE17"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE17"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -499,11 +499,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE19"
} ],
"event" : null,
"guards" : [ {
@@ -520,11 +520,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE18",
"fullIdentifier" : "States.STATE18"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE18"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -534,11 +534,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1"
} ],
"event" : null,
"guards" : [ {
@@ -555,11 +555,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE19",
"fullIdentifier" : "States.STATE19"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE19"
} ],
"targetStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE20"
} ],
"event" : null,
"guards" : [ ],
@@ -569,11 +569,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE5"
} ],
"event" : null,
"guards" : [ {
@@ -590,11 +590,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE20",
"fullIdentifier" : "States.STATE20"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE20"
} ],
"targetStates" : [ {
"rawName" : "States.STATE1",
"fullIdentifier" : "States.STATE1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1"
} ],
"event" : null,
"guards" : [ ],
@@ -604,11 +604,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE13",
"fullIdentifier" : "States.STATE13"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE13"
} ],
"event" : null,
"guards" : [ {
@@ -625,11 +625,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE14"
} ],
"event" : null,
"guards" : [ {
@@ -646,11 +646,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"targetStates" : [ {
"rawName" : "States.STATE15",
"fullIdentifier" : "States.STATE15"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE15"
} ],
"event" : null,
"guards" : [ ],
@@ -660,11 +660,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE10"
} ],
"event" : null,
"guards" : [ {
@@ -681,11 +681,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE12"
} ],
"targetStates" : [ {
"rawName" : "States.STATE11",
"fullIdentifier" : "States.STATE11"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE11"
} ],
"event" : null,
"guards" : [ ],
@@ -695,11 +695,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE12",
"fullIdentifier" : "States.STATE12"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE12"
} ],
"event" : null,
"guards" : [ {
@@ -716,11 +716,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE14",
"fullIdentifier" : "States.STATE14"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE14"
} ],
"targetStates" : [ {
"rawName" : "States.STATE16",
"fullIdentifier" : "States.STATE16"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE16"
} ],
"event" : null,
"guards" : [ ],
@@ -730,11 +730,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE8"
} ],
"event" : null,
"guards" : [ {
@@ -751,11 +751,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE7",
"fullIdentifier" : "States.STATE7"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE7"
} ],
"event" : null,
"guards" : [ {
@@ -772,11 +772,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"targetStates" : [ {
"rawName" : "States.STATE6",
"fullIdentifier" : "States.STATE6"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE6"
} ],
"event" : null,
"guards" : [ ],
@@ -786,11 +786,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE9",
"fullIdentifier" : "States.STATE9"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE9"
} ],
"event" : null,
"guards" : [ {
@@ -807,11 +807,11 @@
"type" : "CHOICE",
"sourceStates" : [ {
"rawName" : "States.STATE8",
"fullIdentifier" : "States.STATE8"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE8"
} ],
"targetStates" : [ {
"rawName" : "States.STATE10",
"fullIdentifier" : "States.STATE10"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE10"
} ],
"event" : null,
"guards" : [ ],
@@ -821,15 +821,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE5",
"fullIdentifier" : "States.STATE5"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE5"
} ],
"targetStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE_EXTRA_1"
} ],
"event" : {
"rawName" : "Events.EVENTX",
"fullIdentifier" : "Events.EVENTX"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENTX"
},
"guards" : [ ],
"actions" : [ ],
@@ -838,15 +838,15 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL",
"fullIdentifier" : "Events.EVENT_CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL"
},
"guards" : [ ],
"actions" : [ ],
@@ -855,19 +855,19 @@
"type" : "EXTERNAL",
"sourceStates" : [ {
"rawName" : "States.STATE_EXTRA_1",
"fullIdentifier" : "States.STATE_EXTRA_1"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE_EXTRA_1"
} ],
"targetStates" : [ {
"rawName" : "States.CANCEL",
"fullIdentifier" : "States.CANCEL"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.CANCEL"
} ],
"event" : {
"rawName" : "Events.EVENT_CANCEL_2",
"fullIdentifier" : "Events.EVENT_CANCEL_2"
"fullIdentifier" : "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.Events.EVENT_CANCEL_2"
},
"guards" : [ ],
"actions" : [ ],
"order" : null
} ],
"endStates" : [ "States.STATEZ" ]
"endStates" : [ "click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEZ" ]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 243 KiB

View File

@@ -21,7 +21,7 @@ skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self
[*] --> States.STATE1
[*] --> click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATE1
state States.STATEY <<choice>>
state States.STATE16 <<choice>>
@@ -85,6 +85,6 @@ States.STATE5 -[#1E90FF,bold]-> States.STATE_EXTRA_1 <<external>> : Events.EVENT
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL_2
States.STATEZ --> [*]
click.kamil.examples.statemachine.inheritanceextrafunctionsstate.States.STATEZ --> [*]
@enduml

Some files were not shown because too many files have changed in this diff Show More