cpee 1.4.15 → 1.4.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/js/instance.js +15 -6
  3. data/cockpit/js/wfadaptor.js +18 -3
  4. data/cockpit/themes/compact/theme.js +5 -3
  5. data/cockpit/themes/default/rngs/choose.rng +2 -2
  6. data/cockpit/themes/default/rngs/parallel.rng +2 -2
  7. data/cockpit/themes/default/theme.js +5 -3
  8. data/cockpit/themes/extended/theme.js +1042 -0
  9. data/cockpit/track.html +118 -0
  10. data/cpee.gemspec +1 -1
  11. data/lib/cpee/controller.rb +24 -8
  12. data/lib/cpee/implementation.rb +3 -6
  13. data/server/handlerwrappers/default.rb +1 -1
  14. data/server/resources/properties.init +5 -4
  15. data/server/resources/properties.schema.active +9 -1
  16. data/server/resources/properties.schema.finished +8 -0
  17. data/server/resources/properties.schema.inactive +8 -0
  18. data/tools/cpee +42 -19
  19. metadata +4 -109
  20. data/log/logs/1/test +0 -1
  21. data/log/logs/3b0cfe66-5a3d-43de-b5a1-d7b9386be65a.xes.yaml +0 -413
  22. data/server/instances/1/properties.xml +0 -62
  23. data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/consumer-secret +0 -1
  24. data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/producer-secret +0 -1
  25. data/server/instances/10/notifications/182434032285ca1d06a8b6554b8889c8/subscription.xml +0 -23
  26. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/consumer-secret +0 -1
  27. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/producer-secret +0 -1
  28. data/server/instances/10/notifications/512a3785631a5245dbb45fa150ea72ed/subscription.xml +0 -6
  29. data/server/instances/10/properties.xml +0 -187
  30. data/server/instances/11/properties.xml +0 -191
  31. data/server/instances/12/properties.xml +0 -191
  32. data/server/instances/13/properties.xml +0 -204
  33. data/server/instances/14/properties.xml +0 -31
  34. data/server/instances/15/properties.xml +0 -30
  35. data/server/instances/16/properties.xml +0 -29
  36. data/server/instances/17/properties.xml +0 -29
  37. data/server/instances/18/properties.xml +0 -31
  38. data/server/instances/19/properties.xml +0 -31
  39. data/server/instances/2/properties.xml +0 -31
  40. data/server/instances/20/properties.xml +0 -191
  41. data/server/instances/21/properties.xml +0 -156
  42. data/server/instances/22/properties.xml +0 -118
  43. data/server/instances/23/properties.xml +0 -118
  44. data/server/instances/24/properties.xml +0 -156
  45. data/server/instances/25/properties.xml +0 -156
  46. data/server/instances/26/properties.xml +0 -156
  47. data/server/instances/27/properties.xml +0 -140
  48. data/server/instances/28/properties.xml +0 -156
  49. data/server/instances/29/properties.xml +0 -156
  50. data/server/instances/3/properties.xml +0 -120
  51. data/server/instances/30/properties.xml +0 -354
  52. data/server/instances/31/properties.xml +0 -354
  53. data/server/instances/313/notifications/crisp/consumer-secret +0 -1
  54. data/server/instances/313/notifications/crisp/producer-secret +0 -1
  55. data/server/instances/313/notifications/crisp/subscription.xml +0 -7
  56. data/server/instances/313/notifications/logging/consumer-secret +0 -1
  57. data/server/instances/313/notifications/logging/producer-secret +0 -1
  58. data/server/instances/313/notifications/logging/subscription.xml +0 -7
  59. data/server/instances/313/notifications/logging_yaml/consumer-secret +0 -1
  60. data/server/instances/313/notifications/logging_yaml/producer-secret +0 -1
  61. data/server/instances/313/notifications/logging_yaml/subscription.xml +0 -7
  62. data/server/instances/313/properties.xml +0 -524
  63. data/server/instances/32/properties.xml +0 -628
  64. data/server/instances/33/properties.xml +0 -156
  65. data/server/instances/4/properties.xml +0 -114
  66. data/server/instances/5/properties.xml +0 -114
  67. data/server/instances/6/properties.xml +0 -206
  68. data/server/instances/662/notifications/crisp/consumer-secret +0 -1
  69. data/server/instances/662/notifications/crisp/producer-secret +0 -1
  70. data/server/instances/662/notifications/crisp/subscription.xml +0 -7
  71. data/server/instances/662/notifications/logging/consumer-secret +0 -1
  72. data/server/instances/662/notifications/logging/producer-secret +0 -1
  73. data/server/instances/662/notifications/logging/subscription.xml +0 -7
  74. data/server/instances/662/notifications/logging_yaml/consumer-secret +0 -1
  75. data/server/instances/662/notifications/logging_yaml/producer-secret +0 -1
  76. data/server/instances/662/notifications/logging_yaml/subscription.xml +0 -7
  77. data/server/instances/662/properties.xml +0 -427
  78. data/server/instances/663/properties.xml +0 -31
  79. data/server/instances/664/properties.xml +0 -425
  80. data/server/instances/665/properties.xml +0 -425
  81. data/server/instances/666/properties.xml +0 -427
  82. data/server/instances/667/properties.xml +0 -427
  83. data/server/instances/668/properties.xml +0 -425
  84. data/server/instances/669/properties.xml +0 -425
  85. data/server/instances/670/properties.xml +0 -31
  86. data/server/instances/671/properties.xml +0 -158
  87. data/server/instances/672/properties.xml +0 -199
  88. data/server/instances/673/properties.xml +0 -52
  89. data/server/instances/674/properties.xml +0 -75
  90. data/server/instances/675/notifications/10fa09a02f1a981a931ebe75d8cabe48/consumer-secret +0 -1
  91. data/server/instances/675/notifications/10fa09a02f1a981a931ebe75d8cabe48/producer-secret +0 -1
  92. data/server/instances/675/notifications/10fa09a02f1a981a931ebe75d8cabe48/subscription.xml +0 -6
  93. data/server/instances/675/properties.xml +0 -74
  94. data/server/instances/676/properties.xml +0 -76
  95. data/server/instances/677/properties.xml +0 -76
  96. data/server/instances/678/properties.xml +0 -74
  97. data/server/instances/679/properties.xml +0 -76
  98. data/server/instances/680/properties.xml +0 -76
  99. data/server/instances/681/properties.xml +0 -156
  100. data/server/instances/682/properties.xml +0 -156
  101. data/server/instances/683/properties.xml +0 -156
  102. data/server/instances/684/properties.xml +0 -156
  103. data/server/instances/685/properties.xml +0 -156
  104. data/server/instances/686/properties.xml +0 -156
  105. data/server/instances/687/properties.xml +0 -156
  106. data/server/instances/688/properties.xml +0 -118
  107. data/server/instances/689/properties.xml +0 -156
  108. data/server/instances/690/properties.xml +0 -156
  109. data/server/instances/691/properties.xml +0 -129
  110. data/server/instances/692/properties.xml +0 -31
  111. data/server/instances/693/properties.xml +0 -118
  112. data/server/instances/694/properties.xml +0 -118
  113. data/server/instances/695/properties.xml +0 -156
  114. data/server/instances/696/properties.xml +0 -156
  115. data/server/instances/697/notifications/ruleengine/consumer-secret +0 -1
  116. data/server/instances/697/notifications/ruleengine/producer-secret +0 -1
  117. data/server/instances/697/notifications/ruleengine/subscription.xml +0 -16
  118. data/server/instances/697/properties.xml +0 -156
  119. data/server/instances/698/notifications/ruleengine/consumer-secret +0 -1
  120. data/server/instances/698/notifications/ruleengine/producer-secret +0 -1
  121. data/server/instances/698/notifications/ruleengine/subscription.xml +0 -16
  122. data/server/instances/698/properties.xml +0 -31
  123. data/server/instances/7/properties.xml +0 -156
  124. data/server/instances/8/properties.xml +0 -118
  125. data/server/instances/9/properties.xml +0 -120
  126. data/server/server.pid +0 -1
