|
|
|
|
@@ -0,0 +1,639 @@
|
|
|
|
|
{
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"triggers" : [ {
|
|
|
|
|
"event" : "event",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : null
|
|
|
|
|
}, {
|
|
|
|
|
"event" : "payload",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processPayloadEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 17,
|
|
|
|
|
"polymorphicEvents" : null
|
|
|
|
|
}, {
|
|
|
|
|
"event" : "event",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processCustomEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 21,
|
|
|
|
|
"polymorphicEvents" : null
|
|
|
|
|
} ],
|
|
|
|
|
"entryPoints" : [ {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "pay",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /fulfill",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "fulfill",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/fulfill",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /cancel",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "cancel",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/cancel",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /payload-pay",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payloadPay",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/payload-pay",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-variable",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payVariable",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-variable",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-cast",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payCast",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-cast",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-ternary",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payTernary",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-ternary",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ {
|
|
|
|
|
"name" : "isPay",
|
|
|
|
|
"type" : "boolean",
|
|
|
|
|
"annotations" : [ ]
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-list",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payList",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-list",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-builder-static",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payBuilderStatic",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-builder-static",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-builder-instance",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payBuilderInstance",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-builder-instance",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /abcd",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "abcd",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/abcd",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /mystery",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "mystery",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/mystery",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
} ],
|
|
|
|
|
"callChains" : [ {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "pay",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.pay", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new PayEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.PAY" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /fulfill",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "fulfill",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/fulfill",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.fulfill", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new FulfillEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.FULFILL" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.FULFILLED",
|
|
|
|
|
"event" : "OrderEvents.FULFILL"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /cancel",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "cancel",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/cancel",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.cancel", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new CancelEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.CANCEL" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.CANCEL"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /payload-pay",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payloadPay",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/payload-pay",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payloadPay", "click.kamil.examples.statemachine.polymorphic.OrderService.processPayloadEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new PayEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processPayloadEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 17,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.PAY" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-variable",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payVariable",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-variable",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payVariable", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new PayEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.PAY" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-cast",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payCast",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-cast",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payCast", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "(BaseEvent)new PayEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.PAY" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-ternary",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payTernary",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-ternary",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ {
|
|
|
|
|
"name" : "isPay",
|
|
|
|
|
"type" : "boolean",
|
|
|
|
|
"annotations" : [ ]
|
|
|
|
|
} ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payTernary", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "isPay ? new PayEvent() : new CancelEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : null
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-list",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payList",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-list",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payList", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "event",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : null
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
}, {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.FULFILLED",
|
|
|
|
|
"event" : "OrderEvents.FULFILL"
|
|
|
|
|
}, {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.CANCEL"
|
|
|
|
|
}, {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.ABCD"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-builder-static",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payBuilderStatic",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-builder-static",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payBuilderStatic", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "EventBuilder.buildEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.FULFILL" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.FULFILLED",
|
|
|
|
|
"event" : "OrderEvents.FULFILL"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /pay-builder-instance",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "payBuilderInstance",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/pay-builder-instance",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.payBuilderInstance", "click.kamil.examples.statemachine.polymorphic.OrderService.processEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new EventBuilder().buildInstanceEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 13,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.CANCEL" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.CANCEL"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /abcd",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "abcd",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/abcd",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.abcd", "click.kamil.examples.statemachine.polymorphic.OrderService.processCustomEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new AbcdEvent()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processCustomEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 21,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.ABCD" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.ABCD"
|
|
|
|
|
} ]
|
|
|
|
|
}, {
|
|
|
|
|
"entryPoint" : {
|
|
|
|
|
"type" : "REST",
|
|
|
|
|
"name" : "POST /mystery",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.PolymorphicController",
|
|
|
|
|
"methodName" : "mystery",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/PolymorphicController.java",
|
|
|
|
|
"metadata" : {
|
|
|
|
|
"path" : "/mystery",
|
|
|
|
|
"verb" : "POST"
|
|
|
|
|
},
|
|
|
|
|
"parameters" : [ ]
|
|
|
|
|
},
|
|
|
|
|
"methodChain" : [ "click.kamil.examples.statemachine.polymorphic.PolymorphicController.mystery", "click.kamil.examples.statemachine.polymorphic.OrderService.processCustomEvent" ],
|
|
|
|
|
"triggerPoint" : {
|
|
|
|
|
"event" : "new MysteryPayload()",
|
|
|
|
|
"className" : "click.kamil.examples.statemachine.polymorphic.OrderService",
|
|
|
|
|
"methodName" : "processCustomEvent",
|
|
|
|
|
"sourceFile" : "src/main/java/click/kamil/examples/statemachine/polymorphic/OrderService.java",
|
|
|
|
|
"sourceModule" : null,
|
|
|
|
|
"stateMachineId" : null,
|
|
|
|
|
"sourceState" : null,
|
|
|
|
|
"lineNumber" : 21,
|
|
|
|
|
"polymorphicEvents" : [ "OrderEvents.ABCD", "OrderEvents.PAY" ]
|
|
|
|
|
},
|
|
|
|
|
"contextMachineId" : null,
|
|
|
|
|
"matchedTransitions" : [ {
|
|
|
|
|
"sourceState" : "OrderStates.SUBMITTED",
|
|
|
|
|
"targetState" : "OrderStates.PAID",
|
|
|
|
|
"event" : "OrderEvents.PAY"
|
|
|
|
|
}, {
|
|
|
|
|
"sourceState" : "OrderStates.PAID",
|
|
|
|
|
"targetState" : "OrderStates.CANCELED",
|
|
|
|
|
"event" : "OrderEvents.ABCD"
|
|
|
|
|
} ]
|
|
|
|
|
} ],
|
|
|
|
|
"properties" : {
|
|
|
|
|
"default" : {
|
|
|
|
|
"spring.application.name" : "statemachinedemo"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"name" : "click.kamil.examples.statemachine.polymorphic.PolymorphicStateMachineConfiguration",
|
|
|
|
|
"renderChoicesAsDiamonds" : true,
|
|
|
|
|
"startStates" : [ "OrderStates.SUBMITTED" ],
|
|
|
|
|
"transitions" : [ {
|
|
|
|
|
"type" : "EXTERNAL",
|
|
|
|
|
"sourceStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.SUBMITTED",
|
|
|
|
|
"fullIdentifier" : "OrderStates.SUBMITTED"
|
|
|
|
|
} ],
|
|
|
|
|
"targetStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.PAID",
|
|
|
|
|
"fullIdentifier" : "OrderStates.PAID"
|
|
|
|
|
} ],
|
|
|
|
|
"event" : {
|
|
|
|
|
"rawName" : "OrderEvents.PAY",
|
|
|
|
|
"fullIdentifier" : "OrderEvents.PAY"
|
|
|
|
|
},
|
|
|
|
|
"guard" : null,
|
|
|
|
|
"actions" : [ ],
|
|
|
|
|
"order" : null
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "EXTERNAL",
|
|
|
|
|
"sourceStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.PAID",
|
|
|
|
|
"fullIdentifier" : "OrderStates.PAID"
|
|
|
|
|
} ],
|
|
|
|
|
"targetStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.FULFILLED",
|
|
|
|
|
"fullIdentifier" : "OrderStates.FULFILLED"
|
|
|
|
|
} ],
|
|
|
|
|
"event" : {
|
|
|
|
|
"rawName" : "OrderEvents.FULFILL",
|
|
|
|
|
"fullIdentifier" : "OrderEvents.FULFILL"
|
|
|
|
|
},
|
|
|
|
|
"guard" : null,
|
|
|
|
|
"actions" : [ ],
|
|
|
|
|
"order" : null
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "EXTERNAL",
|
|
|
|
|
"sourceStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.SUBMITTED",
|
|
|
|
|
"fullIdentifier" : "OrderStates.SUBMITTED"
|
|
|
|
|
} ],
|
|
|
|
|
"targetStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.CANCELED",
|
|
|
|
|
"fullIdentifier" : "OrderStates.CANCELED"
|
|
|
|
|
} ],
|
|
|
|
|
"event" : {
|
|
|
|
|
"rawName" : "OrderEvents.CANCEL",
|
|
|
|
|
"fullIdentifier" : "OrderEvents.CANCEL"
|
|
|
|
|
},
|
|
|
|
|
"guard" : null,
|
|
|
|
|
"actions" : [ ],
|
|
|
|
|
"order" : null
|
|
|
|
|
}, {
|
|
|
|
|
"type" : "EXTERNAL",
|
|
|
|
|
"sourceStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.PAID",
|
|
|
|
|
"fullIdentifier" : "OrderStates.PAID"
|
|
|
|
|
} ],
|
|
|
|
|
"targetStates" : [ {
|
|
|
|
|
"rawName" : "OrderStates.CANCELED",
|
|
|
|
|
"fullIdentifier" : "OrderStates.CANCELED"
|
|
|
|
|
} ],
|
|
|
|
|
"event" : {
|
|
|
|
|
"rawName" : "OrderEvents.ABCD",
|
|
|
|
|
"fullIdentifier" : "OrderEvents.ABCD"
|
|
|
|
|
},
|
|
|
|
|
"guard" : null,
|
|
|
|
|
"actions" : [ ],
|
|
|
|
|
"order" : null
|
|
|
|
|
} ],
|
|
|
|
|
"endStates" : [ "OrderStates.CANCELED", "OrderStates.FULFILLED" ]
|
|
|
|
|
}
|