TheOpenCloudEngine / uEngine5-base

uEngine5 BPMS that totally re-written in Microservices architecture. uEngine5 can act as not only a conventional Workflow or BPMS but also as a REST api orchestrator or a BPaaS (Business process as a service) of members of OCE's MSA components.
MIT License
10 stars 13 forks source link

bpmn course management 예제 만들기 #102

Open jinyoung opened 6 years ago

jinyoung commented 6 years ago

image

  1. 우선

cloud.pas-mini.io 에서 다음의 서비스들을 체크함:

테스트 스크립트는 아래와 같음:

 http localhost:8080/courses title="SOA 실습과정" duration=5 maxEnrollment=5 minEnrollment=1  #과정등록
 http localhost:8080/clazzes course="http://localhost:8080/courses/1"  #해당 과정의 클래스 등록
 http localhost:8080/customers firstName="진영" lastName="장"  #수강생 회원 등록

 http localhost:8080/courses/search/findByTitleContaining title=="SOA" # 강의검색
 http localhost:8080/enrollments clazz="http://localhost:8080/clazzes/2" customer="http://localhost:8080/customers/3"  #수강 예약

 http "http://localhost:8080/customers/3/enrollments" #수강 목록 조회
 http PATCH "http://localhost:8080/enrollments/4" status="approved"  #수강 승인
jinyoung commented 6 years ago

프로세스

image

변수선언

image

정의 파일