@@ -1,156 +0,0 @@
1
- <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
- <attributes>
3
- <uuid>f8ac6e8d-75d9-42a9-bd13-f61fdde5c78e</uuid>
4
- <info>Plain Instance</info>
5
- <modeltype>CPEE</modeltype>
6
- <theme>default</theme>
7
- </attributes>
8
- <state>finished</state>
9
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
- <positions/>
11
- <dataelements>
12
- <persons>0</persons>
13
- <card>Visa_12345</card>
14
- <airline>Aeroflot</airline>
15
- <hotels>["Ibis","Ibis","Ibis"]</hotels>
16
- <from>Vienna</from>
17
- <to>Prague</to>
18
- <costs>698.0</costs>
19
- </dataelements>
20
- <endpoints>
21
- <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
22
- <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
23
- <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
24
- </endpoints>
25
- <dsl>call :a1, :bookAir, parameters: { :label =&gt; "Book Airline", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; "data.from"), ⭐(:name =&gt; :to, :value =&gt; "data.to"), ⭐(:name =&gt; :persons, :value =&gt; "data.persons")] }, finalize: &lt;&lt;-END
26
- data.airline = result.value('id')
27
- data.costs += result.value('costs').to_f
28
- status.update 1, 'Hotel'
29
- END
30
- parallel do
31
- loop pre_test{data.persons &gt; 0} do
32
- parallel_branch data.persons do |p|
33
- call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; "data.to")] }, finalize: &lt;&lt;-END
34
- data.hotels &lt;&lt; result.value('id')
35
- data.costs += result.value('costs').to_f
36
- END
37
- end
38
- manipulate :a3, &lt;&lt;-END
39
- data.persons -= 1
40
- END
41
- end
42
- end
43
- choose :inclusive do
44
- alternative test{data.costs &gt; 700} do
45
- call :a4, :approve, parameters: { :label =&gt; "Approve Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; "data.costs")] }
46
- end
47
- end
48
- </dsl>
49
- <dslx>
50
- <description xmlns="http://cpee.org/ns/description/1.0">
51
- <call id="a1" endpoint="bookAir">
52
- <parameters>
53
- <label>Book Airline</label>
54
- <method>:post</method>
55
- <arguments>
56
- <from>data.from</from>
57
- <to>data.to</to>
58
- <persons>data.persons</persons>
59
- </arguments>
60
- </parameters>
61
- <finalize output="result">data.airline = result.value('id')
62
- data.costs += result.value('costs').to_f
63
- status.update 1, 'Hotel'</finalize>
64
- </call>
65
- <parallel>
66
- <loop mode="pre_test" condition="data.persons &gt; 0">
67
- <parallel_branch pass="data.persons" local="p">
68
- <call id="a2" endpoint="bookHotel">
69
- <parameters>
70
- <label>Book Hotel</label>
71
- <method>:post</method>
72
- <arguments>
73
- <to>data.to</to>
74
- </arguments>
75
- </parameters>
76
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
77
- data.costs += result.value('costs').to_f</finalize>
78
- </call>
79
- </parallel_branch>
80
- <manipulate id="a3">data.persons -= 1</manipulate>
81
- </loop>
82
- </parallel>
83
- <choose mode="inclusive">
84
- <alternative condition="data.costs &gt; 700">
85
- <call id="a4" endpoint="approve">
86
- <parameters>
87
- <label>Approve Hotel</label>
88
- <method>:post</method>
89
- <arguments>
90
- <costs>data.costs</costs>
91
- </arguments>
92
- </parameters>
93
- </call>
94
- </alternative>
95
- </choose>
96
- </description>
97
- </dslx>
98
- <status>
99
- <id>1</id>
100
- <message>Hotel</message>
101
- </status>
102
- <description>
103
- <description xmlns="http://cpee.org/ns/description/1.0">
104
- <call id="a1" endpoint="bookAir">
105
- <parameters>
106
- <label>Book Airline</label>
107
- <method>:post</method>
108
- <arguments>
109
- <from>data.from</from>
110
- <to>data.to</to>
111
- <persons>data.persons</persons>
112
- </arguments>
113
- </parameters>
114
- <finalize output="result">data.airline = result.value('id')
115
- data.costs += result.value('costs').to_f
116
- status.update 1, 'Hotel'</finalize>
117
- </call>
118
- <parallel>
119
- <loop mode="pre_test" condition="data.persons &gt; 0">
120
- <parallel_branch pass="data.persons" local="p">
121
- <call id="a2" endpoint="bookHotel">
122
- <parameters>
123
- <label>Book Hotel</label>
124
- <method>:post</method>
125
- <arguments>
126
- <to>data.to</to>
127
- </arguments>
128
- </parameters>
129
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
130
- data.costs += result.value('costs').to_f</finalize>
131
- </call>
132
- </parallel_branch>
133
- <manipulate id="a3">data.persons -= 1</manipulate>
134
- </loop>
135
- </parallel>
136
- <choose mode="inclusive">
137
- <alternative condition="data.costs &gt; 700">
138
- <call id="a4" endpoint="approve">
139
- <parameters>
140
- <label>Approve Hotel</label>
141
- <method>:post</method>
142
- <arguments>
143
- <costs>data.costs</costs>
144
- </arguments>
145
- </parameters>
146
- </call>
147
- </alternative>
148
- </choose>
149
- </description>
150
- </description>
151
- <transformation>
152
- <description type="copy"/>
153
- <dataelements type="rest"/>
154
- <endpoints type="rest"/>
155
- </transformation>
156
- </properties>
@@ -1,156 +0,0 @@
1
- <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
- <attributes>
3
- <uuid>7f5966aa-8d62-4f64-b45d-d89491d1117a</uuid>
4
- <info>Plain Instance</info>
5
- <modeltype>CPEE</modeltype>
6
- <theme>default</theme>
7
- </attributes>
8
- <state>finished</state>
9
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
- <positions/>
11
- <dataelements>
12
- <persons>0</persons>
13
- <card>Visa_12345</card>
14
- <airline>Lufthansa</airline>
15
- <hotels>["Ibis","Ibis","Rathaus"]</hotels>
16
- <from>Vienna</from>
17
- <to>Prague</to>
18
- <costs>1049.0</costs>
19
- </dataelements>
20
- <endpoints>
21
- <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
22
- <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
23
- <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
24
- </endpoints>
25
- <dsl>call :a1, :bookAir, parameters: { :label =&gt; "Book Airline", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; "data.from"), ⭐(:name =&gt; :to, :value =&gt; "data.to"), ⭐(:name =&gt; :persons, :value =&gt; "data.persons")] }, finalize: &lt;&lt;-END
26
- data.airline = result.value('id')
27
- data.costs += result.value('costs').to_f
28
- status.update 1, 'Hotel'
29
- END
30
- parallel do
31
- loop pre_test{data.persons &gt; 0} do
32
- parallel_branch data.persons do |p|
33
- call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; "data.to")] }, finalize: &lt;&lt;-END
34
- data.hotels &lt;&lt; result.value('id')
35
- data.costs += result.value('costs').to_f
36
- END
37
- end
38
- manipulate :a3, &lt;&lt;-END
39
- data.persons -= 1
40
- END
41
- end
42
- end
43
- choose :inclusive do
44
- alternative test{data.costs &gt; 700} do
45
- call :a4, :approve, parameters: { :label =&gt; "Approve Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; "data.costs")] }
46
- end
47
- end
48
- </dsl>
49
- <dslx>
50
- <description xmlns="http://cpee.org/ns/description/1.0">
51
- <call id="a1" endpoint="bookAir">
52
- <parameters>
53
- <label>Book Airline</label>
54
- <method>:post</method>
55
- <arguments>
56
- <from>data.from</from>
57
- <to>data.to</to>
58
- <persons>data.persons</persons>
59
- </arguments>
60
- </parameters>
61
- <finalize output="result">data.airline = result.value('id')
62
- data.costs += result.value('costs').to_f
63
- status.update 1, 'Hotel'</finalize>
64
- </call>
65
- <parallel>
66
- <loop mode="pre_test" condition="data.persons &gt; 0">
67
- <parallel_branch pass="data.persons" local="p">
68
- <call id="a2" endpoint="bookHotel">
69
- <parameters>
70
- <label>Book Hotel</label>
71
- <method>:post</method>
72
- <arguments>
73
- <to>data.to</to>
74
- </arguments>
75
- </parameters>
76
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
77
- data.costs += result.value('costs').to_f</finalize>
78
- </call>
79
- </parallel_branch>
80
- <manipulate id="a3">data.persons -= 1</manipulate>
81
- </loop>
82
- </parallel>
83
- <choose mode="inclusive">
84
- <alternative condition="data.costs &gt; 700">
85
- <call id="a4" endpoint="approve">
86
- <parameters>
87
- <label>Approve Hotel</label>
88
- <method>:post</method>
89
- <arguments>
90
- <costs>data.costs</costs>
91
- </arguments>
92
- </parameters>
93
- </call>
94
- </alternative>
95
- </choose>
96
- </description>
97
- </dslx>
98
- <status>
99
- <id>1</id>
100
- <message>Hotel</message>
101
- </status>
102
- <description>
103
- <description xmlns="http://cpee.org/ns/description/1.0">
104
- <call id="a1" endpoint="bookAir">
105
- <parameters>
106
- <label>Book Airline</label>
107
- <method>:post</method>
108
- <arguments>
109
- <from>data.from</from>
110
- <to>data.to</to>
111
- <persons>data.persons</persons>
112
- </arguments>
113
- </parameters>
114
- <finalize output="result">data.airline = result.value('id')
115
- data.costs += result.value('costs').to_f
116
- status.update 1, 'Hotel'</finalize>
117
- </call>
118
- <parallel>
119
- <loop mode="pre_test" condition="data.persons &gt; 0">
120
- <parallel_branch pass="data.persons" local="p">
121
- <call id="a2" endpoint="bookHotel">
122
- <parameters>
123
- <label>Book Hotel</label>
124
- <method>:post</method>
125
- <arguments>
126
- <to>data.to</to>
127
- </arguments>
128
- </parameters>
129
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
130
- data.costs += result.value('costs').to_f</finalize>
131
- </call>
132
- </parallel_branch>
133
- <manipulate id="a3">data.persons -= 1</manipulate>
134
- </loop>
135
- </parallel>
136
- <choose mode="inclusive">
137
- <alternative condition="data.costs &gt; 700">
138
- <call id="a4" endpoint="approve">
139
- <parameters>
140
- <label>Approve Hotel</label>
141
- <method>:post</method>
142
- <arguments>
143
- <costs>data.costs</costs>
144
- </arguments>
145
- </parameters>
146
- </call>
147
- </alternative>
148
- </choose>
149
- </description>
150
- </description>
151
- <transformation>
152
- <description type="copy"/>
153
- <dataelements type="rest"/>
154
- <endpoints type="rest"/>
155
- </transformation>
156
- </properties>
@@ -1,156 +0,0 @@
1
- <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
- <attributes>
3
- <uuid>6ba38cc3-0b4f-4080-936e-426cca3d146d</uuid>
4
- <info>Plain Instance</info>
5
- <modeltype>CPEE</modeltype>
6
- <theme>default</theme>
7
- </attributes>
8
- <state>ready</state>
9
- <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
10
- <positions/>
11
- <dataelements>
12
- <persons>3</persons>
13
- <card>Visa_12345</card>
14
- <airline>null</airline>
15
- <hotels>[]</hotels>
16
- <from>Vienna</from>
17
- <to>Prague</to>
18
- <costs>0</costs>
19
- </dataelements>
20
- <endpoints>
21
- <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
22
- <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
23
- <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
24
- </endpoints>
25
- <dsl>call :a1, :bookAir, parameters: { :label =&gt; "Book Airline", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; "data.from"), ⭐(:name =&gt; :to, :value =&gt; "data.to"), ⭐(:name =&gt; :persons, :value =&gt; "data.persons")] }, finalize: &lt;&lt;-END
26
- data.airline = result.value('id')
27
- data.costs += result.value('costs').to_f
28
- status.update 1, 'Hotel'
29
- END
30
- parallel do
31
- loop pre_test{data.persons &gt; 0} do
32
- parallel_branch data.persons do |p|
33
- call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; "data.to")] }, finalize: &lt;&lt;-END
34
- data.hotels &lt;&lt; result.value('id')
35
- data.costs += result.value('costs').to_f
36
- END
37
- end
38
- manipulate :a3, &lt;&lt;-END
39
- data.persons -= 1
40
- END
41
- end
42
- end
43
- choose :inclusive do
44
- alternative test{data.costs &gt; 700} do
45
- call :a4, :approve, parameters: { :label =&gt; "Approve Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; "data.costs")] }
46
- end
47
- end
48
- </dsl>
49
- <dslx>
50
- <description xmlns="http://cpee.org/ns/description/1.0">
51
- <call id="a1" endpoint="bookAir">
52
- <parameters>
53
- <label>Book Airline</label>
54
- <method>:post</method>
55
- <arguments>
56
- <from>data.from</from>
57
- <to>data.to</to>
58
- <persons>data.persons</persons>
59
- </arguments>
60
- </parameters>
61
- <finalize output="result">data.airline = result.value('id')
62
- data.costs += result.value('costs').to_f
63
- status.update 1, 'Hotel'</finalize>
64
- </call>
65
- <parallel>
66
- <loop mode="pre_test" condition="data.persons &gt; 0">
67
- <parallel_branch pass="data.persons" local="p">
68
- <call id="a2" endpoint="bookHotel">
69
- <parameters>
70
- <label>Book Hotel</label>
71
- <method>:post</method>
72
- <arguments>
73
- <to>data.to</to>
74
- </arguments>
75
- </parameters>
76
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
77
- data.costs += result.value('costs').to_f</finalize>
78
- </call>
79
- </parallel_branch>
80
- <manipulate id="a3">data.persons -= 1</manipulate>
81
- </loop>
82
- </parallel>
83
- <choose mode="inclusive">
84
- <alternative condition="data.costs &gt; 700">
85
- <call id="a4" endpoint="approve">
86
- <parameters>
87
- <label>Approve Hotel</label>
88
- <method>:post</method>
89
- <arguments>
90
- <costs>data.costs</costs>
91
- </arguments>
92
- </parameters>
93
- </call>
94
- </alternative>
95
- </choose>
96
- </description>
97
- </dslx>
98
- <status>
99
- <id>0</id>
100
- <message>undefined</message>
101
- </status>
102
- <description>
103
- <description xmlns="http://cpee.org/ns/description/1.0">
104
- <call id="a1" endpoint="bookAir">
105
- <parameters>
106
- <label>Book Airline</label>
107
- <method>:post</method>
108
- <arguments>
109
- <from>data.from</from>
110
- <to>data.to</to>
111
- <persons>data.persons</persons>
112
- </arguments>
113
- </parameters>
114
- <finalize output="result">data.airline = result.value('id')
115
- data.costs += result.value('costs').to_f
116
- status.update 1, 'Hotel'</finalize>
117
- </call>
118
- <parallel>
119
- <loop mode="pre_test" condition="data.persons &gt; 0">
120
- <parallel_branch pass="data.persons" local="p">
121
- <call id="a2" endpoint="bookHotel">
122
- <parameters>
123
- <label>Book Hotel</label>
124
- <method>:post</method>
125
- <arguments>
126
- <to>data.to</to>
127
- </arguments>
128
- </parameters>
129
- <finalize output="result">data.hotels &lt;&lt; result.value('id')
130
- data.costs += result.value('costs').to_f</finalize>
131
- </call>
132
- </parallel_branch>
133
- <manipulate id="a3">data.persons -= 1</manipulate>
134
- </loop>
135
- </parallel>
136
- <choose mode="inclusive">
137
- <alternative condition="data.costs &gt; 700">
138
- <call id="a4" endpoint="approve">
139
- <parameters>
140
- <label>Approve Hotel</label>
141
- <method>:post</method>
142
- <arguments>
143
- <costs>data.costs</costs>
144
- </arguments>
145
- </parameters>
146
- </call>
147
- </alternative>
148
- </choose>
149
- </description>
150
- </description>
151
- <transformation>
152
- <description type="copy"/>
153
- <dataelements type="rest"/>
154
- <endpoints type="rest"/>
155
- </transformation>
156
- </properties>