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_Forking 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_EndEvent_2 = new ilBasicNode($this);
22			$this->addNode($_v_EndEvent_2);
23			$_v_EndEvent_2->setName('$_v_EndEvent_2');
24
25			$_v_ParallelGateway_1 = new ilBasicNode($this);
26			$_v_ParallelGateway_1->setName('$_v_ParallelGateway_1');
27			$this->addNode($_v_ParallelGateway_1);
28
29			$_v_EndEvent_4 = new ilBasicNode($this);
30			$this->addNode($_v_EndEvent_4);
31			$_v_EndEvent_4->setName('$_v_EndEvent_4');
32
33			$_v_EndEvent_5 = new ilBasicNode($this);
34			$this->addNode($_v_EndEvent_5);
35			$_v_EndEvent_5->setName('$_v_EndEvent_5');
36
37			$_v_ParallelGateway_1_detector = new ilSimpleDetector($_v_ParallelGateway_1);
38			$_v_ParallelGateway_1_detector->setName('$_v_ParallelGateway_1_detector');
39			$_v_ParallelGateway_1_detector->setSourceNode($_v_StartEvent_1);
40			$_v_ParallelGateway_1->addDetector($_v_ParallelGateway_1_detector);
41			$_v_StartEvent_1_emitter = new ilActivationEmitter($_v_StartEvent_1);
42			$_v_StartEvent_1_emitter->setName('$_v_StartEvent_1_emitter');
43			$_v_StartEvent_1_emitter->setTargetDetector($_v_ParallelGateway_1_detector);
44			$_v_StartEvent_1->addEmitter($_v_StartEvent_1_emitter);
45
46			$_v_EndEvent_5_detector = new ilSimpleDetector($_v_EndEvent_5);
47			$_v_EndEvent_5_detector->setName('$_v_EndEvent_5_detector');
48			$_v_EndEvent_5_detector->setSourceNode($_v_ParallelGateway_1);
49			$_v_EndEvent_5->addDetector($_v_EndEvent_5_detector);
50			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
51			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
52			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_EndEvent_5_detector);
53			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
54
55			$_v_EndEvent_2_detector = new ilSimpleDetector($_v_EndEvent_2);
56			$_v_EndEvent_2_detector->setName('$_v_EndEvent_2_detector');
57			$_v_EndEvent_2_detector->setSourceNode($_v_ParallelGateway_1);
58			$_v_EndEvent_2->addDetector($_v_EndEvent_2_detector);
59			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
60			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
61			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_EndEvent_2_detector);
62			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
63
64			$_v_EndEvent_4_detector = new ilSimpleDetector($_v_EndEvent_4);
65			$_v_EndEvent_4_detector->setName('$_v_EndEvent_4_detector');
66			$_v_EndEvent_4_detector->setSourceNode($_v_ParallelGateway_1);
67			$_v_EndEvent_4->addDetector($_v_EndEvent_4_detector);
68			$_v_ParallelGateway_1_emitter = new ilActivationEmitter($_v_ParallelGateway_1);
69			$_v_ParallelGateway_1_emitter->setName('$_v_ParallelGateway_1_emitter');
70			$_v_ParallelGateway_1_emitter->setTargetDetector($_v_EndEvent_4_detector);
71			$_v_ParallelGateway_1->addEmitter($_v_ParallelGateway_1_emitter);
72
73			}
74		}
75
76?>