ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
EventBasedGateway_Blanko_Simple_goldsample.php
Go to the documentation of this file.
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/detectors/class.ilEventDetector.php';
5require_once './Services/WorkflowEngine/classes/nodes/class.ilCaseNode.php';
6require_once './Services/WorkflowEngine/classes/emitters/class.ilActivationEmitter.php';
7require_once './Services/WorkflowEngine/classes/detectors/class.ilSimpleDetector.php';
8
10 {
11
12 public static $startEventRequired = false;
13
14 public function __construct()
15 {
16
17 $_v_EventBasedGateway_1 = new ilBasicNode($this);
18 $_v_EventBasedGateway_1->setName('$_v_EventBasedGateway_1');
19 $_v_EventBasedGateway_1->setIsForwardConditionNode(true);
20 $this->addNode($_v_EventBasedGateway_1);
21
22 $_v_IntermediateCatchEvent_1 = new ilBasicNode($this);
23 $this->addNode($_v_IntermediateCatchEvent_1);
24 $_v_IntermediateCatchEvent_1->setName('$_v_IntermediateCatchEvent_1');
25
26 $_v_IntermediateCatchEvent_1_detector = new ilEventDetector($_v_IntermediateCatchEvent_1);
27 $_v_IntermediateCatchEvent_1_detector->setName('$_v_IntermediateCatchEvent_1_detector');
28 $_v_IntermediateCatchEvent_1_detector->setEvent( "Course", "UserWasAssigned");
29 $_v_IntermediateCatchEvent_1_detector->setEventSubject( "usr", "0");
30 $_v_IntermediateCatchEvent_1_detector->setEventContext( "crs", "0");
31 $_v_IntermediateCatchEvent_1_detector->setListeningTimeframe(0, 0);
32 $_v_IntermediateCatchEvent_1->addDetector($_v_IntermediateCatchEvent_1_detector);
33
34 $_v_IntermediateCatchEvent_2 = new ilBasicNode($this);
35 $this->addNode($_v_IntermediateCatchEvent_2);
36 $_v_IntermediateCatchEvent_2->setName('$_v_IntermediateCatchEvent_2');
37
38 $_v_IntermediateCatchEvent_2_detector = new ilEventDetector($_v_IntermediateCatchEvent_2);
39 $_v_IntermediateCatchEvent_2_detector->setName('$_v_IntermediateCatchEvent_2_detector');
40 $_v_IntermediateCatchEvent_2_detector->setEvent( "Course", "UserWasDeassigned");
41 $_v_IntermediateCatchEvent_2_detector->setEventSubject( "usr", "0");
42 $_v_IntermediateCatchEvent_2_detector->setEventContext( "crs", "0");
43 $_v_IntermediateCatchEvent_2_detector->setListeningTimeframe(0, 0);
44 $_v_IntermediateCatchEvent_2->addDetector($_v_IntermediateCatchEvent_2_detector);
45
46 $_v_IntermediateCatchEvent_3 = new ilBasicNode($this);
47 $this->addNode($_v_IntermediateCatchEvent_3);
48 $_v_IntermediateCatchEvent_3->setName('$_v_IntermediateCatchEvent_3');
49
50 $_v_IntermediateCatchEvent_3_detector = new ilEventDetector($_v_IntermediateCatchEvent_3);
51 $_v_IntermediateCatchEvent_3_detector->setName('$_v_IntermediateCatchEvent_3_detector');
52 $_v_IntermediateCatchEvent_3_detector->setEvent( "Course", "UserAassignmentChanged");
53 $_v_IntermediateCatchEvent_3_detector->setEventSubject( "usr", "0");
54 $_v_IntermediateCatchEvent_3_detector->setEventContext( "crs", "0");
55 $_v_IntermediateCatchEvent_3_detector->setListeningTimeframe(0, 0);
56 $_v_IntermediateCatchEvent_3->addDetector($_v_IntermediateCatchEvent_3_detector);
57
58 $_v_StartEvent_1 = new ilBasicNode($this);
59 $this->addNode($_v_StartEvent_1);
60 $_v_StartEvent_1->setName('$_v_StartEvent_1');
61
62 $this->setStartNode($_v_StartEvent_1);
63
64 $_v_ExclusiveGateway_1 = new ilCaseNode($this);
65 $_v_ExclusiveGateway_1->setName('$_v_ExclusiveGateway_1');
66 $_v_ExclusiveGateway_1->setIsExclusiveJoin(true);
67 $this->addNode($_v_ExclusiveGateway_1);
68
69 $_v_EndEvent_1 = new ilBasicNode($this);
70 $this->addNode($_v_EndEvent_1);
71 $_v_EndEvent_1->setName('$_v_EndEvent_1');
72
73 $_v_IntermediateCatchEvent_1_detector = new ilSimpleDetector($_v_IntermediateCatchEvent_1);
74 $_v_IntermediateCatchEvent_1_detector->setName('$_v_IntermediateCatchEvent_1_detector');
75 $_v_IntermediateCatchEvent_1_detector->setSourceNode($_v_EventBasedGateway_1);
76 $_v_IntermediateCatchEvent_1->addDetector($_v_IntermediateCatchEvent_1_detector);
77 $_v_EventBasedGateway_1_emitter = new ilActivationEmitter($_v_EventBasedGateway_1);
78 $_v_EventBasedGateway_1_emitter->setName('$_v_EventBasedGateway_1_emitter');
79 $_v_EventBasedGateway_1_emitter->setTargetDetector($_v_IntermediateCatchEvent_1_detector);
80 $_v_EventBasedGateway_1->addEmitter($_v_EventBasedGateway_1_emitter);
81
82 $_v_IntermediateCatchEvent_2_detector = new ilSimpleDetector($_v_IntermediateCatchEvent_2);
83 $_v_IntermediateCatchEvent_2_detector->setName('$_v_IntermediateCatchEvent_2_detector');
84 $_v_IntermediateCatchEvent_2_detector->setSourceNode($_v_EventBasedGateway_1);
85 $_v_IntermediateCatchEvent_2->addDetector($_v_IntermediateCatchEvent_2_detector);
86 $_v_EventBasedGateway_1_emitter = new ilActivationEmitter($_v_EventBasedGateway_1);
87 $_v_EventBasedGateway_1_emitter->setName('$_v_EventBasedGateway_1_emitter');
88 $_v_EventBasedGateway_1_emitter->setTargetDetector($_v_IntermediateCatchEvent_2_detector);
89 $_v_EventBasedGateway_1->addEmitter($_v_EventBasedGateway_1_emitter);
90
91 $_v_IntermediateCatchEvent_3_detector = new ilSimpleDetector($_v_IntermediateCatchEvent_3);
92 $_v_IntermediateCatchEvent_3_detector->setName('$_v_IntermediateCatchEvent_3_detector');
93 $_v_IntermediateCatchEvent_3_detector->setSourceNode($_v_EventBasedGateway_1);
94 $_v_IntermediateCatchEvent_3->addDetector($_v_IntermediateCatchEvent_3_detector);
95 $_v_EventBasedGateway_1_emitter = new ilActivationEmitter($_v_EventBasedGateway_1);
96 $_v_EventBasedGateway_1_emitter->setName('$_v_EventBasedGateway_1_emitter');
97 $_v_EventBasedGateway_1_emitter->setTargetDetector($_v_IntermediateCatchEvent_3_detector);
98 $_v_EventBasedGateway_1->addEmitter($_v_EventBasedGateway_1_emitter);
99
100 $_v_EventBasedGateway_1_detector = new ilSimpleDetector($_v_EventBasedGateway_1);
101 $_v_EventBasedGateway_1_detector->setName('$_v_EventBasedGateway_1_detector');
102 $_v_EventBasedGateway_1_detector->setSourceNode($_v_StartEvent_1);
103 $_v_EventBasedGateway_1->addDetector($_v_EventBasedGateway_1_detector);
104 $_v_StartEvent_1_emitter = new ilActivationEmitter($_v_StartEvent_1);
105 $_v_StartEvent_1_emitter->setName('$_v_StartEvent_1_emitter');
106 $_v_StartEvent_1_emitter->setTargetDetector($_v_EventBasedGateway_1_detector);
107 $_v_StartEvent_1->addEmitter($_v_StartEvent_1_emitter);
108
109 $_v_ExclusiveGateway_1_detector = new ilSimpleDetector($_v_ExclusiveGateway_1);
110 $_v_ExclusiveGateway_1_detector->setName('$_v_ExclusiveGateway_1_detector');
111 $_v_ExclusiveGateway_1_detector->setSourceNode($_v_IntermediateCatchEvent_1);
112 $_v_ExclusiveGateway_1->addDetector($_v_ExclusiveGateway_1_detector);
113 $_v_IntermediateCatchEvent_1_emitter = new ilActivationEmitter($_v_IntermediateCatchEvent_1);
114 $_v_IntermediateCatchEvent_1_emitter->setName('$_v_IntermediateCatchEvent_1_emitter');
115 $_v_IntermediateCatchEvent_1_emitter->setTargetDetector($_v_ExclusiveGateway_1_detector);
116 $_v_IntermediateCatchEvent_1->addEmitter($_v_IntermediateCatchEvent_1_emitter);
117
118 $_v_ExclusiveGateway_1_detector = new ilSimpleDetector($_v_ExclusiveGateway_1);
119 $_v_ExclusiveGateway_1_detector->setName('$_v_ExclusiveGateway_1_detector');
120 $_v_ExclusiveGateway_1_detector->setSourceNode($_v_IntermediateCatchEvent_2);
121 $_v_ExclusiveGateway_1->addDetector($_v_ExclusiveGateway_1_detector);
122 $_v_IntermediateCatchEvent_2_emitter = new ilActivationEmitter($_v_IntermediateCatchEvent_2);
123 $_v_IntermediateCatchEvent_2_emitter->setName('$_v_IntermediateCatchEvent_2_emitter');
124 $_v_IntermediateCatchEvent_2_emitter->setTargetDetector($_v_ExclusiveGateway_1_detector);
125 $_v_IntermediateCatchEvent_2->addEmitter($_v_IntermediateCatchEvent_2_emitter);
126
127 $_v_ExclusiveGateway_1_detector = new ilSimpleDetector($_v_ExclusiveGateway_1);
128 $_v_ExclusiveGateway_1_detector->setName('$_v_ExclusiveGateway_1_detector');
129 $_v_ExclusiveGateway_1_detector->setSourceNode($_v_IntermediateCatchEvent_3);
130 $_v_ExclusiveGateway_1->addDetector($_v_ExclusiveGateway_1_detector);
131 $_v_IntermediateCatchEvent_3_emitter = new ilActivationEmitter($_v_IntermediateCatchEvent_3);
132 $_v_IntermediateCatchEvent_3_emitter->setName('$_v_IntermediateCatchEvent_3_emitter');
133 $_v_IntermediateCatchEvent_3_emitter->setTargetDetector($_v_ExclusiveGateway_1_detector);
134 $_v_IntermediateCatchEvent_3->addEmitter($_v_IntermediateCatchEvent_3_emitter);
135
136 $_v_EndEvent_1_detector = new ilSimpleDetector($_v_EndEvent_1);
137 $_v_EndEvent_1_detector->setName('$_v_EndEvent_1_detector');
138 $_v_EndEvent_1_detector->setSourceNode($_v_ExclusiveGateway_1);
139 $_v_EndEvent_1->addDetector($_v_EndEvent_1_detector);
140 $_v_ExclusiveGateway_1_emitter = new ilActivationEmitter($_v_ExclusiveGateway_1);
141 $_v_ExclusiveGateway_1_emitter->setName('$_v_ExclusiveGateway_1_emitter');
142 $_v_ExclusiveGateway_1_emitter->setTargetDetector($_v_EndEvent_1_detector);
143 $_v_ExclusiveGateway_1->addEmitter($_v_ExclusiveGateway_1_emitter);
144
145 }
146 }
147
148?>
An exception for terminatinating execution or to throw for unit testing.
@noinspection PhpIncludeInspection
@noinspection PhpIncludeInspection
setStartNode(ilNode $node)
Sets the start node of the workflow.
addNode(ilNode $node)
This method adds a node to the workflow.
@noinspection PhpIncludeInspection
@noinspection PhpIncludeInspection
@noinspection PhpIncludeInspection
@noinspection PhpIncludeInspection