camunda-workflow 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CONTRIBUTING.md +20 -0
- data/LICENSE.md +31 -0
- data/README.md +209 -0
- data/lib/camunda.rb +54 -0
- data/lib/camunda/bpmn_xml.rb +52 -0
- data/lib/camunda/deployment.rb +29 -0
- data/lib/camunda/external_task.rb +83 -0
- data/lib/camunda/external_task_job.rb +35 -0
- data/lib/camunda/incident.rb +3 -0
- data/lib/camunda/matchers.rb +20 -0
- data/lib/camunda/model.rb +26 -0
- data/lib/camunda/poller.rb +8 -0
- data/lib/camunda/process_definition.rb +29 -0
- data/lib/camunda/process_instance.rb +21 -0
- data/lib/camunda/signal.rb +9 -0
- data/lib/camunda/task.rb +28 -0
- data/lib/camunda/variable_serialization.rb +48 -0
- data/lib/camunda/workflow.rb +39 -0
- data/lib/generators/camunda/bpmn_classes/USAGE +10 -0
- data/lib/generators/camunda/bpmn_classes/bpmn_classes_generator.rb +67 -0
- data/lib/generators/camunda/bpmn_classes/templates/bpmn_class.rb.template +10 -0
- data/lib/generators/camunda/bpmn_classes/templates/bpmn_module.rb.template +5 -0
- data/lib/generators/camunda/install/USAGE +10 -0
- data/lib/generators/camunda/install/install_generator.rb +11 -0
- data/lib/generators/camunda/install/templates/camunda_job.rb +7 -0
- data/lib/generators/camunda/spring_boot/USAGE +12 -0
- data/lib/generators/camunda/spring_boot/spring_boot_generator.rb +69 -0
- data/lib/generators/camunda/spring_boot/templates/Camunda.java +28 -0
- data/lib/generators/camunda/spring_boot/templates/ProcessScenarioTest.java +85 -0
- data/lib/generators/camunda/spring_boot/templates/application.properties +48 -0
- data/lib/generators/camunda/spring_boot/templates/camunda.cfg.xml +20 -0
- data/lib/generators/camunda/spring_boot/templates/pom.xml +173 -0
- data/lib/generators/camunda/spring_boot/templates/sample.bpmn +94 -0
- metadata +230 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
package camunda;
|
2
|
+
/*
|
3
|
+
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
|
4
|
+
* under one or more contributor license agreements. See the NOTICE file
|
5
|
+
* distributed with this work for additional information regarding copyright
|
6
|
+
* ownership. Camunda licenses this file to you under the Apache License,
|
7
|
+
* Version 2.0; you may not use this file except in compliance with the License.
|
8
|
+
* You may obtain a copy of the License at
|
9
|
+
*
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
*
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
* See the License for the specific language governing permissions and
|
16
|
+
* limitations under the License.
|
17
|
+
*/
|
18
|
+
import org.camunda.bpm.spring.boot.starter.annotation.EnableProcessApplication;
|
19
|
+
import org.springframework.boot.SpringApplication;
|
20
|
+
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
21
|
+
|
22
|
+
@SpringBootApplication
|
23
|
+
@EnableProcessApplication("camunda-bpm-springboot")
|
24
|
+
public class Camunda {
|
25
|
+
public static void main(String... args) {
|
26
|
+
SpringApplication.run(Camunda.class, args);
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
package example;
|
2
|
+
|
3
|
+
import org.apache.ibatis.logging.LogFactory;
|
4
|
+
import org.camunda.bpm.engine.ProcessEngine;
|
5
|
+
import org.camunda.bpm.engine.test.Deployment;
|
6
|
+
import org.camunda.bpm.engine.test.ProcessEngineRule;
|
7
|
+
import org.camunda.bpm.scenario.ProcessScenario;
|
8
|
+
import org.camunda.bpm.spring.boot.starter.test.helper.StandaloneInMemoryTestConfiguration;
|
9
|
+
import org.junit.Before;
|
10
|
+
import org.junit.ClassRule;
|
11
|
+
import org.junit.Rule;
|
12
|
+
import org.junit.Test;
|
13
|
+
import org.junit.runner.RunWith;
|
14
|
+
import org.mockito.Mock;
|
15
|
+
import org.mockito.MockitoAnnotations;
|
16
|
+
import org.springframework.beans.factory.annotation.Autowired;
|
17
|
+
import org.springframework.boot.test.context.SpringBootTest;
|
18
|
+
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
|
19
|
+
import org.springframework.test.context.junit4.SpringRunner;
|
20
|
+
import org.camunda.bpm.extension.process_test_coverage.junit.rules.TestCoverageProcessEngineRuleBuilder;
|
21
|
+
|
22
|
+
import javax.annotation.PostConstruct;
|
23
|
+
|
24
|
+
import static org.mockito.Matchers.*;
|
25
|
+
import static org.mockito.Mockito.*;
|
26
|
+
|
27
|
+
import static org.junit.Assert.*;
|
28
|
+
import static org.assertj.core.api.Assertions.*;
|
29
|
+
import static org.camunda.bpm.engine.test.assertions.ProcessEngineTests.*;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Test case starting an in-memory database-backed Process Engine.
|
33
|
+
*/
|
34
|
+
@RunWith(SpringRunner.class)
|
35
|
+
@SpringBootTest(webEnvironment = WebEnvironment.NONE)
|
36
|
+
public class ProcessScenarioTest {
|
37
|
+
|
38
|
+
private static final String PROCESS_DEFINITION_KEY = "timer";
|
39
|
+
|
40
|
+
static {
|
41
|
+
LogFactory.useSlf4jLogging(); // MyBatis
|
42
|
+
}
|
43
|
+
|
44
|
+
@Autowired
|
45
|
+
ProcessEngine processEngine;
|
46
|
+
|
47
|
+
@Rule
|
48
|
+
@ClassRule
|
49
|
+
public static ProcessEngineRule rule;
|
50
|
+
|
51
|
+
@Before
|
52
|
+
public void setup() {
|
53
|
+
MockitoAnnotations.initMocks(this);
|
54
|
+
}
|
55
|
+
|
56
|
+
@Mock
|
57
|
+
private ProcessScenario process;
|
58
|
+
|
59
|
+
@PostConstruct
|
60
|
+
void initRule() {
|
61
|
+
rule = TestCoverageProcessEngineRuleBuilder.create(processEngine).build();
|
62
|
+
}
|
63
|
+
|
64
|
+
@Test
|
65
|
+
public void testHappyPath() {
|
66
|
+
// Define scenarios by using camunda-bpm-assert-scenario:
|
67
|
+
|
68
|
+
//ExecutableRunner starter = Scenario.run(myProcess) //
|
69
|
+
// .startByKey(PROCESS_DEFINITION_KEY);
|
70
|
+
|
71
|
+
// when(myProcess.waitsAtReceiveTask(anyString())).thenReturn((messageSubscription) -> {
|
72
|
+
// messageSubscription.receive();
|
73
|
+
// });
|
74
|
+
// when(myProcess.waitsAtUserTask(anyString())).thenReturn((task) -> {
|
75
|
+
// task.complete();
|
76
|
+
// });
|
77
|
+
|
78
|
+
// OK - everything prepared - let's go and execute the scenario
|
79
|
+
//Scenario scenario = starter.execute();
|
80
|
+
|
81
|
+
// now you can do some assertions
|
82
|
+
//verify(myProcess).hasFinished("EndEvent");
|
83
|
+
}
|
84
|
+
|
85
|
+
}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#spring.datasource.url=jdbc:h2:./camunda-db;DB_CLOSE_ON_EXIT=false
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
spring.datasource.url=jdbc:h2:mem:camunda
|
6
|
+
spring.datasource.username=sa
|
7
|
+
spring.datasource.password=sa
|
8
|
+
spring.datasource.driverClassName=org.h2.Driver
|
9
|
+
|
10
|
+
|
11
|
+
#POSTGRESQL PROPERTIES LOCALHOST
|
12
|
+
# camunda.bpm.database.type=postgres
|
13
|
+
|
14
|
+
# spring.datasource.url=jdbc:postgresql://${CAMUNDA_DB_HOST:localhost}:${CAMUNDA_DB_PORT:5432}/${CAMUNDA_DB:camunda}
|
15
|
+
|
16
|
+
# spring.datasource.username=postgres
|
17
|
+
# spring.datasource.password=postgres
|
18
|
+
|
19
|
+
# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
|
20
|
+
# spring.datasource.driver-class-name=org.postgresql.Driver
|
21
|
+
# camunda.bpm.database.schema-update=true
|
22
|
+
# camunda.bpm.job-execution.active = true
|
23
|
+
|
24
|
+
|
25
|
+
# These are not supported when auto-creating the schema
|
26
|
+
#camunda.bpm.database.schema-name=camunda
|
27
|
+
#camunda.bpm.database.table-prefix=camunda.
|
28
|
+
|
29
|
+
|
30
|
+
#spring.jpa.show-sql=true
|
31
|
+
#spring.jpa.generate-ddl=true
|
32
|
+
#spring.jpa.hibernate.ddl-auto=create-drop
|
33
|
+
#spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
|
34
|
+
|
35
|
+
#spring.cloud.stream.bindings.output.destination=flowing-retail
|
36
|
+
#spring.cloud.stream.bindings.output.content-type=application/json
|
37
|
+
#spring.cloud.stream.bindings.input.destination=flowing-retail
|
38
|
+
#spring.cloud.stream.bindings.input.content-type=application/json
|
39
|
+
#spring.cloud.stream.bindings.input.group=order
|
40
|
+
#spring.cloud.stream.kafka.binder.zkNodes=localhost:2181
|
41
|
+
#spring.cloud.stream.kafka.binder.brokers=localhost:9092
|
42
|
+
|
43
|
+
#camunda.bpm.admin-user.id=demo
|
44
|
+
#camunda.bpm.admin-user.password=demo
|
45
|
+
#camunda.bpm.filter.create=All
|
46
|
+
#camunda.bpm.license-file=file:${user.home}/.camunda/license.txt
|
47
|
+
|
48
|
+
server.port=${CAMUNDA_PORT:8080}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<beans xmlns="http://www.springframework.org/schema/beans"
|
4
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
+
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
6
|
+
|
7
|
+
<bean id="processEngineConfiguration"
|
8
|
+
class="org.camunda.bpm.extension.process_test_coverage.junit.rules.ProcessCoverageInMemProcessEngineConfiguration">
|
9
|
+
<property name="history" value="full"/>
|
10
|
+
<property name="jobExecutorActivate" value="true"/>
|
11
|
+
<property name="expressionManager">
|
12
|
+
<bean class="org.camunda.bpm.engine.test.mock.MockExpressionManager"/>
|
13
|
+
</property>
|
14
|
+
<property name="processEnginePlugins">
|
15
|
+
<list>
|
16
|
+
<bean class="org.camunda.spin.plugin.impl.SpinProcessEnginePlugin"/>
|
17
|
+
</list>
|
18
|
+
</property>
|
19
|
+
</bean>
|
20
|
+
</beans>
|
@@ -0,0 +1,173 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
4
|
+
<modelVersion>4.0.0</modelVersion>
|
5
|
+
|
6
|
+
<groupId>camunda.bpm</groupId>
|
7
|
+
<artifactId>camunda-bpm-springboot</artifactId>
|
8
|
+
<version>0.0.1-SNAPSHOT</version>
|
9
|
+
<packaging>jar</packaging>
|
10
|
+
|
11
|
+
<name>Camunda BPM Process Application</name>
|
12
|
+
<description>A Process Application for [Camunda BPM](http://docs.camunda.org).</description>
|
13
|
+
|
14
|
+
<properties>
|
15
|
+
<camunda.version>7.12.0-alpha3</camunda.version>
|
16
|
+
<!--
|
17
|
+
Adjust if you want to use Camunda Enterprise Edition (EE):
|
18
|
+
<camunda.version>7.11.0-ee</camunda.version>
|
19
|
+
Make sure you also switch to the ee webapp dependency
|
20
|
+
and EE repository below
|
21
|
+
-->
|
22
|
+
<camundaSpringBoot.version>3.3.1</camundaSpringBoot.version>
|
23
|
+
<springBoot.version>2.1.5.RELEASE</springBoot.version>
|
24
|
+
|
25
|
+
<maven.compiler.source>1.8</maven.compiler.source>
|
26
|
+
<maven.compiler.target>1.8</maven.compiler.target>
|
27
|
+
<version.java>1.8</version.java>
|
28
|
+
<start-class>camunda.Camunda</start-class>
|
29
|
+
|
30
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
31
|
+
<failOnMissingWebXml>false</failOnMissingWebXml>
|
32
|
+
</properties>
|
33
|
+
|
34
|
+
<dependencyManagement>
|
35
|
+
<dependencies>
|
36
|
+
<dependency>
|
37
|
+
<groupId>org.camunda.bpm</groupId>
|
38
|
+
<artifactId>camunda-bom</artifactId>
|
39
|
+
<version>${camunda.version}</version>
|
40
|
+
<scope>import</scope>
|
41
|
+
<type>pom</type>
|
42
|
+
</dependency>
|
43
|
+
<dependency>
|
44
|
+
<groupId>org.springframework.boot</groupId>
|
45
|
+
<artifactId>spring-boot-dependencies</artifactId>
|
46
|
+
<version>${springBoot.version}</version>
|
47
|
+
<type>pom</type>
|
48
|
+
<scope>import</scope>
|
49
|
+
</dependency>
|
50
|
+
</dependencies>
|
51
|
+
</dependencyManagement>
|
52
|
+
|
53
|
+
<dependencies>
|
54
|
+
<dependency>
|
55
|
+
<groupId>org.camunda.bpm.springboot</groupId>
|
56
|
+
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
|
57
|
+
<version>${camundaSpringBoot.version}</version>
|
58
|
+
<exclusions>
|
59
|
+
<exclusion>
|
60
|
+
<groupId>org.camunda.bpm</groupId>
|
61
|
+
<artifactId>camunda-engine-rest-core</artifactId>
|
62
|
+
</exclusion>
|
63
|
+
</exclusions>
|
64
|
+
</dependency>
|
65
|
+
|
66
|
+
<dependency>
|
67
|
+
<groupId>org.camunda.bpm.springboot</groupId>
|
68
|
+
<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
|
69
|
+
<version>${camundaSpringBoot.version}</version>
|
70
|
+
</dependency>
|
71
|
+
|
72
|
+
<dependency>
|
73
|
+
<groupId>org.camunda.bpm.springboot</groupId>
|
74
|
+
<artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
|
75
|
+
<version>${camundaSpringBoot.version}</version>
|
76
|
+
</dependency>
|
77
|
+
|
78
|
+
<dependency>
|
79
|
+
<groupId>com.h2database</groupId>
|
80
|
+
<artifactId>h2</artifactId>
|
81
|
+
</dependency>
|
82
|
+
<dependency>
|
83
|
+
<groupId>org.postgresql</groupId>
|
84
|
+
<artifactId>postgresql</artifactId>
|
85
|
+
<version>42.2.7</version>
|
86
|
+
</dependency>
|
87
|
+
|
88
|
+
<dependency>
|
89
|
+
<groupId>org.springframework.boot</groupId>
|
90
|
+
<artifactId>spring-boot-starter-jdbc</artifactId>
|
91
|
+
</dependency>
|
92
|
+
|
93
|
+
<!-- Required to use Spin dataformat support -->
|
94
|
+
<dependency>
|
95
|
+
<groupId>org.camunda.spin</groupId>
|
96
|
+
<artifactId>camunda-spin-dataformat-all</artifactId>
|
97
|
+
</dependency>
|
98
|
+
<dependency>
|
99
|
+
<groupId>org.camunda.bpm</groupId>
|
100
|
+
<artifactId>camunda-engine-plugin-spin</artifactId>
|
101
|
+
</dependency>
|
102
|
+
|
103
|
+
<dependency>
|
104
|
+
<groupId>org.springframework.boot</groupId>
|
105
|
+
<artifactId>spring-boot-starter-test</artifactId>
|
106
|
+
<scope>test</scope>
|
107
|
+
</dependency>
|
108
|
+
|
109
|
+
<dependency>
|
110
|
+
<groupId>org.camunda.bpm.extension</groupId>
|
111
|
+
<artifactId>camunda-bpm-assert-scenario</artifactId>
|
112
|
+
<version>0.2</version>
|
113
|
+
<scope>test</scope>
|
114
|
+
</dependency>
|
115
|
+
<dependency>
|
116
|
+
<!-- Used to generate test coverage reports, see https://github.com/camunda/camunda-consulting/tree/master/snippets/camunda-bpm-process-test-coverage -->
|
117
|
+
<groupId>org.camunda.bpm.extension</groupId>
|
118
|
+
<artifactId>camunda-bpm-process-test-coverage</artifactId>
|
119
|
+
<version>0.3.2</version>
|
120
|
+
<scope>test</scope>
|
121
|
+
</dependency>
|
122
|
+
<!-- java util logging => slf4j -->
|
123
|
+
<dependency>
|
124
|
+
<groupId>org.slf4j</groupId>
|
125
|
+
<artifactId>jul-to-slf4j</artifactId>
|
126
|
+
<scope>test</scope>
|
127
|
+
</dependency>
|
128
|
+
|
129
|
+
<!-- Add your own dependencies here, if in compile scope, they are added to the jar -->
|
130
|
+
|
131
|
+
</dependencies>
|
132
|
+
|
133
|
+
<repositories>
|
134
|
+
<repository>
|
135
|
+
<id>camunda-bpm-nexus</id>
|
136
|
+
<name>Camunda Maven Repository</name>
|
137
|
+
<url>https://app.camunda.com/nexus/content/groups/public</url>
|
138
|
+
</repository>
|
139
|
+
<!-- enable this for EE dependencies (requires credentials in ~/.m2/settings.xml)
|
140
|
+
<repository>
|
141
|
+
<id>camunda-bpm-nexus-ee</id>
|
142
|
+
<name>Camunda Enterprise Maven Repository</name>
|
143
|
+
<url>https://app.camunda.com/nexus/content/repositories/camunda-bpm-ee</url>
|
144
|
+
</repository>
|
145
|
+
-->
|
146
|
+
</repositories>
|
147
|
+
|
148
|
+
<build>
|
149
|
+
<finalName>${project.artifactId}</finalName>
|
150
|
+
<plugins>
|
151
|
+
<plugin>
|
152
|
+
<groupId>org.springframework.boot</groupId>
|
153
|
+
<artifactId>spring-boot-maven-plugin</artifactId>
|
154
|
+
<version>${springBoot.version}</version>
|
155
|
+
<configuration>
|
156
|
+
<layout>ZIP</layout>
|
157
|
+
</configuration>
|
158
|
+
<executions>
|
159
|
+
<execution>
|
160
|
+
<goals>
|
161
|
+
<goal>repackage</goal>
|
162
|
+
</goals>
|
163
|
+
</execution>
|
164
|
+
</executions>
|
165
|
+
</plugin>
|
166
|
+
<plugin>
|
167
|
+
<groupId>org.codehaus.mojo</groupId>
|
168
|
+
<artifactId>exec-maven-plugin</artifactId>
|
169
|
+
<version>1.6.0</version>
|
170
|
+
</plugin>
|
171
|
+
</plugins>
|
172
|
+
</build>
|
173
|
+
</project>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.3.5">
|
3
|
+
<bpmn:process id="CamundaWorkflow" name="camunda-bpm-servlet-project" isExecutable="true">
|
4
|
+
<bpmn:startEvent id="StartEventProcessStarted" name="Process started">
|
5
|
+
<bpmn:outgoing>SequenceFlow1</bpmn:outgoing>
|
6
|
+
</bpmn:startEvent>
|
7
|
+
<bpmn:endEvent id="EndEventProcessEnded" name="Process ended">
|
8
|
+
<bpmn:incoming>SequenceFlow_1o8pywg</bpmn:incoming>
|
9
|
+
</bpmn:endEvent>
|
10
|
+
<bpmn:sequenceFlow id="SequenceFlow1" sourceRef="StartEventProcessStarted" targetRef="ExclusiveGateway_0si3l52" />
|
11
|
+
<bpmn:sequenceFlow id="SequenceFlow_07flmy9" sourceRef="ExclusiveGateway_0si3l52" targetRef="UserTask" />
|
12
|
+
<bpmn:serviceTask id="DoSomething" name="Do Something" camunda:type="external" camunda:topic="CamundaWorkflow">
|
13
|
+
<bpmn:incoming>SequenceFlow_1jruu78</bpmn:incoming>
|
14
|
+
<bpmn:outgoing>SequenceFlow_1cuiwcp</bpmn:outgoing>
|
15
|
+
</bpmn:serviceTask>
|
16
|
+
<bpmn:sequenceFlow id="SequenceFlow_17eprda" sourceRef="UserTask" targetRef="ExclusiveGateway_0zchwar" />
|
17
|
+
<bpmn:userTask id="UserTask" name="User Task">
|
18
|
+
<bpmn:incoming>SequenceFlow_07flmy9</bpmn:incoming>
|
19
|
+
<bpmn:outgoing>SequenceFlow_17eprda</bpmn:outgoing>
|
20
|
+
</bpmn:userTask>
|
21
|
+
<bpmn:parallelGateway id="ExclusiveGateway_0si3l52">
|
22
|
+
<bpmn:incoming>SequenceFlow1</bpmn:incoming>
|
23
|
+
<bpmn:outgoing>SequenceFlow_07flmy9</bpmn:outgoing>
|
24
|
+
<bpmn:outgoing>SequenceFlow_1jruu78</bpmn:outgoing>
|
25
|
+
</bpmn:parallelGateway>
|
26
|
+
<bpmn:sequenceFlow id="SequenceFlow_1o8pywg" sourceRef="ExclusiveGateway_0zchwar" targetRef="EndEventProcessEnded" />
|
27
|
+
<bpmn:parallelGateway id="ExclusiveGateway_0zchwar">
|
28
|
+
<bpmn:incoming>SequenceFlow_17eprda</bpmn:incoming>
|
29
|
+
<bpmn:incoming>SequenceFlow_1cuiwcp</bpmn:incoming>
|
30
|
+
<bpmn:outgoing>SequenceFlow_1o8pywg</bpmn:outgoing>
|
31
|
+
</bpmn:parallelGateway>
|
32
|
+
<bpmn:sequenceFlow id="SequenceFlow_1jruu78" sourceRef="ExclusiveGateway_0si3l52" targetRef="DoSomething" />
|
33
|
+
<bpmn:sequenceFlow id="SequenceFlow_1cuiwcp" sourceRef="DoSomething" targetRef="ExclusiveGateway_0zchwar" />
|
34
|
+
</bpmn:process>
|
35
|
+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
36
|
+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="CamundaWorkflow">
|
37
|
+
<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEventProcessStarted">
|
38
|
+
<dc:Bounds x="173" y="212" width="36" height="36" />
|
39
|
+
<bpmndi:BPMNLabel>
|
40
|
+
<dc:Bounds x="171" y="248" width="40" height="27" />
|
41
|
+
</bpmndi:BPMNLabel>
|
42
|
+
</bpmndi:BPMNShape>
|
43
|
+
<bpmndi:BPMNShape id="EndEvent_0fkea3f_di" bpmnElement="EndEventProcessEnded">
|
44
|
+
<dc:Bounds x="752" y="212" width="36" height="36" />
|
45
|
+
<bpmndi:BPMNLabel>
|
46
|
+
<dc:Bounds x="750" y="248" width="40" height="27" />
|
47
|
+
</bpmndi:BPMNLabel>
|
48
|
+
</bpmndi:BPMNShape>
|
49
|
+
<bpmndi:BPMNEdge id="SequenceFlow_08va5r8_di" bpmnElement="SequenceFlow1">
|
50
|
+
<di:waypoint x="209" y="230" />
|
51
|
+
<di:waypoint x="265" y="230" />
|
52
|
+
<bpmndi:BPMNLabel>
|
53
|
+
<dc:Bounds x="337.5" y="110" width="90" height="20" />
|
54
|
+
</bpmndi:BPMNLabel>
|
55
|
+
</bpmndi:BPMNEdge>
|
56
|
+
<bpmndi:BPMNEdge id="SequenceFlow_07flmy9_di" bpmnElement="SequenceFlow_07flmy9">
|
57
|
+
<di:waypoint x="290" y="205" />
|
58
|
+
<di:waypoint x="290" y="120" />
|
59
|
+
<di:waypoint x="410" y="120" />
|
60
|
+
</bpmndi:BPMNEdge>
|
61
|
+
<bpmndi:BPMNShape id="ServiceTask_0vzc2vr_di" bpmnElement="DoSomething">
|
62
|
+
<dc:Bounds x="400" y="300" width="100" height="80" />
|
63
|
+
</bpmndi:BPMNShape>
|
64
|
+
<bpmndi:BPMNEdge id="SequenceFlow_17eprda_di" bpmnElement="SequenceFlow_17eprda">
|
65
|
+
<di:waypoint x="510" y="120" />
|
66
|
+
<di:waypoint x="630" y="120" />
|
67
|
+
<di:waypoint x="630" y="205" />
|
68
|
+
</bpmndi:BPMNEdge>
|
69
|
+
<bpmndi:BPMNShape id="UserTask_1w736wx_di" bpmnElement="UserTask">
|
70
|
+
<dc:Bounds x="410" y="80" width="100" height="80" />
|
71
|
+
</bpmndi:BPMNShape>
|
72
|
+
<bpmndi:BPMNShape id="ParallelGateway_0afz9x3_di" bpmnElement="ExclusiveGateway_0si3l52">
|
73
|
+
<dc:Bounds x="265" y="205" width="50" height="50" />
|
74
|
+
</bpmndi:BPMNShape>
|
75
|
+
<bpmndi:BPMNEdge id="SequenceFlow_1o8pywg_di" bpmnElement="SequenceFlow_1o8pywg">
|
76
|
+
<di:waypoint x="655" y="230" />
|
77
|
+
<di:waypoint x="752" y="230" />
|
78
|
+
</bpmndi:BPMNEdge>
|
79
|
+
<bpmndi:BPMNShape id="ParallelGateway_0rz1ckz_di" bpmnElement="ExclusiveGateway_0zchwar">
|
80
|
+
<dc:Bounds x="605" y="205" width="50" height="50" />
|
81
|
+
</bpmndi:BPMNShape>
|
82
|
+
<bpmndi:BPMNEdge id="SequenceFlow_1jruu78_di" bpmnElement="SequenceFlow_1jruu78">
|
83
|
+
<di:waypoint x="290" y="255" />
|
84
|
+
<di:waypoint x="290" y="340" />
|
85
|
+
<di:waypoint x="400" y="340" />
|
86
|
+
</bpmndi:BPMNEdge>
|
87
|
+
<bpmndi:BPMNEdge id="SequenceFlow_1cuiwcp_di" bpmnElement="SequenceFlow_1cuiwcp">
|
88
|
+
<di:waypoint x="500" y="340" />
|
89
|
+
<di:waypoint x="630" y="340" />
|
90
|
+
<di:waypoint x="630" y="255" />
|
91
|
+
</bpmndi:BPMNEdge>
|
92
|
+
</bpmndi:BPMNPlane>
|
93
|
+
</bpmndi:BPMNDiagram>
|
94
|
+
</bpmn:definitions>
|