{
  "metadata" : {
    "triggers" : [ {
      "event" : "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,
      "lineNumber" : 40
    }, {
      "event" : "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,
      "lineNumber" : 52
    } ],
    "entryPoints" : [ {
      "type" : "REST",
      "name" : "POST /maven/orders/submit",
      "className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
      "methodName" : "submitOrder",
      "sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
      "metadata" : {
        "path" : "/maven/orders/submit",
        "verb" : "POST"
      },
      "parameters" : [ {
        "name" : "orderId",
        "type" : "String",
        "annotations" : [ "RequestBody" ]
      } ]
    }, {
      "type" : "REST",
      "name" : "POST /reactive/order",
      "className" : "click.kamil.maven.api.ReactiveOrderApi",
      "methodName" : "orderRoutes",
      "sourceFile" : "api-module/src/main/java/click/kamil/maven/api/ReactiveOrderApi.java",
      "metadata" : {
        "path" : "/reactive/order",
        "verb" : "POST",
        "style" : "WebFlux Functional"
      },
      "parameters" : [ ]
    }, {
      "type" : "REST",
      "name" : "POST /maven/orders/submit",
      "className" : "click.kamil.maven.api.MavenOrderApi",
      "methodName" : "submitOrder",
      "sourceFile" : "api-module/src/main/java/click/kamil/maven/api/MavenOrderApi.java",
      "metadata" : {
        "path" : "/maven/orders/submit",
        "verb" : "POST"
      },
      "parameters" : [ {
        "name" : "orderId",
        "type" : "String",
        "annotations" : [ "RequestBody" ]
      } ]
    }, {
      "type" : "JMS",
      "name" : "JMS: order.queue",
      "className" : "click.kamil.maven.api.JmsOrderListener",
      "methodName" : "onMessage",
      "sourceFile" : null,
      "metadata" : {
        "protocol" : "JMS",
        "destination" : "order.queue"
      },
      "parameters" : [ {
        "name" : "message",
        "type" : "String",
        "annotations" : [ ]
      } ]
    } ],
    "callChains" : [ {
      "entryPoint" : {
        "type" : "REST",
        "name" : "POST /maven/orders/submit",
        "className" : "click.kamil.maven.core.MavenOrderStateMachine.OrderController",
        "methodName" : "submitOrder",
        "sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java",
        "metadata" : {
          "path" : "/maven/orders/submit",
          "verb" : "POST"
        },
        "parameters" : [ {
          "name" : "orderId",
          "type" : "String",
          "annotations" : [ "RequestBody" ]
        } ]
      },
      "methodChain" : [ "click.kamil.maven.core.MavenOrderStateMachine.OrderController.submitOrder" ],
      "triggerPoint" : {
        "event" : "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,
        "lineNumber" : 40
      }
    } ],
    "properties" : {
      "default" : { }
    }
  },
  "name" : "click.kamil.maven.core.MavenOrderStateMachine",
  "renderChoicesAsDiamonds" : true,
  "startStates" : [ "INIT" ],
  "transitions" : [ {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "\"INIT\"",
      "fullIdentifier" : "INIT"
    } ],
    "targetStates" : [ {
      "rawName" : "\"BUSY\"",
      "fullIdentifier" : "BUSY"
    } ],
    "event" : "SUBMIT",
    "guard" : null,
    "actions" : [ {
      "expression" : "loggingAction()",
      "isLambda" : false,
      "internalLogic" : "context -> {\n  System.out.println(\"LOG: State transition in progress...\");\n}\n",
      "lineNumber" : 25,
      "className" : "click.kamil.maven.core.MavenOrderStateMachine",
      "sourceFile" : "core-module/src/main/java/click/kamil/maven/core/MavenOrderStateMachine.java"
    } ],
    "order" : null
  }, {
    "type" : "EXTERNAL",
    "sourceStates" : [ {
      "rawName" : "\"BUSY\"",
      "fullIdentifier" : "BUSY"
    } ],
    "targetStates" : [ {
      "rawName" : "\"DONE\"",
      "fullIdentifier" : "DONE"
    } ],
    "event" : "ORDER_EVENT",
    "guard" : null,
    "actions" : [ ],
    "order" : null
  } ],
  "endStates" : [ "DONE" ]
}
