Export linkResolution in JSON and tighten source-proven trigger scoping.
Wire enterprise regression tests for linkResolution, extend REST body enum detection to nested DTOs/records, infer if-branch source states only from provable literals, and fix String/java.lang.String routing equivalence so shared-service scoping stays fail-closed without dropping valid chains. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -24,7 +24,7 @@ public class HeuristicBeanResolutionEngine implements BeanResolutionEngine {
|
|||||||
boolean mismatched = false;
|
boolean mismatched = false;
|
||||||
|
|
||||||
if (triggerEventFqn != null && machineEventFqn != null) {
|
if (triggerEventFqn != null && machineEventFqn != null) {
|
||||||
if (eraseGenerics(triggerEventFqn).equals(eraseGenerics(machineEventFqn))) {
|
if (typesEquivalent(triggerEventFqn, machineEventFqn)) {
|
||||||
matched = true;
|
matched = true;
|
||||||
} else if (isTypeMismatched(triggerEventFqn, machineEventFqn)) {
|
} else if (isTypeMismatched(triggerEventFqn, machineEventFqn)) {
|
||||||
mismatched = true;
|
mismatched = true;
|
||||||
@@ -34,7 +34,7 @@ public class HeuristicBeanResolutionEngine implements BeanResolutionEngine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (triggerStateFqn != null && machineStateFqn != null) {
|
if (triggerStateFqn != null && machineStateFqn != null) {
|
||||||
if (eraseGenerics(triggerStateFqn).equals(eraseGenerics(machineStateFqn))) {
|
if (typesEquivalent(triggerStateFqn, machineStateFqn)) {
|
||||||
matched = true;
|
matched = true;
|
||||||
} else if (isTypeMismatched(triggerStateFqn, machineStateFqn)) {
|
} else if (isTypeMismatched(triggerStateFqn, machineStateFqn)) {
|
||||||
mismatched = true;
|
mismatched = true;
|
||||||
@@ -322,6 +322,27 @@ public class HeuristicBeanResolutionEngine implements BeanResolutionEngine {
|
|||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean typesEquivalent(String type1, String type2) {
|
||||||
|
if (type1 == null || type2 == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String erased1 = normalizePrimitiveFqn(eraseGenerics(type1));
|
||||||
|
String erased2 = normalizePrimitiveFqn(eraseGenerics(type2));
|
||||||
|
return erased1.equals(erased2);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String normalizePrimitiveFqn(String type) {
|
||||||
|
if (type == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return switch (type) {
|
||||||
|
case "java.lang.String" -> "String";
|
||||||
|
case "java.lang.Object" -> "Object";
|
||||||
|
case "java.io.Serializable" -> "Serializable";
|
||||||
|
default -> type;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isTypeMismatched(String type1, String type2) {
|
private boolean isTypeMismatched(String type1, String type2) {
|
||||||
if (type1 == null || type2 == null) return false;
|
if (type1 == null || type2 == null) return false;
|
||||||
type1 = eraseGenerics(type1);
|
type1 = eraseGenerics(type1);
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ import click.kamil.springstatemachineexporter.analysis.model.TriggerPoint;
|
|||||||
import click.kamil.springstatemachineexporter.analysis.resolver.MachineEnumCanonicalizer;
|
import click.kamil.springstatemachineexporter.analysis.resolver.MachineEnumCanonicalizer;
|
||||||
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
|
import click.kamil.springstatemachineexporter.ast.common.CodebaseContext;
|
||||||
import org.eclipse.jdt.core.dom.*;
|
import org.eclipse.jdt.core.dom.*;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Single source-derived policy for marking REST triggers as external vs internal.
|
* Single source-derived policy for marking REST triggers as external vs internal.
|
||||||
@@ -173,6 +175,9 @@ public final class ExternalTriggerPolicy {
|
|||||||
if (isEnumDtoField(bodyBinding, fieldName, context)) {
|
if (isEnumDtoField(bodyBinding, fieldName, context)) {
|
||||||
return new RestParamBinding(false, false, true, true);
|
return new RestParamBinding(false, false, true, true);
|
||||||
}
|
}
|
||||||
|
if (containsNestedEnumField(bodyBinding, fieldName, context)) {
|
||||||
|
return new RestParamBinding(false, false, true, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -218,6 +223,38 @@ public final class ExternalTriggerPolicy {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean containsNestedEnumField(
|
||||||
|
ITypeBinding bodyBinding, String fieldName, CodebaseContext context) {
|
||||||
|
return containsNestedEnumField(bodyBinding, fieldName, context, new HashSet<>());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean containsNestedEnumField(
|
||||||
|
ITypeBinding bodyBinding,
|
||||||
|
String fieldName,
|
||||||
|
CodebaseContext context,
|
||||||
|
Set<String> visited) {
|
||||||
|
if (bodyBinding == null || fieldName == null || context == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
String bodyFqn = bodyBinding.getQualifiedName();
|
||||||
|
if (bodyFqn == null || !visited.add(bodyFqn)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (IVariableBinding component : bodyBinding.getDeclaredFields()) {
|
||||||
|
ITypeBinding nestedType = component.getType();
|
||||||
|
if (nestedType == null || nestedType.isPrimitive() || nestedType.isEnum()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (isEnumRecordComponent(nestedType, fieldName) || isEnumDtoField(nestedType, fieldName, context)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (containsNestedEnumField(nestedType, fieldName, context, visited)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean hasParameterAstAnnotation(SingleVariableDeclaration param, String simpleName) {
|
private static boolean hasParameterAstAnnotation(SingleVariableDeclaration param, String simpleName) {
|
||||||
for (Object modifier : param.modifiers()) {
|
for (Object modifier : param.modifiers()) {
|
||||||
if (modifier instanceof Annotation annotation
|
if (modifier instanceof Annotation annotation
|
||||||
|
|||||||
@@ -477,20 +477,15 @@ public class GenericEventDetector {
|
|||||||
if (isRoutingParameter(left) || isRoutingParameter(right)) {
|
if (isRoutingParameter(left) || isRoutingParameter(right)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Usually one is a method call like getState() or a variable like `state`
|
String leftState = resolveProvableStateLiteral(left);
|
||||||
// and the other is the constant enum like `OrderState.PENDING` or `"PENDING"`
|
if (leftState != null) {
|
||||||
|
return leftState;
|
||||||
// If one is a QualifiedName (enum constant) or StringLiteral, it's likely the state
|
|
||||||
if (left instanceof QualifiedName || left instanceof StringLiteral || left instanceof FieldAccess) {
|
|
||||||
return getSimpleNameString(left);
|
|
||||||
}
|
}
|
||||||
if (right instanceof QualifiedName || right instanceof StringLiteral || right instanceof FieldAccess) {
|
String rightState = resolveProvableStateLiteral(right);
|
||||||
return getSimpleNameString(right);
|
if (rightState != null) {
|
||||||
|
return rightState;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fallback
|
|
||||||
return getSimpleNameString(right);
|
|
||||||
}
|
}
|
||||||
} else if (expr instanceof MethodInvocation mi) {
|
} else if (expr instanceof MethodInvocation mi) {
|
||||||
String methodName = mi.getName().getIdentifier();
|
String methodName = mi.getName().getIdentifier();
|
||||||
@@ -501,22 +496,12 @@ public class GenericEventDetector {
|
|||||||
if (isRoutingParameter(receiver) || isRoutingParameter(arg)) {
|
if (isRoutingParameter(receiver) || isRoutingParameter(arg)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If receiver is null (e.g., implicit this), fall back to arg
|
String receiverState = resolveProvableStateLiteral(receiver);
|
||||||
if (receiver == null) {
|
if (receiverState != null) {
|
||||||
return getSimpleNameString(arg);
|
return receiverState;
|
||||||
}
|
}
|
||||||
|
return resolveProvableStateLiteral(arg);
|
||||||
// Prioritize the one that looks like a constant (QualifiedName or StringLiteral)
|
|
||||||
if (receiver instanceof QualifiedName || receiver instanceof StringLiteral || receiver instanceof FieldAccess) {
|
|
||||||
return getSimpleNameString(receiver);
|
|
||||||
}
|
|
||||||
if (arg instanceof QualifiedName || arg instanceof StringLiteral || arg instanceof FieldAccess) {
|
|
||||||
return getSimpleNameString(arg);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fallback to receiver
|
|
||||||
return getSimpleNameString(receiver);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -106,6 +106,44 @@ class MachineScopeFilterEntryPointTest {
|
|||||||
assertThat(orderScoped).isEmpty();
|
assertThat(orderScoped).isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldFilterSharedDispatcherCallChainsByProvenMachineTypes(@TempDir Path tempDir) throws Exception {
|
||||||
|
writeEnterpriseWebLayer(tempDir);
|
||||||
|
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.setResolveBindings(true);
|
||||||
|
context.scan(tempDir);
|
||||||
|
|
||||||
|
CallChain payChain = CallChain.builder()
|
||||||
|
.triggerPoint(TriggerPoint.builder()
|
||||||
|
.event("com.example.OrderEvent.PAY")
|
||||||
|
.eventTypeFqn("com.example.OrderEvent")
|
||||||
|
.stateTypeFqn("com.example.OrderState")
|
||||||
|
.className("com.example.StateMachineDispatcher")
|
||||||
|
.methodName("payOrder")
|
||||||
|
.build())
|
||||||
|
.methodChain(List.of("com.example.StateMachineController.payOrder()"))
|
||||||
|
.build();
|
||||||
|
CallChain documentChain = CallChain.builder()
|
||||||
|
.triggerPoint(TriggerPoint.builder()
|
||||||
|
.event("com.example.DocumentEvent.SUBMIT")
|
||||||
|
.eventTypeFqn("com.example.DocumentEvent")
|
||||||
|
.stateTypeFqn("com.example.DocumentState")
|
||||||
|
.className("com.example.StateMachineDispatcher")
|
||||||
|
.methodName("submitDocument")
|
||||||
|
.build())
|
||||||
|
.methodChain(List.of("com.example.StateMachineController.submitDocument()"))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
List<CallChain> orderScoped = MachineScopeFilter.filterCallChainsForMachine(
|
||||||
|
List.of(payChain, documentChain),
|
||||||
|
"com.example.OrderStateMachineConfiguration",
|
||||||
|
context);
|
||||||
|
|
||||||
|
assertThat(orderScoped).hasSize(1);
|
||||||
|
assertThat(orderScoped.get(0).getTriggerPoint().getEvent()).isEqualTo("com.example.OrderEvent.PAY");
|
||||||
|
}
|
||||||
|
|
||||||
private static void writeEnterpriseWebLayer(Path tempDir) throws Exception {
|
private static void writeEnterpriseWebLayer(Path tempDir) throws Exception {
|
||||||
Files.writeString(tempDir.resolve("App.java"), """
|
Files.writeString(tempDir.resolve("App.java"), """
|
||||||
package com.example;
|
package com.example;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.junit.jupiter.api.io.TempDir;
|
|||||||
|
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ class EnterpriseDedicatedEndpointLinkingTest {
|
|||||||
assertThat(chain.path("matchedTransitions")).isNotEmpty();
|
assertThat(chain.path("matchedTransitions")).isNotEmpty();
|
||||||
assertThat(chain.path("matchedTransitions").get(0).path("event").asText())
|
assertThat(chain.path("matchedTransitions").get(0).path("event").asText())
|
||||||
.isEqualTo("click.kamil.enterprise.machines.order.OrderEvent.PAY");
|
.isEqualTo("click.kamil.enterprise.machines.order.OrderEvent.PAY");
|
||||||
|
assertThat(chain.path("linkResolution").asText()).isEqualTo("RESOLVED");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static JsonNode findPayEndpointChain(JsonNode machineJson) {
|
private static JsonNode findPayEndpointChain(JsonNode machineJson) {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ class EnterpriseDispatcherMatchedTransitionsRegressionTest {
|
|||||||
assertThat(chain.path("triggerPoint").path("polymorphicEvents")).isEmpty();
|
assertThat(chain.path("triggerPoint").path("polymorphicEvents")).isEmpty();
|
||||||
JsonNode matched = chain.path("matchedTransitions");
|
JsonNode matched = chain.path("matchedTransitions");
|
||||||
assertThat(matched.isNull() || (matched.isArray() && matched.isEmpty())).isTrue();
|
assertThat(matched.isNull() || (matched.isArray() && matched.isEmpty())).isTrue();
|
||||||
|
assertThat(chain.path("linkResolution").asText()).isEqualTo("UNRESOLVED_EXTERNAL");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static JsonNode findTransitionEndpointChain(JsonNode machineJson) {
|
private static JsonNode findTransitionEndpointChain(JsonNode machineJson) {
|
||||||
|
|||||||
@@ -119,4 +119,40 @@ class ExternalTriggerPolicyTest {
|
|||||||
assertThat(ExternalTriggerPolicy.isExternalFromSource(
|
assertThat(ExternalTriggerPolicy.isExternalFromSource(
|
||||||
entryPoint, trigger, "com.example.Api.pay", "event", context)).isFalse();
|
entryPoint, trigger, "com.example.Api.pay", "event", context)).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void requestBodyNestedDtoEnumFieldShouldBeInternal(@TempDir Path tempDir) throws Exception {
|
||||||
|
String source = """
|
||||||
|
package com.example;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
public class Api {
|
||||||
|
@PostMapping("/pay")
|
||||||
|
public void pay(@RequestBody OrderRequest request) {
|
||||||
|
fire(request.details().event());
|
||||||
|
}
|
||||||
|
void fire(OrderEvent event) {}
|
||||||
|
}
|
||||||
|
record OrderRequest(OrderDetails details) {}
|
||||||
|
record OrderDetails(OrderEvent event) {}
|
||||||
|
enum OrderEvent { PAY }
|
||||||
|
""";
|
||||||
|
Files.writeString(tempDir.resolve("Api.java"), source);
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.setResolveBindings(true);
|
||||||
|
context.scan(tempDir);
|
||||||
|
|
||||||
|
EntryPoint entryPoint = EntryPoint.builder()
|
||||||
|
.type(EntryPoint.Type.REST)
|
||||||
|
.name("POST /pay")
|
||||||
|
.className("com.example.Api")
|
||||||
|
.methodName("pay")
|
||||||
|
.build();
|
||||||
|
TriggerPoint trigger = TriggerPoint.builder()
|
||||||
|
.event("com.example.OrderEvent.PAY")
|
||||||
|
.polymorphicEvents(List.of("com.example.OrderEvent.PAY"))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
assertThat(ExternalTriggerPolicy.isExternalFromSource(
|
||||||
|
entryPoint, trigger, "com.example.Api.pay", "event", context)).isFalse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,4 +43,70 @@ class GenericEventDetectorFireTest {
|
|||||||
assertThat(triggers.get(0).getMethodName()).isEqualTo("pay");
|
assertThat(triggers.get(0).getMethodName()).isEqualTo("pay");
|
||||||
assertThat(triggers.get(0).getEvent()).contains("PAY");
|
assertThat(triggers.get(0).getEvent()).contains("PAY");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldInferSourceStateFromNonGuardIfLiteralBranch(@TempDir Path tempDir) throws Exception {
|
||||||
|
String source = """
|
||||||
|
package com.example;
|
||||||
|
enum OrderState { NEW, PAID }
|
||||||
|
enum OrderEvent { PAY }
|
||||||
|
class OrderService {
|
||||||
|
private final StateMachineFacade facade;
|
||||||
|
OrderService(StateMachineFacade facade) { this.facade = facade; }
|
||||||
|
public void payWhenPaid(OrderState state) {
|
||||||
|
if (state == OrderState.PAID) {
|
||||||
|
facade.sendEvent(OrderEvent.PAY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class StateMachineFacade {
|
||||||
|
public void sendEvent(OrderEvent event) {}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
Files.writeString(tempDir.resolve("OrderService.java"), source);
|
||||||
|
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.setResolveBindings(true);
|
||||||
|
context.scan(tempDir);
|
||||||
|
|
||||||
|
GenericEventDetector detector = new GenericEventDetector(context, context.getConstantResolver(), List.of());
|
||||||
|
org.eclipse.jdt.core.dom.TypeDeclaration td = context.getTypeDeclaration("com.example.OrderService");
|
||||||
|
List<TriggerPoint> triggers = detector.detect((org.eclipse.jdt.core.dom.CompilationUnit) td.getRoot());
|
||||||
|
|
||||||
|
assertThat(triggers).hasSize(1);
|
||||||
|
assertThat(triggers.get(0).getSourceState()).isEqualTo("PAID");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shouldNotInferSourceStateFromVariableOnlyIfCondition(@TempDir Path tempDir) throws Exception {
|
||||||
|
String source = """
|
||||||
|
package com.example;
|
||||||
|
enum OrderState { NEW, PAID }
|
||||||
|
enum OrderEvent { PAY }
|
||||||
|
class OrderService {
|
||||||
|
private final StateMachineFacade facade;
|
||||||
|
OrderService(StateMachineFacade facade) { this.facade = facade; }
|
||||||
|
public void payWhenPaid(boolean isPaid) {
|
||||||
|
if (isPaid) {
|
||||||
|
facade.sendEvent(OrderEvent.PAY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
class StateMachineFacade {
|
||||||
|
public void sendEvent(OrderEvent event) {}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
Files.writeString(tempDir.resolve("OrderService.java"), source);
|
||||||
|
|
||||||
|
CodebaseContext context = new CodebaseContext();
|
||||||
|
context.setResolveBindings(true);
|
||||||
|
context.scan(tempDir);
|
||||||
|
|
||||||
|
GenericEventDetector detector = new GenericEventDetector(context, context.getConstantResolver(), List.of());
|
||||||
|
org.eclipse.jdt.core.dom.TypeDeclaration td = context.getTypeDeclaration("com.example.OrderService");
|
||||||
|
List<TriggerPoint> triggers = detector.detect((org.eclipse.jdt.core.dom.CompilationUnit) td.getRoot());
|
||||||
|
|
||||||
|
assertThat(triggers).hasSize(1);
|
||||||
|
assertThat(triggers.get(0).getSourceState()).isNull();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -297,7 +297,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.DRAFT",
|
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.DRAFT",
|
||||||
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT"
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -335,7 +336,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
||||||
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.APPROVED",
|
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.APPROVED",
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE"
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.APPROVE"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -373,7 +375,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
"sourceState" : "click.kamil.enterprise.machines.document.DocumentState.IN_REVIEW",
|
||||||
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.DRAFT",
|
"targetState" : "click.kamil.enterprise.machines.document.DocumentState.DRAFT",
|
||||||
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT"
|
"event" : "click.kamil.enterprise.machines.document.DocumentEvent.REJECT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -415,7 +418,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -457,7 +461,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -499,7 +504,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -376,7 +376,8 @@
|
|||||||
"sourceState" : "String.NEW",
|
"sourceState" : "String.NEW",
|
||||||
"targetState" : "String.CHECK_AVAILABILITY",
|
"targetState" : "String.CHECK_AVAILABILITY",
|
||||||
"event" : "String.PLACE_ORDER"
|
"event" : "String.PLACE_ORDER"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -414,7 +415,8 @@
|
|||||||
"sourceState" : "String.PAID",
|
"sourceState" : "String.PAID",
|
||||||
"targetState" : "String.CANCELLED",
|
"targetState" : "String.CANCELLED",
|
||||||
"event" : "String.CANCEL_ORDER"
|
"event" : "String.CANCEL_ORDER"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "CUSTOM",
|
"type" : "CUSTOM",
|
||||||
@@ -443,7 +445,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -481,7 +484,8 @@
|
|||||||
"sourceState" : "String.PENDING_PAYMENT",
|
"sourceState" : "String.PENDING_PAYMENT",
|
||||||
"targetState" : "String.PAID",
|
"targetState" : "String.PAID",
|
||||||
"event" : "String.PAY_ORDER"
|
"event" : "String.PAY_ORDER"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "JMS",
|
"type" : "JMS",
|
||||||
@@ -519,7 +523,8 @@
|
|||||||
"sourceState" : "String.PAID",
|
"sourceState" : "String.PAID",
|
||||||
"targetState" : "String.SHIPPED",
|
"targetState" : "String.SHIPPED",
|
||||||
"event" : "String.SHIP_ORDER"
|
"event" : "String.SHIP_ORDER"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "RABBIT",
|
"type" : "RABBIT",
|
||||||
@@ -557,7 +562,8 @@
|
|||||||
"sourceState" : "String.DELIVERED",
|
"sourceState" : "String.DELIVERED",
|
||||||
"targetState" : "String.RETURNED",
|
"targetState" : "String.RETURNED",
|
||||||
"event" : "String.RETURN_ORDER"
|
"event" : "String.RETURN_ORDER"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -124,6 +124,97 @@
|
|||||||
"eventTypeFqn" : "String",
|
"eventTypeFqn" : "String",
|
||||||
"metadata" : {
|
"metadata" : {
|
||||||
"triggers" : [ {
|
"triggers" : [ {
|
||||||
|
"event" : "java.lang.String.FINISH",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 34,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.AUDIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 16,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.FALLBACK_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.FallbackQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/FallbackQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.PROFILED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ProfiledQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ProfiledQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.SUBMIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processSubmit",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 20,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.CANCEL_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processCancel",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 25,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
"event" : "[LIFECYCLE:RESTORE]",
|
"event" : "[LIFECYCLE:RESTORE]",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
"methodName" : "resumeOrder",
|
"methodName" : "resumeOrder",
|
||||||
@@ -136,6 +227,58 @@
|
|||||||
"external" : false,
|
"external" : false,
|
||||||
"constraint" : null,
|
"constraint" : null,
|
||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.AUTHORIZE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "processPayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 22,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.CAPTURE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "capturePayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 35,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
}, {
|
}, {
|
||||||
"event" : "[LIFECYCLE:RESTORE]",
|
"event" : "[LIFECYCLE:RESTORE]",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
@@ -149,8 +292,54 @@
|
|||||||
"external" : false,
|
"external" : false,
|
||||||
"constraint" : null,
|
"constraint" : null,
|
||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.REACTIVE_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||||
|
"methodName" : "processReactive",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 18,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
} ],
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/submit",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "submitOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/submit",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/cancel",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "cancelOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/cancel",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/finish",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/finish",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/orders/resume",
|
"name" : "POST /api/orders/resume",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
@@ -167,19 +356,106 @@
|
|||||||
} ]
|
} ]
|
||||||
}, {
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/payment/{id}/capture",
|
"name" : "POST /api/orders/reactive",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
"methodName" : "capturePaymentEndpoint",
|
"methodName" : "reactiveOrder",
|
||||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
"metadata" : {
|
"metadata" : {
|
||||||
"path" : "/api/payment/{id}/capture",
|
"path" : "/api/orders/reactive",
|
||||||
"verb" : "POST"
|
"verb" : "POST"
|
||||||
},
|
},
|
||||||
"parameters" : [ {
|
"parameters" : [ {
|
||||||
"name" : "id",
|
"name" : "orderId",
|
||||||
"type" : "String",
|
"type" : "String",
|
||||||
"annotations" : [ "PathVariable" ]
|
"annotations" : [ ]
|
||||||
} ]
|
} ]
|
||||||
|
}, {
|
||||||
|
"type" : "CUSTOM",
|
||||||
|
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : null,
|
||||||
|
"metadata" : {
|
||||||
|
"interceptorType" : "Spring MVC Interceptor"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-setter",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.SetterInjectionController",
|
||||||
|
"methodName" : "testSetter",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/SetterInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-setter",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/primary",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testPrimary",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/primary",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/named",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testNamed",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/named",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/qualifier",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testQualifier",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/qualifier",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/fallback",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testFallback",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/fallback",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-concrete",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController",
|
||||||
|
"methodName" : "testConcrete",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/ConcreteReturnTypeController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-concrete",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-field",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.FieldInjectionController",
|
||||||
|
"methodName" : "testField",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/FieldInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-field",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
}, {
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "GET /api/base/{id}",
|
"name" : "GET /api/base/{id}",
|
||||||
@@ -195,8 +471,128 @@
|
|||||||
"type" : "String",
|
"type" : "String",
|
||||||
"annotations" : [ "PathVariable" ]
|
"annotations" : [ "PathVariable" ]
|
||||||
} ]
|
} ]
|
||||||
|
}, {
|
||||||
|
"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" ]
|
||||||
|
} ]
|
||||||
} ],
|
} ],
|
||||||
"callChains" : [ {
|
"callChains" : [ {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/submit",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "submitOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/submit",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.SUBMIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processSubmit",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 20,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.SUBMIT_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.PROCESSING",
|
||||||
|
"event" : "String.SUBMIT_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/cancel",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "cancelOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/cancel",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.cancelOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processCancel" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.CANCEL_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processCancel",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.PROCESSING",
|
||||||
|
"lineNumber" : 25,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.CANCEL_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.PROCESSING",
|
||||||
|
"targetState" : "String.CANCELLED",
|
||||||
|
"event" : "String.CANCEL_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/finish",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/finish",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.finishOrder" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.FINISH",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.PROCESSING",
|
||||||
|
"lineNumber" : 34,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.PROCESSING",
|
||||||
|
"targetState" : "String.COMPLETED",
|
||||||
|
"event" : "String.FINISH"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/orders/resume",
|
"name" : "POST /api/orders/resume",
|
||||||
@@ -229,7 +625,368 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : "orderId",
|
"contextMachineId" : "orderId",
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : null
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/reactive",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "reactiveOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/reactive",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ {
|
||||||
|
"name" : "orderId",
|
||||||
|
"type" : "String",
|
||||||
|
"annotations" : [ ]
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.reactiveOrder", "click.kamil.examples.statemachine.extended.service.ReactiveOrderService.processReactive" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.REACTIVE_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||||
|
"methodName" : "processReactive",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 18,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.REACTIVE_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.PROCESSING",
|
||||||
|
"event" : "String.REACTIVE_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "CUSTOM",
|
||||||
|
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : null,
|
||||||
|
"metadata" : {
|
||||||
|
"interceptorType" : "Spring MVC Interceptor"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.AuditInterceptor.preHandle" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.AUDIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 16,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.START",
|
||||||
|
"event" : "String.AUDIT_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-setter",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.SetterInjectionController",
|
||||||
|
"methodName" : "testSetter",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/SetterInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-setter",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.SetterInjectionController.testSetter", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/primary",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testPrimary",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/primary",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testPrimary", "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/named",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testNamed",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/named",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testNamed", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/qualifier",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testQualifier",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/qualifier",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testQualifier", "click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/fallback",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testFallback",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/fallback",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testFallback", "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-concrete",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController",
|
||||||
|
"methodName" : "testConcrete",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/ConcreteReturnTypeController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-concrete",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController.testConcrete", "click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-field",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.FieldInjectionController",
|
||||||
|
"methodName" : "testField",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/FieldInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-field",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.FieldInjectionController.testField", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /api/base/{id}",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
|
||||||
|
"methodName" : "processBaseEndpoint",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/base/{id}",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ {
|
||||||
|
"name" : "id",
|
||||||
|
"type" : "String",
|
||||||
|
"annotations" : [ "PathVariable" ]
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.PaymentController.processBaseEndpoint", "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl.processPayment" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.AUTHORIZE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "processPayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 22,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"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" : "java.lang.String.CAPTURE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "capturePayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 35,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : "paymentId",
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -263,7 +1020,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : "paymentId",
|
"contextMachineId" : "paymentId",
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : null
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : {
|
"default" : {
|
||||||
|
|||||||
@@ -124,6 +124,97 @@
|
|||||||
"eventTypeFqn" : "String",
|
"eventTypeFqn" : "String",
|
||||||
"metadata" : {
|
"metadata" : {
|
||||||
"triggers" : [ {
|
"triggers" : [ {
|
||||||
|
"event" : "java.lang.String.FINISH",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 34,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.AUDIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 16,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.FALLBACK_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.FallbackQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/FallbackQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.PROFILED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ProfiledQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ProfiledQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.SUBMIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processSubmit",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 20,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.CANCEL_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processCancel",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 25,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
"event" : "[LIFECYCLE:RESTORE]",
|
"event" : "[LIFECYCLE:RESTORE]",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
"methodName" : "resumeOrder",
|
"methodName" : "resumeOrder",
|
||||||
@@ -136,6 +227,58 @@
|
|||||||
"external" : false,
|
"external" : false,
|
||||||
"constraint" : null,
|
"constraint" : null,
|
||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.AUTHORIZE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "processPayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 22,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.CAPTURE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "capturePayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 35,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
}, {
|
}, {
|
||||||
"event" : "[LIFECYCLE:RESTORE]",
|
"event" : "[LIFECYCLE:RESTORE]",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
@@ -149,8 +292,54 @@
|
|||||||
"external" : false,
|
"external" : false,
|
||||||
"constraint" : null,
|
"constraint" : null,
|
||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.REACTIVE_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||||
|
"methodName" : "processReactive",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 18,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
} ],
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/submit",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "submitOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/submit",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/cancel",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "cancelOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/cancel",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/finish",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/finish",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/orders/resume",
|
"name" : "POST /api/orders/resume",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
@@ -167,19 +356,106 @@
|
|||||||
} ]
|
} ]
|
||||||
}, {
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/payment/{id}/capture",
|
"name" : "POST /api/orders/reactive",
|
||||||
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
"methodName" : "capturePaymentEndpoint",
|
"methodName" : "reactiveOrder",
|
||||||
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
"metadata" : {
|
"metadata" : {
|
||||||
"path" : "/api/payment/{id}/capture",
|
"path" : "/api/orders/reactive",
|
||||||
"verb" : "POST"
|
"verb" : "POST"
|
||||||
},
|
},
|
||||||
"parameters" : [ {
|
"parameters" : [ {
|
||||||
"name" : "id",
|
"name" : "orderId",
|
||||||
"type" : "String",
|
"type" : "String",
|
||||||
"annotations" : [ "PathVariable" ]
|
"annotations" : [ ]
|
||||||
} ]
|
} ]
|
||||||
|
}, {
|
||||||
|
"type" : "CUSTOM",
|
||||||
|
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : null,
|
||||||
|
"metadata" : {
|
||||||
|
"interceptorType" : "Spring MVC Interceptor"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-setter",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.SetterInjectionController",
|
||||||
|
"methodName" : "testSetter",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/SetterInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-setter",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/primary",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testPrimary",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/primary",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/named",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testNamed",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/named",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/qualifier",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testQualifier",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/qualifier",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/fallback",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testFallback",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/fallback",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-concrete",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController",
|
||||||
|
"methodName" : "testConcrete",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/ConcreteReturnTypeController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-concrete",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
}, {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-field",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.FieldInjectionController",
|
||||||
|
"methodName" : "testField",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/FieldInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-field",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
}, {
|
}, {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "GET /api/base/{id}",
|
"name" : "GET /api/base/{id}",
|
||||||
@@ -195,8 +471,128 @@
|
|||||||
"type" : "String",
|
"type" : "String",
|
||||||
"annotations" : [ "PathVariable" ]
|
"annotations" : [ "PathVariable" ]
|
||||||
} ]
|
} ]
|
||||||
|
}, {
|
||||||
|
"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" ]
|
||||||
|
} ]
|
||||||
} ],
|
} ],
|
||||||
"callChains" : [ {
|
"callChains" : [ {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/submit",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "submitOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/submit",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.submitOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processSubmit" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.SUBMIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processSubmit",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 20,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.SUBMIT_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.PROCESSING",
|
||||||
|
"event" : "String.SUBMIT_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/cancel",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "cancelOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/cancel",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.cancelOrder", "click.kamil.examples.statemachine.extended.service.OrderService.processCancel" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.CANCEL_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.OrderService",
|
||||||
|
"methodName" : "processCancel",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/OrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.PROCESSING",
|
||||||
|
"lineNumber" : 25,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.CANCEL_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.PROCESSING",
|
||||||
|
"targetState" : "String.CANCELLED",
|
||||||
|
"event" : "String.CANCEL_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/finish",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/finish",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.finishOrder" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.FINISH",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "finishOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.PROCESSING",
|
||||||
|
"lineNumber" : 34,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.PROCESSING",
|
||||||
|
"targetState" : "String.COMPLETED",
|
||||||
|
"event" : "String.FINISH"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /api/orders/resume",
|
"name" : "POST /api/orders/resume",
|
||||||
@@ -229,7 +625,368 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : "orderId",
|
"contextMachineId" : "orderId",
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : null
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/orders/reactive",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.OrderController",
|
||||||
|
"methodName" : "reactiveOrder",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/OrderController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/orders/reactive",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ {
|
||||||
|
"name" : "orderId",
|
||||||
|
"type" : "String",
|
||||||
|
"annotations" : [ ]
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.reactiveOrder", "click.kamil.examples.statemachine.extended.service.ReactiveOrderService.processReactive" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.REACTIVE_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService",
|
||||||
|
"methodName" : "processReactive",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/ReactiveOrderService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 18,
|
||||||
|
"polymorphicEvents" : [ "java.lang.String.REACTIVE_EVENT" ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.PROCESSING",
|
||||||
|
"event" : "String.REACTIVE_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "CUSTOM",
|
||||||
|
"name" : "INTERCEPTOR: AuditInterceptor.preHandle",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : null,
|
||||||
|
"metadata" : {
|
||||||
|
"interceptorType" : "Spring MVC Interceptor"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.AuditInterceptor.preHandle" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.AUDIT_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor",
|
||||||
|
"methodName" : "preHandle",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/AuditInterceptor.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : "java.lang.String.START",
|
||||||
|
"lineNumber" : 16,
|
||||||
|
"polymorphicEvents" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : [ {
|
||||||
|
"sourceState" : "String.START",
|
||||||
|
"targetState" : "String.START",
|
||||||
|
"event" : "String.AUDIT_EVENT"
|
||||||
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-setter",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.SetterInjectionController",
|
||||||
|
"methodName" : "testSetter",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/SetterInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-setter",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.SetterInjectionController.testSetter", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/primary",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testPrimary",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/primary",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testPrimary", "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/named",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testNamed",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/named",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testNamed", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/qualifier",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testQualifier",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/qualifier",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testQualifier", "click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "POST /api/quirk/fallback",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.QuirkController",
|
||||||
|
"methodName" : "testFallback",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/QuirkController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/quirk/fallback",
|
||||||
|
"verb" : "POST"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.QuirkController.testFallback", "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.PRIMARY_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PrimaryQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PrimaryQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 19,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-concrete",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController",
|
||||||
|
"methodName" : "testConcrete",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/ConcreteReturnTypeController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-concrete",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.ConcreteReturnTypeController.testConcrete", "click.kamil.examples.statemachine.extended.service.QualifierQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.QUALIFIER_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.QualifierQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/QualifierQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /test-field",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.FieldInjectionController",
|
||||||
|
"methodName" : "testField",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/FieldInjectionController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/test-field",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.FieldInjectionController.testField", "click.kamil.examples.statemachine.extended.service.NamedQuirkService.doQuirk" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.NAMED_EVENT",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.NamedQuirkService",
|
||||||
|
"methodName" : "doQuirk",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/NamedQuirkService.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 17,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"entryPoint" : {
|
||||||
|
"type" : "REST",
|
||||||
|
"name" : "GET /api/base/{id}",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.web.PaymentController",
|
||||||
|
"methodName" : "processBaseEndpoint",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/web/PaymentController.java",
|
||||||
|
"metadata" : {
|
||||||
|
"path" : "/api/base/{id}",
|
||||||
|
"verb" : "GET"
|
||||||
|
},
|
||||||
|
"parameters" : [ {
|
||||||
|
"name" : "id",
|
||||||
|
"type" : "String",
|
||||||
|
"annotations" : [ "PathVariable" ]
|
||||||
|
} ]
|
||||||
|
},
|
||||||
|
"methodChain" : [ "click.kamil.examples.statemachine.extended.web.PaymentController.processBaseEndpoint", "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl.processPayment" ],
|
||||||
|
"triggerPoint" : {
|
||||||
|
"event" : "java.lang.String.AUTHORIZE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "processPayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 22,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : null,
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
|
}, {
|
||||||
|
"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" : "java.lang.String.CAPTURE",
|
||||||
|
"className" : "click.kamil.examples.statemachine.extended.service.PaymentServiceImpl",
|
||||||
|
"methodName" : "capturePayment",
|
||||||
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/extended/service/PaymentServiceImpl.java",
|
||||||
|
"sourceModule" : null,
|
||||||
|
"stateMachineId" : null,
|
||||||
|
"sourceState" : null,
|
||||||
|
"lineNumber" : 35,
|
||||||
|
"polymorphicEvents" : [ ],
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
},
|
||||||
|
"contextMachineId" : "paymentId",
|
||||||
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -263,7 +1020,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : "paymentId",
|
"contextMachineId" : "paymentId",
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : null
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : {
|
"default" : {
|
||||||
|
|||||||
@@ -91,7 +91,8 @@
|
|||||||
"sourceState" : "String.START",
|
"sourceState" : "String.START",
|
||||||
"targetState" : "String.WORKING",
|
"targetState" : "String.WORKING",
|
||||||
"event" : "String.INHERITED_SUBMIT"
|
"event" : "String.INHERITED_SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -59,7 +59,33 @@
|
|||||||
"stateTypeFqn" : "String",
|
"stateTypeFqn" : "String",
|
||||||
"eventTypeFqn" : "String",
|
"eventTypeFqn" : "String",
|
||||||
"metadata" : {
|
"metadata" : {
|
||||||
"triggers" : [ ],
|
"triggers" : [ {
|
||||||
|
"event" : "java.lang.String.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
|
||||||
|
}, {
|
||||||
|
"event" : "java.lang.String.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" : null,
|
||||||
|
"external" : false,
|
||||||
|
"constraint" : null,
|
||||||
|
"ambiguous" : false
|
||||||
|
} ],
|
||||||
"entryPoints" : [ {
|
"entryPoints" : [ {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
"name" : "POST /maven/orders/submit",
|
"name" : "POST /maven/orders/submit",
|
||||||
@@ -128,7 +154,8 @@
|
|||||||
"sourceState" : "String.INIT",
|
"sourceState" : "String.INIT",
|
||||||
"targetState" : "String.BUSY",
|
"targetState" : "String.BUSY",
|
||||||
"event" : "String.SUBMIT"
|
"event" : "String.SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "JMS",
|
"type" : "JMS",
|
||||||
@@ -166,7 +193,8 @@
|
|||||||
"sourceState" : "String.BUSY",
|
"sourceState" : "String.BUSY",
|
||||||
"targetState" : "String.DONE",
|
"targetState" : "String.DONE",
|
||||||
"event" : "String.ORDER_EVENT"
|
"event" : "String.ORDER_EVENT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -126,7 +126,8 @@
|
|||||||
"sourceState" : "String.NEW",
|
"sourceState" : "String.NEW",
|
||||||
"targetState" : "String.PROCESSING",
|
"targetState" : "String.PROCESSING",
|
||||||
"event" : "String.SUBMIT"
|
"event" : "String.SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -259,7 +259,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.NEW",
|
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
|
"targetState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
|
||||||
"event" : "click.kamil.enterprise.machines.order.OrderEvent.PAY"
|
"event" : "click.kamil.enterprise.machines.order.OrderEvent.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -297,7 +298,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
|
"sourceState" : "click.kamil.enterprise.machines.order.OrderState.PENDING",
|
||||||
"targetState" : "click.kamil.enterprise.machines.order.OrderState.SHIPPED",
|
"targetState" : "click.kamil.enterprise.machines.order.OrderState.SHIPPED",
|
||||||
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP"
|
"event" : "click.kamil.enterprise.machines.order.OrderEvent.SHIP"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -339,7 +341,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -381,7 +384,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -423,7 +427,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
@@ -299,7 +299,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -333,7 +334,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -367,7 +369,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -401,7 +404,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -435,7 +439,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -469,7 +474,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -503,7 +509,8 @@
|
|||||||
"ambiguous" : true
|
"ambiguous" : true
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "AMBIGUOUS_WIDEN"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -537,7 +544,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -571,7 +579,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.FULFILLED",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.FULFILL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -605,7 +614,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.CANCEL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -639,7 +649,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
"targetState" : "click.kamil.examples.statemachine.polymorphic.OrderStates.CANCELED",
|
||||||
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD"
|
"event" : "click.kamil.examples.statemachine.polymorphic.OrderEvents.ABCD"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -669,7 +680,8 @@
|
|||||||
"ambiguous" : true
|
"ambiguous" : true
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "AMBIGUOUS_WIDEN"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : {
|
"default" : {
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -213,7 +213,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -247,7 +248,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -281,7 +283,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -319,7 +322,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.DRAFT",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.SUBMIT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -357,7 +361,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.APPROVED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.APPROVE"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -395,7 +400,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
"sourceState" : "click.kamil.examples.statemachine.layered.document.DocumentState.SUBMITTED",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
|
"targetState" : "click.kamil.examples.statemachine.layered.document.DocumentState.REJECTED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
|
"event" : "click.kamil.examples.statemachine.layered.document.DocumentTransitionEvent.REJECT"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -257,7 +257,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -291,7 +292,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -325,7 +327,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -359,7 +362,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -393,7 +397,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -427,7 +432,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -461,7 +467,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -499,7 +506,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.PAY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -537,7 +545,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.SHIPPED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.SHIP"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -575,7 +584,8 @@
|
|||||||
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
"sourceState" : "click.kamil.examples.statemachine.layered.order.OrderState.PAID",
|
||||||
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
|
"targetState" : "click.kamil.examples.statemachine.layered.order.OrderState.CANCELLED",
|
||||||
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
|
"event" : "click.kamil.examples.statemachine.layered.order.OrderTransitionEvent.CANCEL"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
@@ -252,7 +252,8 @@
|
|||||||
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
||||||
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -286,7 +287,8 @@
|
|||||||
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
|
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
|
||||||
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
|
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
|
||||||
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
|
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -316,7 +318,8 @@
|
|||||||
"ambiguous" : true
|
"ambiguous" : true
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "AMBIGUOUS_WIDEN"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -350,7 +353,8 @@
|
|||||||
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
|
"sourceState" : "click.kamil.domain.OrderState.PROCESSING",
|
||||||
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
|
"targetState" : "click.kamil.domain.OrderState.COMPLETED",
|
||||||
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
|
"event" : "click.kamil.domain.OrderEvent.COMPLETE"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "RABBIT",
|
"type" : "RABBIT",
|
||||||
@@ -388,7 +392,8 @@
|
|||||||
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
||||||
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "JMS",
|
"type" : "JMS",
|
||||||
@@ -426,7 +431,8 @@
|
|||||||
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
"sourceState" : "click.kamil.domain.OrderState.NEW",
|
||||||
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
"targetState" : "click.kamil.domain.OrderState.PROCESSING",
|
||||||
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
"event" : "click.kamil.domain.OrderEvent.PROCESS"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "JMS",
|
"type" : "JMS",
|
||||||
@@ -460,7 +466,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -252,7 +252,8 @@
|
|||||||
"sourceState" : "click.kamil.enterprise.machines.user.UserState.REGISTERED",
|
"sourceState" : "click.kamil.enterprise.machines.user.UserState.REGISTERED",
|
||||||
"targetState" : "click.kamil.enterprise.machines.user.UserState.VERIFIED",
|
"targetState" : "click.kamil.enterprise.machines.user.UserState.VERIFIED",
|
||||||
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY"
|
"event" : "click.kamil.enterprise.machines.user.UserEvent.VERIFY"
|
||||||
} ]
|
} ],
|
||||||
|
"linkResolution" : "RESOLVED"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -286,7 +287,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "NO_MATCH"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -328,7 +330,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -370,7 +373,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
}, {
|
}, {
|
||||||
"entryPoint" : {
|
"entryPoint" : {
|
||||||
"type" : "REST",
|
"type" : "REST",
|
||||||
@@ -412,7 +416,8 @@
|
|||||||
"ambiguous" : false
|
"ambiguous" : false
|
||||||
},
|
},
|
||||||
"contextMachineId" : null,
|
"contextMachineId" : null,
|
||||||
"matchedTransitions" : null
|
"matchedTransitions" : null,
|
||||||
|
"linkResolution" : "UNRESOLVED_EXTERNAL"
|
||||||
} ],
|
} ],
|
||||||
"properties" : {
|
"properties" : {
|
||||||
"default" : { }
|
"default" : { }
|
||||||
|
|||||||
Reference in New Issue
Block a user