{ "metadata" : { "triggers" : [ { "event" : "FINISH", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "finishOrder", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 34 }, { "event" : "AUDIT_EVENT", "className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor", "methodName" : "preHandle", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 16 }, { "event" : "EXTERNAL_TRIGGER", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processSubmit", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 19 }, { "event" : "SUBMIT_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processSubmit", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 20 }, { "event" : "CANCEL_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processCancel", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 25 }, { "event" : "[LIFECYCLE:RESTORE]", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "resumeOrder", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 29 }, { "event" : "REACTIVE_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService", "methodName" : "processReactive", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 18 } ], "entryPoints" : [ { "type" : "REST", "name" : "POST /api/orders/submit", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "submitOrder", "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", "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", "metadata" : { "path" : "/api/orders/finish", "verb" : "POST" }, "parameters" : [ ] }, { "type" : "REST", "name" : "POST /api/orders/resume", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "resumeOrder", "metadata" : { "path" : "/api/orders/resume", "verb" : "POST" }, "parameters" : [ { "name" : "orderId", "type" : "String", "annotations" : [ ] } ] }, { "type" : "REST", "name" : "POST /api/orders/reactive", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "reactiveOrder", "metadata" : { "path" : "/api/orders/reactive", "verb" : "POST" }, "parameters" : [ { "name" : "orderId", "type" : "String", "annotations" : [ ] } ] }, { "type" : "CUSTOM", "name" : "INTERCEPTOR: AuditInterceptor.preHandle", "className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor", "methodName" : "preHandle", "metadata" : { "interceptorType" : "Spring MVC Interceptor" }, "parameters" : [ ] } ], "callChains" : [ { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/submit", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "submitOrder", "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" : "EXTERNAL_TRIGGER", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processSubmit", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 19 } }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/submit", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "submitOrder", "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" : "SUBMIT_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processSubmit", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 20 } }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/cancel", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "cancelOrder", "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" : "CANCEL_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "processCancel", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 25 } }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/finish", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "finishOrder", "metadata" : { "path" : "/api/orders/finish", "verb" : "POST" }, "parameters" : [ ] }, "methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.finishOrder" ], "triggerPoint" : { "event" : "FINISH", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "finishOrder", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 34 } }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/resume", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "resumeOrder", "metadata" : { "path" : "/api/orders/resume", "verb" : "POST" }, "parameters" : [ { "name" : "orderId", "type" : "String", "annotations" : [ ] } ] }, "methodChain" : [ "click.kamil.examples.statemachine.extended.web.OrderController.resumeOrder", "click.kamil.examples.statemachine.extended.service.OrderService.resumeOrder" ], "triggerPoint" : { "event" : "[LIFECYCLE:RESTORE]", "className" : "click.kamil.examples.statemachine.extended.service.OrderService", "methodName" : "resumeOrder", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 29 } }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/reactive", "className" : "click.kamil.examples.statemachine.extended.web.OrderController", "methodName" : "reactiveOrder", "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" : "REACTIVE_EVENT", "className" : "click.kamil.examples.statemachine.extended.service.ReactiveOrderService", "methodName" : "processReactive", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 18 } }, { "entryPoint" : { "type" : "CUSTOM", "name" : "INTERCEPTOR: AuditInterceptor.preHandle", "className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor", "methodName" : "preHandle", "metadata" : { "interceptorType" : "Spring MVC Interceptor" }, "parameters" : [ ] }, "methodChain" : [ "click.kamil.examples.statemachine.extended.web.AuditInterceptor.preHandle" ], "triggerPoint" : { "event" : "AUDIT_EVENT", "className" : "click.kamil.examples.statemachine.extended.web.AuditInterceptor", "methodName" : "preHandle", "sourceModule" : null, "stateMachineId" : null, "lineNumber" : 16 } } ], "properties" : { "default" : { "app.states.initial" : "INIT_STATE" }, "prod" : { "app.states.initial" : "PROD_INITIAL" } } }, "name" : "click.kamil.examples.statemachine.extended.config.ExtendedStateMachineConfig", "renderChoicesAsDiamonds" : true, "startStates" : [ "${app.states.initial:START}" ], "transitions" : [ { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"START\"", "fullIdentifier" : "START" } ], "targetStates" : [ { "rawName" : "\"PROCESSING\"", "fullIdentifier" : "PROCESSING" } ], "event" : "SUBMIT_EVENT", "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"PROCESSING\"", "fullIdentifier" : "PROCESSING" } ], "targetStates" : [ { "rawName" : "\"COMPLETED\"", "fullIdentifier" : "COMPLETED" } ], "event" : "FINISH", "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"PROCESSING\"", "fullIdentifier" : "PROCESSING" } ], "targetStates" : [ { "rawName" : "\"CANCELLED\"", "fullIdentifier" : "CANCELLED" } ], "event" : "CANCEL_EVENT", "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"START\"", "fullIdentifier" : "START" } ], "targetStates" : [ { "rawName" : "\"PROCESSING\"", "fullIdentifier" : "PROCESSING" } ], "event" : "REACTIVE_EVENT", "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"START\"", "fullIdentifier" : "START" } ], "targetStates" : [ { "rawName" : "\"START\"", "fullIdentifier" : "START" } ], "event" : "AUDIT_EVENT", "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "\"START\"", "fullIdentifier" : "START" } ], "targetStates" : [ { "rawName" : "\"PROCESSING\"", "fullIdentifier" : "PROCESSING" } ], "event" : "EXTERNAL_TRIGGER", "guard" : null, "actions" : [ ], "order" : null } ], "endStates" : [ "CANCELLED", "COMPLETED" ] }