cpee 1.3.176 → 1.3.177
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cockpit/css/ui.css +26 -65
- data/cockpit/index.html +60 -77
- data/cockpit/js/details.js +8 -3
- data/cockpit/js/instance.js +24 -23
- data/cockpit/js/ui.js +1 -18
- data/cockpit/js/wfadaptor.cpee.js +452 -598
- data/cockpit/lib/ui.css +120 -124
- data/cockpit/lib/ui.js +84 -34
- data/cockpit/lib/wfadaptor.css +5 -5
- data/cockpit/lib/wfadaptor.js +5 -11
- data/cockpit/testsets/Worklist Parallel.xml +97 -0
- data/cockpit/testsets/Worklist Test CPEE.xml +39 -0
- data/cpee.gemspec +5 -5
- data/lib/cpee/controller.rb +1 -1
- data/lib/cpee/processtransformation/cpee.rb +2 -3
- data/server/instances/38/properties.xml +46 -0
- data/server/instances/39/properties.xml +58 -0
- data/server/instances/40/properties.xml +148 -0
- data/server/instances/41/properties.xml +46 -0
- data/server/instances/42/properties.xml +148 -0
- data/server/instances/43/notifications/9e7d05164a8539415d008b5bca3e0672/consumer-secret +1 -0
- data/server/instances/43/notifications/9e7d05164a8539415d008b5bca3e0672/producer-secret +1 -0
- data/server/instances/{37/notifications/2b67c793efcea22d88beaa28249001be → 43/notifications/9e7d05164a8539415d008b5bca3e0672}/subscription.xml +0 -0
- data/server/instances/43/properties.xml +148 -0
- data/server/instances/44/properties.xml +148 -0
- data/server/instances/45/notifications/442ed76f5da42dc9c57713840d713510/consumer-secret +1 -0
- data/server/instances/45/notifications/442ed76f5da42dc9c57713840d713510/producer-secret +1 -0
- data/server/instances/45/notifications/442ed76f5da42dc9c57713840d713510/subscription.xml +34 -0
- data/server/instances/45/properties.xml +148 -0
- data/server/instances/46/properties.xml +46 -0
- data/server/instances/47/notifications/63fba892899cc92fca381a666089e8d9/consumer-secret +1 -0
- data/server/instances/47/notifications/63fba892899cc92fca381a666089e8d9/producer-secret +1 -0
- data/server/instances/47/notifications/63fba892899cc92fca381a666089e8d9/subscription.xml +34 -0
- data/server/instances/47/notifications/e0cdacd3147aa31b0478a3ab1155db6c/consumer-secret +1 -0
- data/server/instances/47/notifications/e0cdacd3147aa31b0478a3ab1155db6c/producer-secret +1 -0
- data/server/instances/47/notifications/e0cdacd3147aa31b0478a3ab1155db6c/subscription.xml +34 -0
- data/server/instances/47/properties.xml +148 -0
- data/server/resources/transformation_dslx.xsl +4 -4
- data/server/server.pid +1 -0
- data/test/cb.rb +3 -3
- metadata +39 -20
- data/cockpit/lib/jquery-ui.custom.min.js +0 -8
- data/cockpit/lib/jquery-ui.custom.min.txt +0 -16
- data/cockpit/lib/jquery.redraw.js +0 -3
- data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/consumer-secret +0 -1
- data/server/instances/37/notifications/2b67c793efcea22d88beaa28249001be/producer-secret +0 -1
data/cockpit/lib/wfadaptor.css
CHANGED
|
@@ -124,7 +124,7 @@ svg text.normal {
|
|
|
124
124
|
font-stretch:normal;
|
|
125
125
|
text-align:center;
|
|
126
126
|
line-height:125%;
|
|
127
|
-
writing-mode:
|
|
127
|
+
writing-mode:horizontal-tb;
|
|
128
128
|
text-anchor:middle;
|
|
129
129
|
color:#000000;
|
|
130
130
|
fill:#000000;
|
|
@@ -140,7 +140,7 @@ svg text.inverted {
|
|
|
140
140
|
font-stretch:normal;
|
|
141
141
|
text-align:center;
|
|
142
142
|
line-height:125%;
|
|
143
|
-
writing-mode:
|
|
143
|
+
writing-mode:horizontal-tb;
|
|
144
144
|
text-anchor:middle;
|
|
145
145
|
color:#ffffff;
|
|
146
146
|
fill:#ffffff;
|
|
@@ -157,7 +157,7 @@ svg text.super {
|
|
|
157
157
|
font-stretch:normal;
|
|
158
158
|
text-align:center;
|
|
159
159
|
line-height:100%;
|
|
160
|
-
writing-mode:
|
|
160
|
+
writing-mode:horizontal-tb;
|
|
161
161
|
text-anchor:start;
|
|
162
162
|
color:#000000;
|
|
163
163
|
fill:#000000;
|
|
@@ -188,7 +188,7 @@ svg text.normallarge {
|
|
|
188
188
|
font-stretch:normal;
|
|
189
189
|
text-align:center;
|
|
190
190
|
line-height:125%;
|
|
191
|
-
writing-mode:
|
|
191
|
+
writing-mode:horizontal-tb;
|
|
192
192
|
text-anchor:middle;
|
|
193
193
|
color:#000000;
|
|
194
194
|
fill:#000000;
|
|
@@ -205,7 +205,7 @@ svg text.small {
|
|
|
205
205
|
font-stretch:normal;
|
|
206
206
|
text-align:center;
|
|
207
207
|
line-height:125%;
|
|
208
|
-
writing-mode:
|
|
208
|
+
writing-mode:horizontal-tb;
|
|
209
209
|
text-anchor:middle;
|
|
210
210
|
color:#000000;
|
|
211
211
|
fill:#000000;
|
data/cockpit/lib/wfadaptor.js
CHANGED
|
@@ -234,7 +234,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
234
234
|
this.get_node_by_svg_id = function(svg_id) { // {{{
|
|
235
235
|
return $('[svg-id = \'' + svg_id + '\']', description);
|
|
236
236
|
} // }}}
|
|
237
|
-
this.get_free_id = function() { // {{{
|
|
237
|
+
var get_free_id = this.get_free_id = function() { // {{{
|
|
238
238
|
var existing = new Array();
|
|
239
239
|
$('*[id]', description).each(function(){existing.push($(this).attr('id'))});
|
|
240
240
|
var id = 1;
|
|
@@ -242,7 +242,7 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
242
242
|
id += 1;
|
|
243
243
|
}
|
|
244
244
|
return 'a' + id;
|
|
245
|
-
} // }}}
|
|
245
|
+
} // }}}
|
|
246
246
|
var update = this.update = function(svgid) { // {{{
|
|
247
247
|
id_counter = {};
|
|
248
248
|
if(update_illustrator){
|
|
@@ -263,25 +263,19 @@ function WfDescription(wf_adaptor, wf_illustrator) { // Model {{{
|
|
|
263
263
|
// }}}
|
|
264
264
|
// Adaption functions {{{
|
|
265
265
|
this.insert_after = function(new_node, target) { // {{{
|
|
266
|
-
var nn;
|
|
267
|
-
if(typeof(new_node) == 'function') {nn = new_node(target);}
|
|
268
|
-
else {nn = new_node;}
|
|
266
|
+
var nn = $X(new_node.replace(/###/,get_free_id()));
|
|
269
267
|
target.after(nn);
|
|
270
268
|
nn.attr('new','true');
|
|
271
269
|
update();
|
|
272
270
|
} // }}}
|
|
273
271
|
this.insert_first_into = function(new_node, target, selector) { // {{{
|
|
274
|
-
var nn;
|
|
275
|
-
if(typeof(new_node) == 'function') {nn = new_node(target);}
|
|
276
|
-
else {nn = new_node;}
|
|
272
|
+
var nn = $X(new_node.replace(/###/,get_free_id()));
|
|
277
273
|
target.prepend(nn);
|
|
278
274
|
nn.attr('new','true');
|
|
279
275
|
update();
|
|
280
276
|
} // }}}
|
|
281
277
|
this.insert_last_into = function(new_node, target, selector) { // {{{
|
|
282
|
-
var nn;
|
|
283
|
-
if(typeof(new_node) == 'function') {nn = new_node(target);}
|
|
284
|
-
else {nn = new_node;}
|
|
278
|
+
var nn = $X(new_node.replace(/###/,get_free_id()));
|
|
285
279
|
target.append(nn);
|
|
286
280
|
nn.attr('new','true');
|
|
287
281
|
update();
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<testset>
|
|
3
|
+
<dataelements>
|
|
4
|
+
<bla xmlns="http://riddl.org/ns/common-patterns/properties/1.0"/>
|
|
5
|
+
<a xmlns="http://riddl.org/ns/common-patterns/properties/1.0">1</a>
|
|
6
|
+
<b xmlns="http://riddl.org/ns/common-patterns/properties/1.0">1</b>
|
|
7
|
+
<c xmlns="http://riddl.org/ns/common-patterns/properties/1.0">1</c>
|
|
8
|
+
</dataelements>
|
|
9
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
10
|
+
<endpoints>
|
|
11
|
+
<timeout xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
|
12
|
+
<cb xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://solo.wst.univie.ac.at:9302</cb>
|
|
13
|
+
</endpoints>
|
|
14
|
+
<positions/>
|
|
15
|
+
<description>
|
|
16
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
17
|
+
<parallel svg-label="">
|
|
18
|
+
<parallel_branch svg-label="">
|
|
19
|
+
<call id="a2" endpoint="cb" svg-label="">
|
|
20
|
+
<parameters>
|
|
21
|
+
<label>"OKA"</label>
|
|
22
|
+
<method>:post</method>
|
|
23
|
+
<parameters>
|
|
24
|
+
<orgmodel>"organisation1"</orgmodel>
|
|
25
|
+
<domain>"Virtual Business 1"</domain>
|
|
26
|
+
<form>"http://solo.wst.univie.ac.at/form/form-f.html"</form>
|
|
27
|
+
<role>"regular"</role>
|
|
28
|
+
<schaden>"10001"</schaden>
|
|
29
|
+
<text>"sehr gut"</text>
|
|
30
|
+
</parameters>
|
|
31
|
+
</parameters>
|
|
32
|
+
<finalize>data.a = result.value</finalize>
|
|
33
|
+
</call>
|
|
34
|
+
</parallel_branch>
|
|
35
|
+
<parallel_branch svg-label="">
|
|
36
|
+
<call id="a3" endpoint="cb" svg-label="">
|
|
37
|
+
<parameters>
|
|
38
|
+
<label>"OKB"</label>
|
|
39
|
+
<method>:post</method>
|
|
40
|
+
<parameters>
|
|
41
|
+
<orgmodel>"organisation1"</orgmodel>
|
|
42
|
+
<domain>"Virtual Business 1"</domain>
|
|
43
|
+
<form>"http://solo.wst.univie.ac.at/form/form-f.html"</form>
|
|
44
|
+
<role>"regular"</role>
|
|
45
|
+
<schaden>"12341231"</schaden>
|
|
46
|
+
<text>"totalo kaputto"</text>
|
|
47
|
+
</parameters>
|
|
48
|
+
</parameters>
|
|
49
|
+
<finalize>data.b = result.value</finalize>
|
|
50
|
+
</call>
|
|
51
|
+
</parallel_branch>
|
|
52
|
+
<parallel_branch svg-label="">
|
|
53
|
+
<call id="a4" endpoint="cb">
|
|
54
|
+
<parameters>
|
|
55
|
+
<label>"OKC"</label>
|
|
56
|
+
<method>:post</method>
|
|
57
|
+
<parameters>
|
|
58
|
+
<orgmodel>"organisation1"</orgmodel>
|
|
59
|
+
<domain>"Virtual Business 1"</domain>
|
|
60
|
+
<form>"http://solo.wst.univie.ac.at/form/form-f.html"</form>
|
|
61
|
+
<role>"regular"</role>
|
|
62
|
+
<schaden>"3000"</schaden>
|
|
63
|
+
<text>"ein Totalschaden"</text>
|
|
64
|
+
</parameters>
|
|
65
|
+
</parameters>
|
|
66
|
+
<finalize>data.c = result.value</finalize>
|
|
67
|
+
</call>
|
|
68
|
+
</parallel_branch>
|
|
69
|
+
</parallel>
|
|
70
|
+
<call id="a1" endpoint="cb" svg-label="OK OR NOT OK">
|
|
71
|
+
<parameters>
|
|
72
|
+
<label>"OK OR NOT OK"</label>
|
|
73
|
+
<method>:post</method>
|
|
74
|
+
<parameters>
|
|
75
|
+
<orgmodel>"organisation1"</orgmodel>
|
|
76
|
+
<domain>"Virtual Business 1"</domain>
|
|
77
|
+
<form>"http://solo.wst.univie.ac.at/form/form-f.html"</form>
|
|
78
|
+
<role>"regular"</role>
|
|
79
|
+
<schaden>"55546"</schaden>
|
|
80
|
+
<text>"fetzen hin"</text>
|
|
81
|
+
</parameters>
|
|
82
|
+
</parameters>
|
|
83
|
+
<finalize>data.bla = result.value</finalize>
|
|
84
|
+
</call>
|
|
85
|
+
</description>
|
|
86
|
+
</description>
|
|
87
|
+
<transformation>
|
|
88
|
+
<description type="copy"/>
|
|
89
|
+
<dataelements type="none"/>
|
|
90
|
+
<endpoints type="none"/>
|
|
91
|
+
</transformation>
|
|
92
|
+
<attributes>
|
|
93
|
+
<info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">asda</info>
|
|
94
|
+
<modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
|
|
95
|
+
<organisation1 xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
|
|
96
|
+
</attributes>
|
|
97
|
+
</testset>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<testset>
|
|
3
|
+
<dataelements><bla xmlns="http://riddl.org/ns/common-patterns/properties/1.0"/></dataelements>
|
|
4
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
5
|
+
<endpoints>
|
|
6
|
+
<timeout xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
|
7
|
+
<cb xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://cpee.org:9302</cb>
|
|
8
|
+
</endpoints>
|
|
9
|
+
<positions/>
|
|
10
|
+
<description>
|
|
11
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
12
|
+
<call id="a1" endpoint="cb">
|
|
13
|
+
<parameters>
|
|
14
|
+
<label>"OK OR NOT OK"</label>
|
|
15
|
+
<method>:post</method>
|
|
16
|
+
<parameters>
|
|
17
|
+
<orgmodel>"organisation1"</orgmodel>
|
|
18
|
+
<domain>"Virtual Business 1"</domain>
|
|
19
|
+
<form>"http://cpee.org/forms/form-f.html"</form>
|
|
20
|
+
<role>"regular"</role>
|
|
21
|
+
<schaden>"55546"</schaden>
|
|
22
|
+
<text>"fetzen hin"</text>
|
|
23
|
+
</parameters>
|
|
24
|
+
</parameters>
|
|
25
|
+
<manipulate>data.bla = result.value</manipulate>
|
|
26
|
+
</call>
|
|
27
|
+
</description>
|
|
28
|
+
</description>
|
|
29
|
+
<transformation>
|
|
30
|
+
<description type="copy"/>
|
|
31
|
+
<dataelements type="none"/>
|
|
32
|
+
<endpoints type="none"/>
|
|
33
|
+
</transformation>
|
|
34
|
+
<attributes>
|
|
35
|
+
<info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">asda</info>
|
|
36
|
+
<modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
|
|
37
|
+
<organisation1 xmlns="http://riddl.org/ns/common-patterns/properties/1.0">http://cpee.org/~demo/orgviz/organisation_informatik.xml</organisation1>
|
|
38
|
+
</attributes>
|
|
39
|
+
</testset>
|
data/cpee.gemspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = "cpee"
|
|
3
|
-
s.version = "1.3.
|
|
3
|
+
s.version = "1.3.177"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3"
|
|
6
6
|
s.summary = "Preliminary release of cloud process execution engine (cpee). If you just need workflow execution, without a rest/xmpp service exposing it, then use WEEL"
|
|
@@ -18,8 +18,8 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
s.email = 'juergen.mangler@gmail.com'
|
|
19
19
|
s.homepage = 'http://cpee.org/'
|
|
20
20
|
|
|
21
|
-
s.add_runtime_dependency 'riddl'
|
|
22
|
-
s.add_runtime_dependency 'weel'
|
|
23
|
-
s.add_runtime_dependency 'savon'
|
|
24
|
-
s.add_runtime_dependency 'highline'
|
|
21
|
+
s.add_runtime_dependency 'riddl', '>= 0.99.180'
|
|
22
|
+
s.add_runtime_dependency 'weel', '>= 1.99.39'
|
|
23
|
+
s.add_runtime_dependency 'savon', '~> 2'
|
|
24
|
+
s.add_runtime_dependency 'highline', '~> 1.6'
|
|
25
25
|
end
|
data/lib/cpee/controller.rb
CHANGED
|
@@ -251,7 +251,7 @@ module CPEE
|
|
|
251
251
|
end
|
|
252
252
|
end
|
|
253
253
|
end
|
|
254
|
-
evs.each { |e| @
|
|
254
|
+
evs.each { |e| @events[e].delete(key) if @events[e] }
|
|
255
255
|
vos.each do |e|
|
|
256
256
|
@callbacks.each{|voteid,cb|cb.delete_if!(e,key)}
|
|
257
257
|
@votes[e].delete(key) if @votes[e]
|
|
@@ -54,8 +54,7 @@ module CPEE
|
|
|
54
54
|
|
|
55
55
|
def print_Node(node,res)
|
|
56
56
|
if node.endpoints.empty? && !node.script.nil? && node.script.strip != ''
|
|
57
|
-
n = res.add('d:manipulate', 'id' => "a#{node.niceid}")
|
|
58
|
-
n.text = node.script
|
|
57
|
+
n = res.add('d:manipulate', 'id' => "a#{node.niceid}", node.script)
|
|
59
58
|
n.attributes['output'] = node.script_var unless node.script_var.nil?
|
|
60
59
|
n.attributes['language'] = node.script_type unless node.script_type.nil?
|
|
61
60
|
else
|
|
@@ -70,7 +69,7 @@ module CPEE
|
|
|
70
69
|
par.add(k,v)
|
|
71
70
|
end
|
|
72
71
|
if !node.script.nil? && node.script.strip != ''
|
|
73
|
-
x = n.add('
|
|
72
|
+
x = n.add('d:finalize',node.script)
|
|
74
73
|
x.attributes['output'] = node.script_var unless node.script_var.nil?
|
|
75
74
|
x.attributes['language'] = node.script_type unless node.script_type.nil?
|
|
76
75
|
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
|
2
|
+
<attributes>
|
|
3
|
+
<info>Enter info here</info>
|
|
4
|
+
<modeltype>CPEE</modeltype>
|
|
5
|
+
</attributes>
|
|
6
|
+
<state>ready</state>
|
|
7
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
8
|
+
<positions/>
|
|
9
|
+
<dataelements/>
|
|
10
|
+
<endpoints>
|
|
11
|
+
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
|
12
|
+
</endpoints>
|
|
13
|
+
<dsl>call :a1, :cb, { :label => "", :method => :post, :parameters => nil }
|
|
14
|
+
</dsl>
|
|
15
|
+
<dslx>
|
|
16
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
17
|
+
<call id="a1" endpoint="cb">
|
|
18
|
+
<parameters>
|
|
19
|
+
<label>""</label>
|
|
20
|
+
<method>:post</method>
|
|
21
|
+
<parameters/>
|
|
22
|
+
</parameters>
|
|
23
|
+
</call>
|
|
24
|
+
</description>
|
|
25
|
+
</dslx>
|
|
26
|
+
<status>
|
|
27
|
+
<id>0</id>
|
|
28
|
+
<message>undefined</message>
|
|
29
|
+
</status>
|
|
30
|
+
<description>
|
|
31
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
32
|
+
<call id="a1" endpoint="cb">
|
|
33
|
+
<parameters>
|
|
34
|
+
<label>""</label>
|
|
35
|
+
<method>:post</method>
|
|
36
|
+
<parameters/>
|
|
37
|
+
</parameters>
|
|
38
|
+
</call>
|
|
39
|
+
</description>
|
|
40
|
+
</description>
|
|
41
|
+
<transformation>
|
|
42
|
+
<description type="copy"/>
|
|
43
|
+
<dataelements type="none"/>
|
|
44
|
+
<endpoints type="none"/>
|
|
45
|
+
</transformation>
|
|
46
|
+
</properties>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
|
2
|
+
<attributes>
|
|
3
|
+
<info>Enter info here</info>
|
|
4
|
+
<modeltype>CPEE</modeltype>
|
|
5
|
+
</attributes>
|
|
6
|
+
<state>stopped</state>
|
|
7
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
8
|
+
<positions>
|
|
9
|
+
<a1>at</a1>
|
|
10
|
+
</positions>
|
|
11
|
+
<dataelements>
|
|
12
|
+
<b>8</b>
|
|
13
|
+
</dataelements>
|
|
14
|
+
<endpoints>
|
|
15
|
+
<cb>http://gruppe.wst.univie.ac.at/~mangler/services/callback.simple.php</cb>
|
|
16
|
+
</endpoints>
|
|
17
|
+
<dsl>call :a1, :cb, { :label => "Update", :method => :post, :parameters => nil }, <<-END, <<-END
|
|
18
|
+
data.a = result.value
|
|
19
|
+
END
|
|
20
|
+
data.b = result.value
|
|
21
|
+
END
|
|
22
|
+
</dsl>
|
|
23
|
+
<dslx>
|
|
24
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
25
|
+
<call id="a1" endpoint="cb">
|
|
26
|
+
<parameters>
|
|
27
|
+
<label>"Update"</label>
|
|
28
|
+
<method>:post</method>
|
|
29
|
+
<parameters/>
|
|
30
|
+
</parameters>
|
|
31
|
+
<finalize>data.a = result.value</finalize>
|
|
32
|
+
<update>data.b = result.value</update>
|
|
33
|
+
</call>
|
|
34
|
+
</description>
|
|
35
|
+
</dslx>
|
|
36
|
+
<status>
|
|
37
|
+
<id>0</id>
|
|
38
|
+
<message>undefined</message>
|
|
39
|
+
</status>
|
|
40
|
+
<description>
|
|
41
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
42
|
+
<call id="a1" endpoint="cb">
|
|
43
|
+
<parameters>
|
|
44
|
+
<label>"Update"</label>
|
|
45
|
+
<method>:post</method>
|
|
46
|
+
<parameters/>
|
|
47
|
+
</parameters>
|
|
48
|
+
<finalize>data.a = result.value</finalize>
|
|
49
|
+
<update>data.b = result.value</update>
|
|
50
|
+
</call>
|
|
51
|
+
</description>
|
|
52
|
+
</description>
|
|
53
|
+
<transformation>
|
|
54
|
+
<description type="copy"/>
|
|
55
|
+
<dataelements type="none"/>
|
|
56
|
+
<endpoints type="none"/>
|
|
57
|
+
</transformation>
|
|
58
|
+
</properties>
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
|
2
|
+
<attributes>
|
|
3
|
+
<info>Enter info here</info>
|
|
4
|
+
<modeltype>CPEE</modeltype>
|
|
5
|
+
</attributes>
|
|
6
|
+
<state>ready</state>
|
|
7
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
8
|
+
<positions/>
|
|
9
|
+
<dataelements>
|
|
10
|
+
<persons>3</persons>
|
|
11
|
+
<card>Visa_12345</card>
|
|
12
|
+
<airline>null</airline>
|
|
13
|
+
<hotels>[]</hotels>
|
|
14
|
+
<from>Vienna</from>
|
|
15
|
+
<to>Prague</to>
|
|
16
|
+
<costs>0</costs>
|
|
17
|
+
</dataelements>
|
|
18
|
+
<endpoints>
|
|
19
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
20
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
21
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
22
|
+
</endpoints>
|
|
23
|
+
<dsl>call :a1, :bookAir, { :method => :post, :parameters => {:from => data.from, :to => data.to, :persons => data.persons} }, <<-END
|
|
24
|
+
data.airline = result.value('id')
|
|
25
|
+
data.costs += result.value('costs').to_f
|
|
26
|
+
status.update 1, 'Hotel'
|
|
27
|
+
END
|
|
28
|
+
parallel do
|
|
29
|
+
loop pre_test{data.persons > 0} do
|
|
30
|
+
parallel_branch data.persons do |p|
|
|
31
|
+
call :a2, :bookHotel, { :method => :post, :parameters => {:to => data.to} }, <<-END
|
|
32
|
+
data.hotels << result.value('id')
|
|
33
|
+
data.costs += result.value('costs').to_f
|
|
34
|
+
END
|
|
35
|
+
end
|
|
36
|
+
manipulate :a3, <<-END
|
|
37
|
+
data.persons -= 1
|
|
38
|
+
END
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
choose :inclusive do
|
|
42
|
+
alternative "data.costs > 700" do
|
|
43
|
+
call :a4, :approve, { :method => :post, :parameters => {:costs => data.costs} }
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
</dsl>
|
|
47
|
+
<dslx>
|
|
48
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
49
|
+
<call id="a1" endpoint="bookAir">
|
|
50
|
+
<parameters>
|
|
51
|
+
<method>:post</method>
|
|
52
|
+
<parameters>
|
|
53
|
+
<from>data.from</from>
|
|
54
|
+
<to>data.to</to>
|
|
55
|
+
<persons>data.persons</persons>
|
|
56
|
+
</parameters>
|
|
57
|
+
</parameters>
|
|
58
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
59
|
+
data.costs += result.value('costs').to_f
|
|
60
|
+
status.update 1, 'Hotel'</finalize>
|
|
61
|
+
</call>
|
|
62
|
+
<parallel>
|
|
63
|
+
<loop pre_test="data.persons > 0">
|
|
64
|
+
<parallel_branch pass="data.persons" local="p">
|
|
65
|
+
<call id="a2" endpoint="bookHotel">
|
|
66
|
+
<parameters>
|
|
67
|
+
<method>:post</method>
|
|
68
|
+
<parameters>
|
|
69
|
+
<to>data.to</to>
|
|
70
|
+
</parameters>
|
|
71
|
+
</parameters>
|
|
72
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
73
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
74
|
+
</call>
|
|
75
|
+
</parallel_branch>
|
|
76
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
77
|
+
</loop>
|
|
78
|
+
</parallel>
|
|
79
|
+
<choose>
|
|
80
|
+
<alternative condition="data.costs > 700">
|
|
81
|
+
<call id="a4" endpoint="approve">
|
|
82
|
+
<parameters>
|
|
83
|
+
<method>:post</method>
|
|
84
|
+
<parameters>
|
|
85
|
+
<costs>data.costs</costs>
|
|
86
|
+
</parameters>
|
|
87
|
+
</parameters>
|
|
88
|
+
</call>
|
|
89
|
+
</alternative>
|
|
90
|
+
</choose>
|
|
91
|
+
</description>
|
|
92
|
+
</dslx>
|
|
93
|
+
<status>
|
|
94
|
+
<id>0</id>
|
|
95
|
+
<message>undefined</message>
|
|
96
|
+
</status>
|
|
97
|
+
<description>
|
|
98
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
99
|
+
<call id="a1" endpoint="bookAir">
|
|
100
|
+
<parameters>
|
|
101
|
+
<method>:post</method>
|
|
102
|
+
<parameters>
|
|
103
|
+
<from>data.from</from>
|
|
104
|
+
<to>data.to</to>
|
|
105
|
+
<persons>data.persons</persons>
|
|
106
|
+
</parameters>
|
|
107
|
+
</parameters>
|
|
108
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
109
|
+
data.costs += result.value('costs').to_f
|
|
110
|
+
status.update 1, 'Hotel'</finalize>
|
|
111
|
+
</call>
|
|
112
|
+
<parallel>
|
|
113
|
+
<loop pre_test="data.persons > 0">
|
|
114
|
+
<parallel_branch pass="data.persons" local="p">
|
|
115
|
+
<call id="a2" endpoint="bookHotel">
|
|
116
|
+
<parameters>
|
|
117
|
+
<method>:post</method>
|
|
118
|
+
<parameters>
|
|
119
|
+
<to>data.to</to>
|
|
120
|
+
</parameters>
|
|
121
|
+
</parameters>
|
|
122
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
123
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
124
|
+
</call>
|
|
125
|
+
</parallel_branch>
|
|
126
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
127
|
+
</loop>
|
|
128
|
+
</parallel>
|
|
129
|
+
<choose>
|
|
130
|
+
<alternative condition="data.costs > 700">
|
|
131
|
+
<call id="a4" endpoint="approve">
|
|
132
|
+
<parameters>
|
|
133
|
+
<method>:post</method>
|
|
134
|
+
<parameters>
|
|
135
|
+
<costs>data.costs</costs>
|
|
136
|
+
</parameters>
|
|
137
|
+
</parameters>
|
|
138
|
+
</call>
|
|
139
|
+
</alternative>
|
|
140
|
+
</choose>
|
|
141
|
+
</description>
|
|
142
|
+
</description>
|
|
143
|
+
<transformation>
|
|
144
|
+
<description type="copy"/>
|
|
145
|
+
<dataelements type="rest"/>
|
|
146
|
+
<endpoints type="rest"/>
|
|
147
|
+
</transformation>
|
|
148
|
+
</properties>
|