{
  "definition": {
    "_type": "org.uengine.kernel.ProcessDefinition",
    "name": {
      "text": "Course Enrollment"
    },
    "retryDelay": 60,
    "isDynamicChangeAllowed": true,
    "childActivities": [
      "java.util.ArrayList",
      [
        {
          "_type": "org.uengine.kernel.bpmn.StartEvent",
          "name": {},
          "tracingTag": "1",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "1",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 264,
            "y": 176,
            "width": 30,
            "height": 30,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5,\"cursor\":\"move\"}"
          },
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.HumanActivity",
          "name": {
            "text": "Search Course",
            "localedTexts": {
              "_type": "java.util.HashMap",
              "ko": "Search Course"
            }
          },
          "description": {},
          "tracingTag": "2",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "2",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 385,
            "y": 175,
            "width": 100,
            "height": 70,
            "style": "{\"stroke\":\"black\",\"fill-r\":1,\"fill-cx\":0.1,\"fill-cy\":0.1,\"fill\":\"#FFFFFF\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.2,\"r\":\"10\",\"cursor\":\"move\"}"
          },
          "parameters": [
            {
              "argument": {
                "text": "검색어"
              },
              "variable": {
                "name": "courseTitle",
                "displayName": {},
                "type": "java.lang.String",
                "typeClassName": "java.lang.String",
                "defaultValue": ""
              },
              "direction": "OUT"
            }
          ],
          "role": {
            "name": "Customer",
            "askWhenInit": true,
            "displayName": {},
            "elementView": {
              "id": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
              "x": 706,
              "y": 185,
              "width": 1028,
              "height": 200,
              "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"#ffffff\",\"fill-opacity\":0,\"label-position\":\"center\",\"label-direction\":\"vertical\",\"vertical-align\":\"top\",\"cursor\":\"move\"}"
            }
          },
          "tool": "defaultHandler",
          "isSendEmailWorkitem": true,
          "isAllowAnonymous": true,
          "duration": 5,
          "instruction": {},
          "keyword": {},
          "sendEmailWorkitem": true,
          "allowAnonymous": true,
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateCatchEvent",
          "name": {},
          "tracingTag": "3",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "3",
            "parent": "a7b3b3af-aa3b-5f87-5337-d7084081feb5",
            "x": 506,
            "y": 380,
            "width": 30,
            "height": 30,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5,\"cursor\":\"move\"}"
          },
          "dataOutput": {
            "displayName": {},
            "defaultValue": ""
          },
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateThrowEvent",
          "name": {
            "text": "search courses"
          },
          "tracingTag": "4",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "4",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 506,
            "y": 176,
            "width": 28,
            "height": 28,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5,\"cursor\":\"move\"}"
          },
          "role": {
            "name": "CLASS-MGMT-MONOLITHIC",
            "askWhenInit": true,
            "displayName": {}
          },
          "uriTemplate": "/courses/search/findByTitleContaining?title=<%=courseTitle%>",
          "inputPayloadTemplate": "{\n  \"customer\": \"http://localhost:8080/customers/1\",\n  \"clazz\": \"http://localhost:8080/class-mgmt-monolithic/2\"\n}",
          "method": "GET",
          "outputMapping": [
            {
              "argument": {
                "text": "$._embedded.courses"
              },
              "variable": {
                "name": "courses",
                "displayName": {},
                "defaultValue": ""
              },
              "direction": "OUT"
            }
          ],
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.HumanActivity",
          "name": {
            "text": "Select Course",
            "localedTexts": {
              "_type": "java.util.HashMap",
              "ko": "Select Course"
            }
          },
          "description": {},
          "tracingTag": "5",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "5",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 634,
            "y": 174,
            "width": 100,
            "height": 70,
            "style": "{\"stroke\":\"black\",\"fill-r\":1,\"fill-cx\":0.1,\"fill-cy\":0.1,\"fill\":\"#FFFFFF\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.2,\"r\":\"10\"}"
          },
          "parameters": [
            {
              "argument": {
                "text": "search results"
              },
              "variable": {
                "name": "courses",
                "displayName": {},
                "type": "java.lang.String",
                "typeClassName": "java.lang.String",
                "defaultValue": ""
              },
              "direction": "IN"
            },
            {
              "argument": {
                "text": "select number"
              },
              "variable": {
                "name": "choice",
                "displayName": {},
                "type": "java.lang.String",
                "typeClassName": "java.lang.String",
                "defaultValue": ""
              },
              "direction": "OUT"
            }
          ],
          "role": {
            "name": "Customer",
            "askWhenInit": true,
            "displayName": {},
            "elementView": {
              "id": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
              "x": 706,
              "y": 185,
              "width": 1028,
              "height": 200,
              "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"#ffffff\",\"fill-opacity\":0,\"label-position\":\"center\",\"label-direction\":\"vertical\",\"vertical-align\":\"top\",\"cursor\":\"move\"}"
            }
          },
          "tool": "defaultHandler",
          "isSendEmailWorkitem": true,
          "isAllowAnonymous": true,
          "duration": 5,
          "instruction": {},
          "keyword": {},
          "sendEmailWorkitem": true,
          "allowAnonymous": true,
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateThrowEvent",
          "name": {
            "text": "get classes"
          },
          "tracingTag": "6",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "6",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 780,
            "y": 175,
            "width": 28,
            "height": 28,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5}"
          },
          "role": {
            "name": "CLASS-MGMT-MONOLITHIC",
            "askWhenInit": true,
            "displayName": {}
          },
          "uriTemplate": "/courses/<%=courses[choice]._links.self.href%>/clazzes",
          "method": "GET",
          "outputMapping": [
            {
              "argument": {
                "text": "$._embedded.clazzes"
              },
              "variable": {
                "name": "classes",
                "displayName": {},
                "defaultValue": ""
              },
              "direction": "OUT"
            }
          ],
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateCatchEvent",
          "name": {},
          "tracingTag": "7",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "7",
            "parent": "a7b3b3af-aa3b-5f87-5337-d7084081feb5",
            "x": 780,
            "y": 380,
            "width": 30,
            "height": 30,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5}"
          },
          "dataOutput": {
            "displayName": {},
            "defaultValue": ""
          },
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.HumanActivity",
          "name": {
            "text": "Select Class",
            "localedTexts": {
              "_type": "java.util.HashMap",
              "ko": "Select Class"
            }
          },
          "description": {},
          "tracingTag": "8",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "8",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 900,
            "y": 177,
            "width": 100,
            "height": 70,
            "style": "{\"stroke\":\"black\",\"fill-r\":1,\"fill-cx\":0.1,\"fill-cy\":0.1,\"fill\":\"#FFFFFF\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.2,\"r\":\"10\"}"
          },
          "parameters": [
            {
              "argument": {
                "text": "Classes for the course"
              },
              "variable": {
                "name": "classes",
                "displayName": {},
                "type": "java.lang.String",
                "typeClassName": "java.lang.String",
                "defaultValue": ""
              },
              "direction": "IN"
            },
            {
              "argument": {
                "text": "Choose class"
              },
              "variable": {
                "name": "choice",
                "displayName": {},
                "type": "java.lang.String",
                "typeClassName": "java.lang.String",
                "defaultValue": ""
              },
              "direction": "OUT"
            }
          ],
          "role": {
            "name": "Customer",
            "askWhenInit": true,
            "displayName": {},
            "elementView": {
              "id": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
              "x": 706,
              "y": 185,
              "width": 1028,
              "height": 200,
              "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"#ffffff\",\"fill-opacity\":0,\"label-position\":\"center\",\"label-direction\":\"vertical\",\"vertical-align\":\"top\",\"cursor\":\"move\"}"
            }
          },
          "tool": "defaultHandler",
          "isSendEmailWorkitem": true,
          "isAllowAnonymous": true,
          "duration": 5,
          "instruction": {},
          "keyword": {},
          "sendEmailWorkitem": true,
          "allowAnonymous": true,
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateThrowEvent",
          "name": {
            "text": "enroll the class"
          },
          "tracingTag": "10",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "10",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 1042,
            "y": 177,
            "width": 28,
            "height": 28,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5}"
          },
          "role": {
            "name": "CLASS-MGMT-MONOLITHIC",
            "askWhenInit": true,
            "displayName": {}
          },
          "uriTemplate": "/enrollments",
          "inputPayloadTemplate": "{\n  \"customer\": \"http://localhost:8080/customers/1\",\n  \"clazz\": \"<%=classes[choice]._links.self.href%>\"\n}",
          "method": "POST",
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.MessageIntermediateCatchEvent",
          "name": {},
          "tracingTag": "11",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "11",
            "parent": "a7b3b3af-aa3b-5f87-5337-d7084081feb5",
            "x": 1045,
            "y": 382,
            "width": 30,
            "height": 30,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"label-width\":120,\"stroke-width\":1.5}"
          },
          "dataOutput": {
            "displayName": {},
            "defaultValue": ""
          },
          "dynamicChangeAllowed": true
        },
        {
          "_type": "org.uengine.kernel.bpmn.EndEvent",
          "name": {},
          "tracingTag": "12",
          "retryDelay": 60,
          "isDynamicChangeAllowed": true,
          "elementView": {
            "id": "12",
            "parent": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
            "x": 1135,
            "y": 177,
            "width": 30,
            "height": 30,
            "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"white\",\"fill-opacity\":0,\"label-position\":\"bottom\",\"stroke-width\":3,\"label-width\":120,\"cursor\":\"move\"}"
          },
          "dynamicChangeAllowed": true
        }
      ]
    ],
    "roles": [
      {
        "name": "Customer",
        "askWhenInit": true,
        "displayName": {},
        "elementView": {
          "id": "987581d8-c7e9-d31d-2d9a-7a9b11f13c17",
          "x": 706,
          "y": 185,
          "width": 1028,
          "height": 200,
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"#ffffff\",\"fill-opacity\":0,\"label-position\":\"center\",\"label-direction\":\"vertical\",\"vertical-align\":\"top\",\"cursor\":\"move\"}"
        }
      },
      {
        "name": "CLASS-MGMT-MONOLITHIC",
        "askWhenInit": true,
        "displayName": {},
        "elementView": {
          "id": "a7b3b3af-aa3b-5f87-5337-d7084081feb5",
          "x": 708,
          "y": 380,
          "width": 1034,
          "height": 152,
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"#ffffff\",\"fill-opacity\":0,\"label-position\":\"center\",\"label-direction\":\"vertical\",\"vertical-align\":\"top\",\"cursor\":\"move\"}"
        }
      }
    ],
    "sequenceFlows": [
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[279,176],[335,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "1",
        "targetRef": "2",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[435,176],[492,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "2",
        "targetRef": "4",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[520,176],[584,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "4",
        "targetRef": "5",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[684,176],[766,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "5",
        "targetRef": "6",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[794,176],[850,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "6",
        "targetRef": "8",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[950,176],[1028,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "8",
        "targetRef": "10",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[1056,176],[1120,176]]",
          "style": "{\"stroke\":\"black\",\"fill-r\":\".5\",\"fill-cx\":\".5\",\"fill-cy\":\".5\",\"fill\":\"none\",\"fill-opacity\":0,\"label-position\":\"center\",\"stroke-width\":1.5,\"stroke-opacity\":1,\"edge-type\":\"plain\",\"arrow-start\":\"none\",\"arrow-end\":\"block\",\"stroke-dasharray\":\"\",\"stroke-linejoin\":\"round\",\"cursor\":\"pointer\"}"
        },
        "sourceRef": "10",
        "targetRef": "12",
        "priority": 1,
        "condition": {
          "_type": "org.uengine.kernel.Evaluate",
          "description": {},
          "pv": {
            "displayName": {},
            "defaultValue": ""
          },
          "val": "",
          "condition": "=="
        }
      }
    ],
    "processVariableDescriptors": [
      {
        "name": "courseTitle",
        "displayName": {},
        "type": "java.lang.String",
        "typeClassName": "java.lang.String",
        "defaultValue": ""
      },
      {
        "name": "courses",
        "displayName": {},
        "type": "java.lang.String",
        "typeClassName": "java.lang.String",
        "defaultValue": ""
      },
      {
        "name": "choice",
        "displayName": {},
        "type": "java.lang.String",
        "typeClassName": "java.lang.String",
        "defaultValue": ""
      },
      {
        "name": "classes",
        "displayName": {},
        "type": "java.lang.String",
        "typeClassName": "java.lang.String",
        "defaultValue": ""
      }
    ],
    "messageFlows": [
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[508,190],[508,365]]",
          "style": "{}"
        },
        "sourceRef": "4",
        "targetRef": "3"
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[780,189],[780,365]]",
          "style": "{}"
        },
        "sourceRef": "6",
        "targetRef": "7"
      },
      {
        "relationView": {
          "TERMINAL_IN_OUT": "_TERMINAL_C_INOUT_0",
          "shapeId": "OG.shape.bpmn.C_Flow",
          "value": "[[1044,191],[1044,367]]",
          "style": "{}"
        },
        "sourceRef": "10",
        "targetRef": "11"
      }
    ],
    "defaultFlowchartViewType": "swimlane",
    "defaultFlowchartViewOption": "vertical",
    "duration": 10,
    "simulationInstanceCount": 10,
    "simulationInputFrequency": 10,
    "archive": true,
    "id": "Course Enrollment.xml",
    "isAdhoc": true,
    "shortDescription": {},
    "adhoc": true,
    "dynamicChangeAllowed": true
  }
}