up
This commit is contained in:
@@ -58,6 +58,7 @@ tasks.named('test') {
|
|||||||
task runGolden(type: JavaExec) {
|
task runGolden(type: JavaExec) {
|
||||||
mainClass = "click.kamil.springstatemachineexporter.GoldenUpdater"
|
mainClass = "click.kamil.springstatemachineexporter.GoldenUpdater"
|
||||||
classpath = sourceSets.test.runtimeClasspath
|
classpath = sourceSets.test.runtimeClasspath
|
||||||
|
workingDir = rootProject.projectDir
|
||||||
}
|
}
|
||||||
|
|
||||||
task runGoldenFixed(type: JavaExec) {
|
task runGoldenFixed(type: JavaExec) {
|
||||||
|
|||||||
@@ -110,14 +110,30 @@ public class TransitionLinkerEnricher implements AnalysisEnricher {
|
|||||||
if (constraint == null || machineName == null) return true;
|
if (constraint == null || machineName == null) return true;
|
||||||
|
|
||||||
String cleanMachine = machineName.substring(machineName.lastIndexOf('.') + 1).toUpperCase();
|
String cleanMachine = machineName.substring(machineName.lastIndexOf('.') + 1).toUpperCase();
|
||||||
|
if (cleanMachine.endsWith("STATEMACHINECONFIGURATION")) {
|
||||||
|
cleanMachine = cleanMachine.substring(0, cleanMachine.length() - "STATEMACHINECONFIGURATION".length());
|
||||||
|
}
|
||||||
|
if (cleanMachine.endsWith("STATEMACHINE")) {
|
||||||
|
cleanMachine = cleanMachine.substring(0, cleanMachine.length() - "STATEMACHINE".length());
|
||||||
|
}
|
||||||
|
if (cleanMachine.endsWith("CONFIG")) {
|
||||||
|
cleanMachine = cleanMachine.substring(0, cleanMachine.length() - "CONFIG".length());
|
||||||
|
}
|
||||||
|
|
||||||
String constraintUpper = constraint.toUpperCase();
|
String constraintUpper = constraint.toUpperCase();
|
||||||
|
|
||||||
java.util.List<String> allMachines = java.util.List.of("ORDER", "DOCUMENT", "USER");
|
java.util.List<String> allMachines = java.util.List.of("ORDER", "DOCUMENT", "USER");
|
||||||
for (String m : allMachines) {
|
for (String m : allMachines) {
|
||||||
if (!m.equals(cleanMachine)) {
|
if (!m.equals(cleanMachine)) {
|
||||||
if (constraintUpper.contains(m) && !constraintUpper.contains("!" + m) && !constraintUpper.contains("NOT")) {
|
if (constraintUpper.contains(m)) {
|
||||||
if (constraintUpper.contains("\"" + m + "\"") || constraintUpper.contains("'" + m + "'") || constraintUpper.contains(m + ".")) {
|
int idx = constraintUpper.indexOf(m);
|
||||||
return false;
|
String sub = constraintUpper.substring(0, idx);
|
||||||
|
String cleanedSub = sub.replaceAll("[\\s\"(]+$", "");
|
||||||
|
boolean isNegated = cleanedSub.endsWith("!") || cleanedSub.endsWith("NOT") || constraintUpper.contains("!=" + m) || constraintUpper.contains("! = " + m);
|
||||||
|
if (!isNegated) {
|
||||||
|
if (constraintUpper.contains("\"" + m + "\"") || constraintUpper.contains("'" + m + "'") || constraintUpper.contains(m + ".")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -470,4 +470,71 @@ class HeuristicCallGraphEngineTypeTest {
|
|||||||
assertThat(chain.getTriggerPoint().getPolymorphicEvents())
|
assertThat(chain.getTriggerPoint().getPolymorphicEvents())
|
||||||
.containsExactly("<SYMBOLIC: MyEvents.*>");
|
.containsExactly("<SYMBOLIC: MyEvents.*>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldResolveTernaryValueOf(@TempDir Path tempDir) throws IOException {
|
||||||
|
String source = """
|
||||||
|
package com.example;
|
||||||
|
public class Dispatcher {
|
||||||
|
public void dispatch(String type, String eventStr) {
|
||||||
|
StateMachine sm = new StateMachine();
|
||||||
|
if ("ORDER".equals(type)) {
|
||||||
|
OrderEvent ev = OrderEvent.valueOf(eventStr);
|
||||||
|
sm.sendEvent(ev);
|
||||||
|
} else {
|
||||||
|
UserEvent ev = UserEvent.valueOf(eventStr);
|
||||||
|
sm.sendEvent(ev);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enum OrderEvent { PAY }
|
||||||
|
enum UserEvent { VERIFY }
|
||||||
|
class StateMachine {
|
||||||
|
public void sendEvent(Object e) {}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
Files.writeString(tempDir.resolve("Dispatcher.java"), source);
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.scan(tempDir);
|
||||||
|
|
||||||
|
HeuristicCallGraphEngine builder = new HeuristicCallGraphEngine(context);
|
||||||
|
|
||||||
|
EntryPoint entry = EntryPoint.builder()
|
||||||
|
.className("com.example.Dispatcher")
|
||||||
|
.methodName("dispatch")
|
||||||
|
.build();
|
||||||
|
TriggerPoint trigger = TriggerPoint.builder()
|
||||||
|
.className("com.example.StateMachine")
|
||||||
|
.methodName("sendEvent")
|
||||||
|
.event("e")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
List<CallChain> chains = builder.findChains(List.of(entry), List.of(trigger));
|
||||||
|
assertThat(chains).hasSize(1);
|
||||||
|
assertThat(chains.get(0).getTriggerPoint().getPolymorphicEvents())
|
||||||
|
.containsExactlyInAnyOrder("<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: UserEvent.*>");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testEnterpriseDispatcherResolution() throws IOException {
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.scan(Path.of("../state_machines/state_machine_enterprise"));
|
||||||
|
|
||||||
|
HeuristicCallGraphEngine builder = new HeuristicCallGraphEngine(context);
|
||||||
|
|
||||||
|
EntryPoint entry = EntryPoint.builder()
|
||||||
|
.className("click.kamil.enterprise.web.StateMachineController")
|
||||||
|
.methodName("transition")
|
||||||
|
.build();
|
||||||
|
TriggerPoint trigger = TriggerPoint.builder()
|
||||||
|
.className("click.kamil.enterprise.web.StateMachineDispatcher")
|
||||||
|
.methodName("dispatch")
|
||||||
|
.event("event")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
List<CallChain> chains = builder.findChains(List.of(entry), List.of(trigger));
|
||||||
|
assertThat(chains).isNotEmpty();
|
||||||
|
assertThat(chains.get(0).getTriggerPoint().getPolymorphicEvents())
|
||||||
|
.containsExactlyInAnyOrder("<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -282,4 +282,48 @@ class JdtCallGraphEngineIntegrationTest {
|
|||||||
"click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk"
|
"click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testEnterpriseDispatcherResolutionJdt() throws IOException {
|
||||||
|
Path projectRoot = Path.of("../state_machines/state_machine_enterprise").toAbsolutePath().normalize();
|
||||||
|
|
||||||
|
CodebaseContext ctx = new CodebaseContext();
|
||||||
|
ctx.setProjectRoot(projectRoot);
|
||||||
|
ctx.setSourcepath(List.of(projectRoot.resolve("src/main/java").toString()));
|
||||||
|
|
||||||
|
DynamicClasspathResolver resolver = new DynamicClasspathResolver();
|
||||||
|
List<String> cp = resolver.resolveClasspath(projectRoot);
|
||||||
|
if (!cp.isEmpty()) {
|
||||||
|
ctx.setClasspath(cp);
|
||||||
|
}
|
||||||
|
ctx.setResolveBindings(true);
|
||||||
|
ctx.scan(Set.of(projectRoot), Collections.emptySet());
|
||||||
|
|
||||||
|
SpringBeanRegistry reg = new SpringBeanRegistry();
|
||||||
|
SpringContextScanner scanner = new SpringContextScanner(reg);
|
||||||
|
|
||||||
|
for (var cu : ctx.getCompilationUnits()) {
|
||||||
|
cu.accept(scanner);
|
||||||
|
}
|
||||||
|
|
||||||
|
SpringDependencyResolver dependencyResolver = new SpringDependencyResolver(reg);
|
||||||
|
InjectionPointAnalyzer injectionAnalyzer = new InjectionPointAnalyzer(dependencyResolver);
|
||||||
|
|
||||||
|
JdtCallGraphEngine jdtEngine = new JdtCallGraphEngine(ctx, injectionAnalyzer);
|
||||||
|
|
||||||
|
EntryPoint entry = EntryPoint.builder()
|
||||||
|
.className("click.kamil.enterprise.web.StateMachineController")
|
||||||
|
.methodName("transition")
|
||||||
|
.build();
|
||||||
|
TriggerPoint trigger = TriggerPoint.builder()
|
||||||
|
.className("click.kamil.enterprise.web.StateMachineDispatcher")
|
||||||
|
.methodName("dispatch")
|
||||||
|
.event("event")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
List<CallChain> chains = jdtEngine.findChains(List.of(entry), List.of(trigger));
|
||||||
|
assertThat(chains).isNotEmpty();
|
||||||
|
assertThat(chains.get(0).getTriggerPoint().getPolymorphicEvents())
|
||||||
|
.containsExactlyInAnyOrder("<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -19,7 +21,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -29,7 +33,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -39,7 +45,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -49,7 +57,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -59,7 +69,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -69,7 +81,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -79,7 +93,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "ORDER",
|
"sourceState" : "ORDER",
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -89,7 +105,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "DOCUMENT",
|
"sourceState" : "DOCUMENT",
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -99,7 +117,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "USER",
|
"sourceState" : "USER",
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
} ],
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -257,7 +277,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : [ "OrderEvent.PAY" ]
|
"polymorphicEvents" : [ "OrderEvent.PAY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -288,7 +310,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : [ "OrderEvent.SHIP" ]
|
"polymorphicEvents" : [ "OrderEvent.SHIP" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -319,7 +343,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ]
|
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -354,7 +380,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ]
|
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -389,7 +417,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.REJECT" ]
|
"polymorphicEvents" : [ "DocumentEvent.REJECT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -424,7 +454,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : [ "UserEvent.VERIFY" ]
|
"polymorphicEvents" : [ "UserEvent.VERIFY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -455,7 +487,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : [ "UserEvent.SUSPEND" ]
|
"polymorphicEvents" : [ "UserEvent.SUSPEND" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -494,22 +528,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "DocumentState.DRAFT",
|
|
||||||
"targetState" : "DocumentState.IN_REVIEW",
|
|
||||||
"event" : "DocumentEvent.SUBMIT"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "DocumentState.IN_REVIEW",
|
|
||||||
"targetState" : "DocumentState.APPROVED",
|
|
||||||
"event" : "DocumentEvent.APPROVE"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "DocumentState.IN_REVIEW",
|
|
||||||
"targetState" : "DocumentState.DRAFT",
|
|
||||||
"event" : "DocumentEvent.REJECT"
|
|
||||||
} ]
|
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -545,7 +569,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -596,22 +622,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "DocumentState.DRAFT",
|
|
||||||
"targetState" : "DocumentState.IN_REVIEW",
|
|
||||||
"event" : "DocumentEvent.SUBMIT"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "DocumentState.IN_REVIEW",
|
|
||||||
"targetState" : "DocumentState.APPROVED",
|
|
||||||
"event" : "DocumentEvent.APPROVE"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "DocumentState.IN_REVIEW",
|
|
||||||
"targetState" : "DocumentState.DRAFT",
|
|
||||||
"event" : "DocumentEvent.REJECT"
|
|
||||||
} ]
|
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -19,7 +21,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -29,7 +33,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -39,7 +45,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -49,7 +57,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -59,7 +69,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -69,7 +81,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -79,7 +93,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "ORDER",
|
"sourceState" : "ORDER",
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -89,7 +105,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "DOCUMENT",
|
"sourceState" : "DOCUMENT",
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -99,7 +117,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "USER",
|
"sourceState" : "USER",
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
} ],
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -257,7 +277,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : [ "OrderEvent.PAY" ]
|
"polymorphicEvents" : [ "OrderEvent.PAY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -292,7 +314,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : [ "OrderEvent.SHIP" ]
|
"polymorphicEvents" : [ "OrderEvent.SHIP" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -327,7 +351,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ]
|
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -358,7 +384,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ]
|
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -389,7 +417,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.REJECT" ]
|
"polymorphicEvents" : [ "DocumentEvent.REJECT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -420,7 +450,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : [ "UserEvent.VERIFY" ]
|
"polymorphicEvents" : [ "UserEvent.VERIFY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -451,7 +483,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : [ "UserEvent.SUSPEND" ]
|
"polymorphicEvents" : [ "UserEvent.SUSPEND" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -490,7 +524,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -537,18 +573,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "OrderState.NEW",
|
|
||||||
"targetState" : "OrderState.PENDING",
|
|
||||||
"event" : "OrderEvent.PAY"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "OrderState.PENDING",
|
|
||||||
"targetState" : "OrderState.SHIPPED",
|
|
||||||
"event" : "OrderEvent.SHIP"
|
|
||||||
} ]
|
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -584,18 +614,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "OrderState.NEW",
|
|
||||||
"targetState" : "OrderState.PENDING",
|
|
||||||
"event" : "OrderEvent.PAY"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "OrderState.PENDING",
|
|
||||||
"targetState" : "OrderState.SHIPPED",
|
|
||||||
"event" : "OrderEvent.SHIP"
|
|
||||||
} ]
|
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -19,7 +21,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -29,7 +33,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -39,7 +45,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -49,7 +57,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -59,7 +69,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.SUSPEND",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -69,7 +81,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -79,7 +93,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "ORDER",
|
"sourceState" : "ORDER",
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -89,7 +105,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "DOCUMENT",
|
"sourceState" : "DOCUMENT",
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
}, {
|
}, {
|
||||||
"event" : "event",
|
"event" : "event",
|
||||||
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
"className" : "click.kamil.enterprise.web.StateMachineDispatcher",
|
||||||
@@ -99,7 +117,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : "USER",
|
"sourceState" : "USER",
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : null
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
} ],
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -257,7 +277,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 30,
|
"lineNumber" : 30,
|
||||||
"polymorphicEvents" : [ "OrderEvent.PAY" ]
|
"polymorphicEvents" : [ "OrderEvent.PAY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -288,7 +310,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 37,
|
"lineNumber" : 37,
|
||||||
"polymorphicEvents" : [ "OrderEvent.SHIP" ]
|
"polymorphicEvents" : [ "OrderEvent.SHIP" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -319,7 +343,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 44,
|
"lineNumber" : 44,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ]
|
"polymorphicEvents" : [ "DocumentEvent.SUBMIT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -350,7 +376,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 51,
|
"lineNumber" : 51,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ]
|
"polymorphicEvents" : [ "DocumentEvent.APPROVE" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -381,7 +409,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 58,
|
"lineNumber" : 58,
|
||||||
"polymorphicEvents" : [ "DocumentEvent.REJECT" ]
|
"polymorphicEvents" : [ "DocumentEvent.REJECT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -412,7 +442,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 65,
|
"lineNumber" : 65,
|
||||||
"polymorphicEvents" : [ "UserEvent.VERIFY" ]
|
"polymorphicEvents" : [ "UserEvent.VERIFY" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
@@ -447,7 +479,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 72,
|
"lineNumber" : 72,
|
||||||
"polymorphicEvents" : [ "UserEvent.SUSPEND" ]
|
"polymorphicEvents" : [ "UserEvent.SUSPEND" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null
|
||||||
@@ -486,18 +520,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 81,
|
"lineNumber" : 81,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "\"ORDER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "UserState.GUEST",
|
|
||||||
"targetState" : "UserState.REGISTERED",
|
|
||||||
"event" : "UserEvent.REGISTER"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "UserState.REGISTERED",
|
|
||||||
"targetState" : "UserState.VERIFIED",
|
|
||||||
"event" : "UserEvent.VERIFY"
|
|
||||||
} ]
|
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -533,18 +561,12 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 87,
|
"lineNumber" : 87,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && \"DOCUMENT\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : null
|
||||||
"sourceState" : "UserState.GUEST",
|
|
||||||
"targetState" : "UserState.REGISTERED",
|
|
||||||
"event" : "UserEvent.REGISTER"
|
|
||||||
}, {
|
|
||||||
"sourceState" : "UserState.REGISTERED",
|
|
||||||
"targetState" : "UserState.VERIFIED",
|
|
||||||
"event" : "UserEvent.VERIFY"
|
|
||||||
} ]
|
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -580,7 +602,9 @@
|
|||||||
"stateMachineId" : null,
|
"stateMachineId" : null,
|
||||||
"sourceState" : null,
|
"sourceState" : null,
|
||||||
"lineNumber" : 93,
|
"lineNumber" : 93,
|
||||||
"polymorphicEvents" : [ ]
|
"polymorphicEvents" : [ "<SYMBOLIC: OrderEvent.*>", "<SYMBOLIC: DocumentEvent.*>", "<SYMBOLIC: UserEvent.*>" ],
|
||||||
|
"external" : true,
|
||||||
|
"constraint" : "!(\"ORDER\".equalsIgnoreCase(machineType)) && !(\"DOCUMENT\".equalsIgnoreCase(machineType)) && \"USER\".equalsIgnoreCase(machineType)"
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : [ {
|
"matchedTransitions" : [ {
|
||||||
|
|||||||
Reference in New Issue
Block a user