{ "metadata" : { "triggers" : [ { "event" : "event", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessage", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 25 }, { "event" : "eventProvider", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessageWithProvider", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 50 } ], "entryPoints" : [ { "type" : "REST", "name" : "POST /api/orders/process", "className" : "click.kamil.web.OrderController", "methodName" : "processOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/process", "verb" : "POST" }, "parameters" : [ ] }, { "type" : "REST", "name" : "POST /api/orders/complete", "className" : "click.kamil.web.OrderController", "methodName" : "completeOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/complete", "verb" : "POST" }, "parameters" : [ ] }, { "type" : "REST", "name" : "POST /api/orders/cancel", "className" : "click.kamil.web.OrderController", "methodName" : "cancelOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/cancel", "verb" : "POST" }, "parameters" : [ ] }, { "type" : "JMS", "name" : "JMS: order.process.queue", "className" : "click.kamil.web.JmsOrderListener", "methodName" : "receiveProcessCommand", "sourceFile" : "web/src/main/java/click/kamil/web/JmsOrderListener.java", "metadata" : { "protocol" : "JMS", "destination" : "order.process.queue" }, "parameters" : [ { "name" : "message", "type" : "String", "annotations" : [ ] } ] }, { "type" : "JMS", "name" : "JMS: order.cancel.queue", "className" : "click.kamil.web.JmsOrderListener", "methodName" : "receiveCancelCommand", "sourceFile" : "web/src/main/java/click/kamil/web/JmsOrderListener.java", "metadata" : { "protocol" : "JMS", "destination" : "order.cancel.queue" }, "parameters" : [ { "name" : "message", "type" : "String", "annotations" : [ ] } ] } ], "callChains" : [ { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/process", "className" : "click.kamil.web.OrderController", "methodName" : "processOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/process", "verb" : "POST" }, "parameters" : [ ] }, "methodChain" : [ "click.kamil.web.OrderController.processOrder", "click.kamil.service.StateMachineServiceImpl.sendMessageWithOutbox", "click.kamil.service.StateMachineServiceImpl.sendMessage" ], "triggerPoint" : { "event" : "OrderEvent.PROCESS", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessage", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 25 }, "contextMachineId" : null, "matchedTransitions" : [ { "sourceState" : "OrderState.NEW", "targetState" : "OrderState.PROCESSING", "event" : "OrderEvent.PROCESS" } ] }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/complete", "className" : "click.kamil.web.OrderController", "methodName" : "completeOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/complete", "verb" : "POST" }, "parameters" : [ ] }, "methodChain" : [ "click.kamil.web.OrderController.completeOrder", "click.kamil.service.StateMachineServiceImpl.sendMessage" ], "triggerPoint" : { "event" : "OrderEvent.COMPLETE", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessage", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 25 }, "contextMachineId" : null, "matchedTransitions" : [ { "sourceState" : "OrderState.PROCESSING", "targetState" : "OrderState.COMPLETED", "event" : "OrderEvent.COMPLETE" } ] }, { "entryPoint" : { "type" : "REST", "name" : "POST /api/orders/cancel", "className" : "click.kamil.web.OrderController", "methodName" : "cancelOrder", "sourceFile" : "web/src/main/java/click/kamil/web/OrderController.java", "metadata" : { "path" : "/api/orders/cancel", "verb" : "POST" }, "parameters" : [ ] }, "methodChain" : [ "click.kamil.web.OrderController.cancelOrder", "click.kamil.service.StateMachineServiceImpl.sendMessage" ], "triggerPoint" : { "event" : "OrderEvent.CANCEL", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessage", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 25 }, "contextMachineId" : null, "matchedTransitions" : [ { "sourceState" : "OrderState.NEW", "targetState" : "OrderState.CANCELLED", "event" : "OrderEvent.CANCEL" }, { "sourceState" : "OrderState.PROCESSING", "targetState" : "OrderState.CANCELLED", "event" : "OrderEvent.CANCEL" } ] }, { "entryPoint" : { "type" : "JMS", "name" : "JMS: order.process.queue", "className" : "click.kamil.web.JmsOrderListener", "methodName" : "receiveProcessCommand", "sourceFile" : "web/src/main/java/click/kamil/web/JmsOrderListener.java", "metadata" : { "protocol" : "JMS", "destination" : "order.process.queue" }, "parameters" : [ { "name" : "message", "type" : "String", "annotations" : [ ] } ] }, "methodChain" : [ "click.kamil.web.JmsOrderListener.receiveProcessCommand", "click.kamil.service.StateMachineServiceImpl.sendMessageWithOutbox", "click.kamil.service.StateMachineServiceImpl.sendMessage" ], "triggerPoint" : { "event" : "OrderEvent.PROCESS", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessage", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 25 }, "contextMachineId" : null, "matchedTransitions" : [ { "sourceState" : "OrderState.NEW", "targetState" : "OrderState.PROCESSING", "event" : "OrderEvent.PROCESS" } ] }, { "entryPoint" : { "type" : "JMS", "name" : "JMS: order.cancel.queue", "className" : "click.kamil.web.JmsOrderListener", "methodName" : "receiveCancelCommand", "sourceFile" : "web/src/main/java/click/kamil/web/JmsOrderListener.java", "metadata" : { "protocol" : "JMS", "destination" : "order.cancel.queue" }, "parameters" : [ { "name" : "message", "type" : "String", "annotations" : [ ] } ] }, "methodChain" : [ "click.kamil.web.JmsOrderListener.receiveCancelCommand", "click.kamil.service.StateMachineServiceImpl.sendMessageWithProvider" ], "triggerPoint" : { "event" : "OrderEvent.CANCEL", "className" : "click.kamil.service.StateMachineServiceImpl", "methodName" : "sendMessageWithProvider", "sourceFile" : "service/src/main/java/click/kamil/service/StateMachineServiceImpl.java", "sourceModule" : null, "stateMachineId" : null, "sourceState" : null, "lineNumber" : 50 }, "contextMachineId" : null, "matchedTransitions" : [ { "sourceState" : "OrderState.NEW", "targetState" : "OrderState.CANCELLED", "event" : "OrderEvent.CANCEL" }, { "sourceState" : "OrderState.PROCESSING", "targetState" : "OrderState.CANCELLED", "event" : "OrderEvent.CANCEL" } ] } ], "properties" : { "default" : { } } }, "name" : "click.kamil.domain.StateMachineConfig", "renderChoicesAsDiamonds" : true, "startStates" : [ "OrderState.NEW" ], "transitions" : [ { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "OrderState.NEW", "fullIdentifier" : "OrderState.NEW" } ], "targetStates" : [ { "rawName" : "OrderState.PROCESSING", "fullIdentifier" : "OrderState.PROCESSING" } ], "event" : { "rawName" : "OrderEvent.PROCESS", "fullIdentifier" : "OrderEvent.PROCESS" }, "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "OrderState.PROCESSING", "fullIdentifier" : "OrderState.PROCESSING" } ], "targetStates" : [ { "rawName" : "OrderState.COMPLETED", "fullIdentifier" : "OrderState.COMPLETED" } ], "event" : { "rawName" : "OrderEvent.COMPLETE", "fullIdentifier" : "OrderEvent.COMPLETE" }, "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "OrderState.NEW", "fullIdentifier" : "OrderState.NEW" } ], "targetStates" : [ { "rawName" : "OrderState.CANCELLED", "fullIdentifier" : "OrderState.CANCELLED" } ], "event" : { "rawName" : "OrderEvent.CANCEL", "fullIdentifier" : "OrderEvent.CANCEL" }, "guard" : null, "actions" : [ ], "order" : null }, { "type" : "EXTERNAL", "sourceStates" : [ { "rawName" : "OrderState.PROCESSING", "fullIdentifier" : "OrderState.PROCESSING" } ], "targetStates" : [ { "rawName" : "OrderState.CANCELLED", "fullIdentifier" : "OrderState.CANCELLED" } ], "event" : { "rawName" : "OrderEvent.CANCEL", "fullIdentifier" : "OrderEvent.CANCEL" }, "guard" : null, "actions" : [ ], "order" : null } ], "endStates" : [ "OrderState.COMPLETED", "OrderState.CANCELLED" ] }