1<?php
2require_once './Services/WorkflowEngine/classes/workflows/class.ilBaseWorkflow.php';
3require_once './Services/WorkflowEngine/classes/nodes/class.ilBasicNode.php';
4require_once './Services/WorkflowEngine/classes/emitters/class.ilActivationEmitter.php';
5require_once './Services/WorkflowEngine/classes/detectors/class.ilSimpleDetector.php';
6
7		class ParallelGateway_Joining extends ilBaseWorkflow
8		{
9
10			public static $startEventRequired = false;
11
12			public function __construct()
13			{
14
15			$_v_StartEvent_1 = new ilBasicNode($this);
16			$this->addNode($_v_StartEvent_1);
17			$_v_StartEvent_1->setName('$_v_StartEvent_1');
18
19			$this->setStartNode($_v_StartEvent_1);
20
21			$_v_ParallelGateway_1 = new ilBasicNode($this);
22			$_v_ParallelGateway_1->setName('$_v_ParallelGateway_1');
23			$this->addNode($_v_ParallelGateway_1);
24
25			$_v_IntermediateThrowEvent_1 = new ilBasicNode($this);
26			$this->addNode($_v_IntermediateThrowEvent_1);
27			$_v_IntermediateThrowEvent_1->setName('$_v_IntermediateThrowEvent_1');
28
29			$_v_IntermediateThrowEvent_3 = new ilBasicNode($this);
30			$this->addNode($_v_IntermediateThrowEvent_3);
31			$_v_IntermediateThrowEvent_3->setName('$_v_IntermediateThrowEvent_3');
32
33			$_v_ParallelGateway_2 = new ilBasicNode($this);
34			$_v_ParallelGateway_2->setName('$_v_ParallelGateway_2');
35			$this->addNode($_v_ParallelGateway_2);
36
37			$_v_IntermediateThrowEvent_2 = new ilBasicNode($this);
38			$this->addNode($_v_IntermediateThrowEvent_2);
39			$_v_IntermediateThrowEvent_2->setName('$_v_IntermediateThrowEvent_2');
40
41			$_v_EndEvent_6 = new ilBasicNode($this);
42			$this->addNode($_v_EndEvent_6);
43			$_v_EndEvent_6->setName('$_v_EndEvent_6');
44
45			$_v_ParallelGateway_1_detector = new ilSimpleDetector($_v_ParallelGateway_1);
46			$_v_ParallelGateway_1_detector->setName('$_v_ParallelGateway_1_detector');
47			$_v_ParallelGateway_1_detector->setSourceNode($_v_StartEvent_1);
48			$_v_ParallelGateway_1->addDetector($_v_ParallelGateway_1_detector);
49			$_v_StartEvent_1_emitter = new ilActivationEmitter($_v_StartEvent_1);
50			$_v_StartEvent_1_emitter->setName('$_v_StartEvent_1_emitter');
51			$_v_StartEvent_1_emitter->setTargetDetector($_v_ParallelGateway_1_detector);
52			$_v_StartEvent_1->addEmitter($_v_StartEvent_1_emitter);
53
54			$_v_IntermediateThrowEvent_1_detector = new ilSimpleDetector($_v_IntermediateThrowEvent_1);
55			$_v_IntermediateThrowEvent_1_detector->setName('$_v_IntermediateThrowEvent_1_detector');
56			$_v_IntermediateThrowEvent_1_detector->setSourceNode($_v_ParallelGateway_1);
57			$_v_IntermediateThrowEvent_1->addDetector($_v_IntermediateThrowEvent_1_detector);
58			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
59			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
60			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_IntermediateThrowEvent_1_detector);
61			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
62
63			$_v_IntermediateThrowEvent_2_detector = new ilSimpleDetector($_v_IntermediateThrowEvent_2);
64			$_v_IntermediateThrowEvent_2_detector->setName('$_v_IntermediateThrowEvent_2_detector');
65			$_v_IntermediateThrowEvent_2_detector->setSourceNode($_v_ParallelGateway_1);
66			$_v_IntermediateThrowEvent_2->addDetector($_v_IntermediateThrowEvent_2_detector);
67			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
68			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
69			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_IntermediateThrowEvent_2_detector);
70			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
71
72			$_v_IntermediateThrowEvent_3_detector = new ilSimpleDetector($_v_IntermediateThrowEvent_3);
73			$_v_IntermediateThrowEvent_3_detector->setName('$_v_IntermediateThrowEvent_3_detector');
74			$_v_IntermediateThrowEvent_3_detector->setSourceNode($_v_ParallelGateway_1);
75			$_v_IntermediateThrowEvent_3->addDetector($_v_IntermediateThrowEvent_3_detector);
76			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
77			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
78			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_IntermediateThrowEvent_3_detector);
79			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
80
81			$_v_ParallelGateway_2_detector = new ilSimpleDetector($_v_ParallelGateway_2);
82			$_v_ParallelGateway_2_detector->setName('$_v_ParallelGateway_2_detector');
83			$_v_ParallelGateway_2_detector->setSourceNode($_v_IntermediateThrowEvent_1);
84			$_v_ParallelGateway_2->addDetector($_v_ParallelGateway_2_detector);
85			$_v_IntermediateThrowEvent_1_emitter = new ilActivationEmitter($_v_IntermediateThrowEvent_1);
86			$_v_IntermediateThrowEvent_1_emitter->setName('$_v_IntermediateThrowEvent_1_emitter');
87			$_v_IntermediateThrowEvent_1_emitter->setTargetDetector($_v_ParallelGateway_2_detector);
88			$_v_IntermediateThrowEvent_1->addEmitter($_v_IntermediateThrowEvent_1_emitter);
89
90			$_v_ParallelGateway_2_detector = new ilSimpleDetector($_v_ParallelGateway_2);
91			$_v_ParallelGateway_2_detector->setName('$_v_ParallelGateway_2_detector');
92			$_v_ParallelGateway_2_detector->setSourceNode($_v_IntermediateThrowEvent_3);
93			$_v_ParallelGateway_2->addDetector($_v_ParallelGateway_2_detector);
94			$_v_IntermediateThrowEvent_3_emitter = new ilActivationEmitter($_v_IntermediateThrowEvent_3);
95			$_v_IntermediateThrowEvent_3_emitter->setName('$_v_IntermediateThrowEvent_3_emitter');
96			$_v_IntermediateThrowEvent_3_emitter->setTargetDetector($_v_ParallelGateway_2_detector);
97			$_v_IntermediateThrowEvent_3->addEmitter($_v_IntermediateThrowEvent_3_emitter);
98
99			$_v_ParallelGateway_2_detector = new ilSimpleDetector($_v_ParallelGateway_2);
100			$_v_ParallelGateway_2_detector->setName('$_v_ParallelGateway_2_detector');
101			$_v_ParallelGateway_2_detector->setSourceNode($_v_IntermediateThrowEvent_2);
102			$_v_ParallelGateway_2->addDetector($_v_ParallelGateway_2_detector);
103			$_v_IntermediateThrowEvent_2_emitter = new ilActivationEmitter($_v_IntermediateThrowEvent_2);
104			$_v_IntermediateThrowEvent_2_emitter->setName('$_v_IntermediateThrowEvent_2_emitter');
105			$_v_IntermediateThrowEvent_2_emitter->setTargetDetector($_v_ParallelGateway_2_detector);
106			$_v_IntermediateThrowEvent_2->addEmitter($_v_IntermediateThrowEvent_2_emitter);
107
108			$_v_EndEvent_6_detector = new ilSimpleDetector($_v_EndEvent_6);
109			$_v_EndEvent_6_detector->setName('$_v_EndEvent_6_detector');
110			$_v_EndEvent_6_detector->setSourceNode($_v_ParallelGateway_2);
111			$_v_EndEvent_6->addDetector($_v_EndEvent_6_detector);
112			$_v_ParallelGateway_2_emitter = new ilActivationEmitter($_v_ParallelGateway_2);
113			$_v_ParallelGateway_2_emitter->setName('$_v_ParallelGateway_2_emitter');
114			$_v_ParallelGateway_2_emitter->setTargetDetector($_v_EndEvent_6_detector);
115			$_v_ParallelGateway_2->addEmitter($_v_ParallelGateway_2_emitter);
116
117			}
118		}
119
120?>