cpee 1.3.183 → 1.3.184
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/filters.svg +36 -0
- data/cockpit/css/wfadaptor.css +13 -9
- data/cockpit/js/parameters.js +3 -0
- data/cockpit/js/wfadaptor.js +5 -3
- data/cockpit/testsets/Linear.xml +5 -0
- data/cockpit/testsets/testsets.xml +1 -0
- data/cockpit/themes/adventure/theme.js +2 -0
- data/cockpit/themes/default/theme.js +2 -0
- data/cpee.gemspec +1 -1
- data/server/handlerwrappers/log.rb +3 -3
- data/server/instances/28/properties.xml +149 -0
- data/server/instances/29/properties.xml +149 -0
- data/server/instances/30/properties.xml +113 -0
- data/server/instances/31/properties.xml +149 -0
- data/server/instances/32/properties.xml +47 -0
- data/server/instances/33/properties.xml +149 -0
- data/server/server.pid +1 -1
- metadata +9 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a31a8e8152b419e274eb8edf2214b027f5c9d3ed
|
|
4
|
+
data.tar.gz: fa2f0dc829efa251771738ccdadd91d7d5445034
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50dd4ef347e9c52ff661bf421bae0444a73401cc364cdb77e69f53bd747341b80feeb2c958f86baab3edef5bc1aafe039d76d1fa46c6ed86aaa0adc0dd36dee4
|
|
7
|
+
data.tar.gz: 7a9715b4a610b38c12f5afd69ca28ab995f14bdecdf590849c55d3e11fc0d9cfcc47c6adf44d621b743b0982b6669c31f0a7c82300083d4585aabedfa1376b0b
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<svg class="clickable" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<filter id="black-glow">
|
|
4
|
+
<feColorMatrix type="matrix" values=
|
|
5
|
+
"0 0 0 0 0
|
|
6
|
+
0 0 0 0 0
|
|
7
|
+
0 0 0 0 0
|
|
8
|
+
0 0 0 1 0"/>
|
|
9
|
+
<feGaussianBlur stdDeviation="2.5" result="coloredBlur"/>
|
|
10
|
+
<feMerge>
|
|
11
|
+
<feMergeNode in="coloredBlur"/>
|
|
12
|
+
<feMergeNode in="SourceGraphic"/>
|
|
13
|
+
</feMerge>
|
|
14
|
+
</filter>
|
|
15
|
+
<filter id="glow">
|
|
16
|
+
<feGaussianBlur stdDeviation="2" result="coloredBlur"/>
|
|
17
|
+
<feMerge>
|
|
18
|
+
<feMergeNode in="coloredBlur"/>
|
|
19
|
+
<feMergeNode in="SourceGraphic"/>
|
|
20
|
+
</feMerge>
|
|
21
|
+
</filter>
|
|
22
|
+
<filter id="shadow" width="1.5" height="1.5" x="-.25" y="-.25">
|
|
23
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="2.5" result="blur"/>
|
|
24
|
+
<feColorMatrix result="bluralpha" type="matrix" values=
|
|
25
|
+
"1 0 0 0 0
|
|
26
|
+
0 1 0 0 0
|
|
27
|
+
0 0 1 0 0
|
|
28
|
+
0 0 0 0.4 0 "/>
|
|
29
|
+
<feOffset in="bluralpha" dx="3" dy="3" result="offsetBlur"/>
|
|
30
|
+
<feMerge>
|
|
31
|
+
<feMergeNode in="offsetBlur"/>
|
|
32
|
+
<feMergeNode in="SourceGraphic"/>
|
|
33
|
+
</feMerge>
|
|
34
|
+
</filter>
|
|
35
|
+
</defs>
|
|
36
|
+
</svg>
|
data/cockpit/css/wfadaptor.css
CHANGED
|
@@ -27,35 +27,34 @@ svg rect.group {
|
|
|
27
27
|
fill: Highlight;
|
|
28
28
|
fill-opacity: 0.2;
|
|
29
29
|
}
|
|
30
|
-
svg .clickable { cursor: pointer; }
|
|
31
30
|
|
|
32
31
|
svg g.passive .rfill {
|
|
33
32
|
fill: #729fcf;
|
|
34
33
|
fill-opacity:1;
|
|
35
|
-
}
|
|
34
|
+
}
|
|
36
35
|
svg g.active .rfill {
|
|
37
36
|
fill: #ef2929;
|
|
38
37
|
fill-opacity:1;
|
|
39
|
-
}
|
|
38
|
+
}
|
|
40
39
|
svg g.vote .rfill {
|
|
41
40
|
fill: #8ae234;
|
|
42
41
|
fill-opacity:1;
|
|
43
|
-
}
|
|
42
|
+
}
|
|
44
43
|
|
|
45
44
|
svg line.ourline, svg path.ourline {
|
|
46
|
-
stroke-opacity:1;
|
|
45
|
+
stroke-opacity:1;
|
|
47
46
|
stroke:#000000;
|
|
48
|
-
stroke-width: 2;
|
|
47
|
+
stroke-width: 2;
|
|
49
48
|
fill: none;
|
|
50
49
|
}
|
|
51
50
|
svg rect.block {
|
|
52
|
-
stroke-width: 1;
|
|
51
|
+
stroke-width: 1;
|
|
53
52
|
stroke-dasharray: 3,5;
|
|
54
53
|
stroke: #000000;
|
|
55
54
|
fill: none;
|
|
56
55
|
}
|
|
57
56
|
svg rect.tile {
|
|
58
|
-
stroke-width: 1;
|
|
57
|
+
stroke-width: 1;
|
|
59
58
|
stroke-dasharray: 3,5;
|
|
60
59
|
fill: Highlight;
|
|
61
60
|
fill-opacity: 0.3;
|
|
@@ -72,6 +71,11 @@ svg .stand {
|
|
|
72
71
|
stroke-opacity:1;
|
|
73
72
|
stroke-dasharray:none;
|
|
74
73
|
}
|
|
74
|
+
svg .clicked {
|
|
75
|
+
fill: grey;
|
|
76
|
+
stroke: grey;
|
|
77
|
+
filter: url(filters.svg#black-glow);
|
|
78
|
+
}
|
|
75
79
|
svg .normal {
|
|
76
80
|
fill:#000000;
|
|
77
81
|
fill-opacity:1;
|
|
@@ -225,7 +229,7 @@ svg text.small {
|
|
|
225
229
|
font-family:Arial;
|
|
226
230
|
}
|
|
227
231
|
|
|
228
|
-
#arrow {
|
|
232
|
+
#arrow {
|
|
229
233
|
stroke: #000000;
|
|
230
234
|
stroke-width: 2;
|
|
231
235
|
fill: #000000;
|
data/cockpit/js/parameters.js
CHANGED
|
@@ -3,6 +3,7 @@ $(document).ready(function() {
|
|
|
3
3
|
$.ajax({
|
|
4
4
|
type: "GET",
|
|
5
5
|
url: "rngs/dataelements.rng",
|
|
6
|
+
dataType: "xml",
|
|
6
7
|
success: function(rng){
|
|
7
8
|
save['dataelements'] = new RelaxNGui(rng,$('#dat_dataelements'));
|
|
8
9
|
}
|
|
@@ -10,6 +11,7 @@ $(document).ready(function() {
|
|
|
10
11
|
// hook up endpoints with relaxngui //{{{
|
|
11
12
|
$.ajax({
|
|
12
13
|
type: "GET",
|
|
14
|
+
dataType: "xml",
|
|
13
15
|
url: "rngs/endpoints.rng",
|
|
14
16
|
success: function(rng){
|
|
15
17
|
save['endpoints'] = new RelaxNGui(rng,$('#dat_endpoints'));
|
|
@@ -18,6 +20,7 @@ $(document).ready(function() {
|
|
|
18
20
|
// hook up attributes with relaxngui //{{{
|
|
19
21
|
$.ajax({
|
|
20
22
|
type: "GET",
|
|
23
|
+
dataType: "xml",
|
|
21
24
|
url: "rngs/attributes.rng",
|
|
22
25
|
success: function(rng){
|
|
23
26
|
save['attributes'] = new RelaxNGui(rng,$('#dat_attributes'));
|
data/cockpit/js/wfadaptor.js
CHANGED
|
@@ -81,6 +81,7 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
|
|
|
81
81
|
deferreds.push(
|
|
82
82
|
$.ajax({
|
|
83
83
|
type: "GET",
|
|
84
|
+
dataType: "xml",
|
|
84
85
|
url: manifestation.elements[element].illustrator.svg,
|
|
85
86
|
context: element,
|
|
86
87
|
success: function(res){
|
|
@@ -101,6 +102,7 @@ function WfAdaptor(theme_base,doit) { // Controller {{{
|
|
|
101
102
|
deferreds.push(
|
|
102
103
|
$.ajax({
|
|
103
104
|
type: "GET",
|
|
105
|
+
dataType: "xml",
|
|
104
106
|
url: val,
|
|
105
107
|
context: element,
|
|
106
108
|
success: function(res){
|
|
@@ -141,9 +143,9 @@ function WfIllustrator(wf_adaptor) { // View {{{
|
|
|
141
143
|
this.set_container = function(con) { // {{{
|
|
142
144
|
self.svg.container = con;
|
|
143
145
|
self.svg.container.append($X('<defs xmlns="http://www.w3.org/2000/svg">' +
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
' <marker id="arrow" viewBox="0 0 10 10" refX="33" refY="5" orient="auto" markerUnits="strokeWidth" markerWidth="4.5" makerHeight="4.5">' +
|
|
147
|
+
' <path d="m 2 2 l 6 3 l -6 3 z"/>' +
|
|
148
|
+
' </marker>' +
|
|
147
149
|
'</defs>'));
|
|
148
150
|
self.svg.defs = {};
|
|
149
151
|
self.svg.defs['unknown'] = $X('<g xmlns="http://www.w3.org/2000/svg" class="unknown">' +
|
data/cockpit/testsets/Linear.xml
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
<positions><!--{{{-->
|
|
4
4
|
<a1>after</a1>
|
|
5
5
|
</positions><!--}}}-->
|
|
6
|
+
<attributes>
|
|
7
|
+
<info xmlns="http://riddl.org/ns/common-patterns/properties/1.0">Linear</info>
|
|
8
|
+
<modeltype xmlns="http://riddl.org/ns/common-patterns/properties/1.0">CPEE</modeltype>
|
|
9
|
+
<theme>default</theme>
|
|
10
|
+
</attributes>
|
|
6
11
|
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
7
12
|
<dataelements><!--{{{-->
|
|
8
13
|
<x/>
|
|
@@ -57,6 +57,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
57
57
|
if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
+
$('g.activities').removeClass('clicked');
|
|
61
|
+
$(e.target).parent('g.activities').addClass('clicked');
|
|
60
62
|
|
|
61
63
|
if ($('#state').text() != 'finished')
|
|
62
64
|
$('#main ui-behind button').show();
|
|
@@ -57,6 +57,8 @@ function WFAdaptorManifestation(adaptor) {
|
|
|
57
57
|
if (self.adaptor.description.get_node_by_svg_id(svgid).length == 0) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
+
$('g.activities').removeClass('clicked');
|
|
61
|
+
$(e.target).parent('g.activities').addClass('clicked');
|
|
60
62
|
|
|
61
63
|
if ($('#state').text() != 'finished')
|
|
62
64
|
$('#main ui-behind button').show();
|
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.184"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3.0"
|
|
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"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# CPEE (file COPYING in the main directory). If not, see
|
|
13
13
|
# <http://www.gnu.org/licenses/>.
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class LogHandlerWrapper < WEEL::HandlerWrapperBase
|
|
16
16
|
def initialize(arguments,endpoint=nil,position=nil,continue=nil) # {{{
|
|
17
17
|
@controller = arguments[0]
|
|
18
18
|
@log_hash = {}
|
|
@@ -33,7 +33,7 @@ class PromiseHandlerWrapper < WEEL::HandlerWrapperBase
|
|
|
33
33
|
end # }}}
|
|
34
34
|
|
|
35
35
|
def activity_handle(passthrough, parameters) # {{{
|
|
36
|
-
@controller.notify("activity/calling", :instance => @controller.instance, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters)
|
|
36
|
+
@controller.notify("activity/calling", :instance => @controller.instance, :activity => @handler_position, :passthrough => passthrough, :endpoint => @handler_endpoint, :parameters => parameters, :log_hash => @log_hash)
|
|
37
37
|
instancenr=@controller.instance.split('/').last
|
|
38
38
|
instance_dir = @controller.instance_variable_get(:@opts)[:instances]
|
|
39
39
|
unless File.exist?(instance_dir+'/'+instancenr+'/log.xes')
|
|
@@ -110,7 +110,7 @@ class PromiseHandlerWrapper < WEEL::HandlerWrapperBase
|
|
|
110
110
|
end # }}}
|
|
111
111
|
|
|
112
112
|
def inform_activity_done # {{{
|
|
113
|
-
@controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position)
|
|
113
|
+
@controller.notify("activity/done", :endpoint => @handler_endpoint, :instance => @controller.instance, :activity => @handler_position,:log_hash => @log_hash)
|
|
114
114
|
p "log"
|
|
115
115
|
p @log_hash
|
|
116
116
|
time_added=false
|
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
<theme>default</theme>
|
|
6
|
+
</attributes>
|
|
7
|
+
<state>ready</state>
|
|
8
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
9
|
+
<positions/>
|
|
10
|
+
<dataelements>
|
|
11
|
+
<persons>3</persons>
|
|
12
|
+
<card>Visa_12345</card>
|
|
13
|
+
<airline>null</airline>
|
|
14
|
+
<hotels>[]</hotels>
|
|
15
|
+
<from>Vienna</from>
|
|
16
|
+
<to>Prague</to>
|
|
17
|
+
<costs>0</costs>
|
|
18
|
+
</dataelements>
|
|
19
|
+
<endpoints>
|
|
20
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
21
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
22
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
23
|
+
</endpoints>
|
|
24
|
+
<dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
|
|
25
|
+
data.airline = result.value('id')
|
|
26
|
+
data.costs += result.value('costs').to_f
|
|
27
|
+
status.update 1, 'Hotel'
|
|
28
|
+
END
|
|
29
|
+
parallel do
|
|
30
|
+
loop pre_test{data.persons > 0} do
|
|
31
|
+
parallel_branch data.persons do |p|
|
|
32
|
+
call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
|
|
33
|
+
data.hotels << result.value('id')
|
|
34
|
+
data.costs += result.value('costs').to_f
|
|
35
|
+
END
|
|
36
|
+
end
|
|
37
|
+
manipulate :a3, <<-END
|
|
38
|
+
data.persons -= 1
|
|
39
|
+
END
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
choose :inclusive do
|
|
43
|
+
alternative "data.costs > 700" do
|
|
44
|
+
call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
</dsl>
|
|
48
|
+
<dslx>
|
|
49
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
50
|
+
<call id="a1" endpoint="bookAir">
|
|
51
|
+
<parameters>
|
|
52
|
+
<method>:post</method>
|
|
53
|
+
<arguments>
|
|
54
|
+
<from>data.from</from>
|
|
55
|
+
<to>data.to</to>
|
|
56
|
+
<persons>data.persons</persons>
|
|
57
|
+
</arguments>
|
|
58
|
+
</parameters>
|
|
59
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
60
|
+
data.costs += result.value('costs').to_f
|
|
61
|
+
status.update 1, 'Hotel'</finalize>
|
|
62
|
+
</call>
|
|
63
|
+
<parallel>
|
|
64
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
65
|
+
<parallel_branch pass="data.persons" local="p">
|
|
66
|
+
<call id="a2" endpoint="bookHotel">
|
|
67
|
+
<parameters>
|
|
68
|
+
<method>:post</method>
|
|
69
|
+
<arguments>
|
|
70
|
+
<to>data.to</to>
|
|
71
|
+
</arguments>
|
|
72
|
+
</parameters>
|
|
73
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
74
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
75
|
+
</call>
|
|
76
|
+
</parallel_branch>
|
|
77
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
78
|
+
</loop>
|
|
79
|
+
</parallel>
|
|
80
|
+
<choose>
|
|
81
|
+
<alternative condition="data.costs > 700">
|
|
82
|
+
<call id="a4" endpoint="approve">
|
|
83
|
+
<parameters>
|
|
84
|
+
<method>:post</method>
|
|
85
|
+
<arguments>
|
|
86
|
+
<costs>data.costs</costs>
|
|
87
|
+
</arguments>
|
|
88
|
+
</parameters>
|
|
89
|
+
</call>
|
|
90
|
+
</alternative>
|
|
91
|
+
</choose>
|
|
92
|
+
</description>
|
|
93
|
+
</dslx>
|
|
94
|
+
<status>
|
|
95
|
+
<id>0</id>
|
|
96
|
+
<message>undefined</message>
|
|
97
|
+
</status>
|
|
98
|
+
<description>
|
|
99
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
100
|
+
<call id="a1" endpoint="bookAir">
|
|
101
|
+
<parameters>
|
|
102
|
+
<method>:post</method>
|
|
103
|
+
<arguments>
|
|
104
|
+
<from>data.from</from>
|
|
105
|
+
<to>data.to</to>
|
|
106
|
+
<persons>data.persons</persons>
|
|
107
|
+
</arguments>
|
|
108
|
+
</parameters>
|
|
109
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
110
|
+
data.costs += result.value('costs').to_f
|
|
111
|
+
status.update 1, 'Hotel'</finalize>
|
|
112
|
+
</call>
|
|
113
|
+
<parallel>
|
|
114
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
115
|
+
<parallel_branch pass="data.persons" local="p">
|
|
116
|
+
<call id="a2" endpoint="bookHotel">
|
|
117
|
+
<parameters>
|
|
118
|
+
<method>:post</method>
|
|
119
|
+
<arguments>
|
|
120
|
+
<to>data.to</to>
|
|
121
|
+
</arguments>
|
|
122
|
+
</parameters>
|
|
123
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
124
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
125
|
+
</call>
|
|
126
|
+
</parallel_branch>
|
|
127
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
128
|
+
</loop>
|
|
129
|
+
</parallel>
|
|
130
|
+
<choose>
|
|
131
|
+
<alternative condition="data.costs > 700">
|
|
132
|
+
<call id="a4" endpoint="approve">
|
|
133
|
+
<parameters>
|
|
134
|
+
<method>:post</method>
|
|
135
|
+
<arguments>
|
|
136
|
+
<costs>data.costs</costs>
|
|
137
|
+
</arguments>
|
|
138
|
+
</parameters>
|
|
139
|
+
</call>
|
|
140
|
+
</alternative>
|
|
141
|
+
</choose>
|
|
142
|
+
</description>
|
|
143
|
+
</description>
|
|
144
|
+
<transformation>
|
|
145
|
+
<description type="copy"/>
|
|
146
|
+
<dataelements type="rest"/>
|
|
147
|
+
<endpoints type="rest"/>
|
|
148
|
+
</transformation>
|
|
149
|
+
</properties>
|
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
<theme>default</theme>
|
|
6
|
+
</attributes>
|
|
7
|
+
<state>ready</state>
|
|
8
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
9
|
+
<positions/>
|
|
10
|
+
<dataelements>
|
|
11
|
+
<persons>3</persons>
|
|
12
|
+
<card>Visa_12345</card>
|
|
13
|
+
<airline>null</airline>
|
|
14
|
+
<hotels>[]</hotels>
|
|
15
|
+
<from>Vienna</from>
|
|
16
|
+
<to>Prague</to>
|
|
17
|
+
<costs>0</costs>
|
|
18
|
+
</dataelements>
|
|
19
|
+
<endpoints>
|
|
20
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
21
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
22
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
23
|
+
</endpoints>
|
|
24
|
+
<dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
|
|
25
|
+
data.airline = result.value('id')
|
|
26
|
+
data.costs += result.value('costs').to_f
|
|
27
|
+
status.update 1, 'Hotel'
|
|
28
|
+
END
|
|
29
|
+
parallel do
|
|
30
|
+
loop pre_test{data.persons > 0} do
|
|
31
|
+
parallel_branch data.persons do |p|
|
|
32
|
+
call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
|
|
33
|
+
data.hotels << result.value('id')
|
|
34
|
+
data.costs += result.value('costs').to_f
|
|
35
|
+
END
|
|
36
|
+
end
|
|
37
|
+
manipulate :a3, <<-END
|
|
38
|
+
data.persons -= 1
|
|
39
|
+
END
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
choose :inclusive do
|
|
43
|
+
alternative "data.costs > 700" do
|
|
44
|
+
call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
</dsl>
|
|
48
|
+
<dslx>
|
|
49
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
50
|
+
<call id="a1" endpoint="bookAir">
|
|
51
|
+
<parameters>
|
|
52
|
+
<method>:post</method>
|
|
53
|
+
<arguments>
|
|
54
|
+
<from>data.from</from>
|
|
55
|
+
<to>data.to</to>
|
|
56
|
+
<persons>data.persons</persons>
|
|
57
|
+
</arguments>
|
|
58
|
+
</parameters>
|
|
59
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
60
|
+
data.costs += result.value('costs').to_f
|
|
61
|
+
status.update 1, 'Hotel'</finalize>
|
|
62
|
+
</call>
|
|
63
|
+
<parallel>
|
|
64
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
65
|
+
<parallel_branch pass="data.persons" local="p">
|
|
66
|
+
<call id="a2" endpoint="bookHotel">
|
|
67
|
+
<parameters>
|
|
68
|
+
<method>:post</method>
|
|
69
|
+
<arguments>
|
|
70
|
+
<to>data.to</to>
|
|
71
|
+
</arguments>
|
|
72
|
+
</parameters>
|
|
73
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
74
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
75
|
+
</call>
|
|
76
|
+
</parallel_branch>
|
|
77
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
78
|
+
</loop>
|
|
79
|
+
</parallel>
|
|
80
|
+
<choose>
|
|
81
|
+
<alternative condition="data.costs > 700">
|
|
82
|
+
<call id="a4" endpoint="approve">
|
|
83
|
+
<parameters>
|
|
84
|
+
<method>:post</method>
|
|
85
|
+
<arguments>
|
|
86
|
+
<costs>data.costs</costs>
|
|
87
|
+
</arguments>
|
|
88
|
+
</parameters>
|
|
89
|
+
</call>
|
|
90
|
+
</alternative>
|
|
91
|
+
</choose>
|
|
92
|
+
</description>
|
|
93
|
+
</dslx>
|
|
94
|
+
<status>
|
|
95
|
+
<id>0</id>
|
|
96
|
+
<message>undefined</message>
|
|
97
|
+
</status>
|
|
98
|
+
<description>
|
|
99
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
100
|
+
<call id="a1" endpoint="bookAir">
|
|
101
|
+
<parameters>
|
|
102
|
+
<method>:post</method>
|
|
103
|
+
<arguments>
|
|
104
|
+
<from>data.from</from>
|
|
105
|
+
<to>data.to</to>
|
|
106
|
+
<persons>data.persons</persons>
|
|
107
|
+
</arguments>
|
|
108
|
+
</parameters>
|
|
109
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
110
|
+
data.costs += result.value('costs').to_f
|
|
111
|
+
status.update 1, 'Hotel'</finalize>
|
|
112
|
+
</call>
|
|
113
|
+
<parallel>
|
|
114
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
115
|
+
<parallel_branch pass="data.persons" local="p">
|
|
116
|
+
<call id="a2" endpoint="bookHotel">
|
|
117
|
+
<parameters>
|
|
118
|
+
<method>:post</method>
|
|
119
|
+
<arguments>
|
|
120
|
+
<to>data.to</to>
|
|
121
|
+
</arguments>
|
|
122
|
+
</parameters>
|
|
123
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
124
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
125
|
+
</call>
|
|
126
|
+
</parallel_branch>
|
|
127
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
128
|
+
</loop>
|
|
129
|
+
</parallel>
|
|
130
|
+
<choose>
|
|
131
|
+
<alternative condition="data.costs > 700">
|
|
132
|
+
<call id="a4" endpoint="approve">
|
|
133
|
+
<parameters>
|
|
134
|
+
<method>:post</method>
|
|
135
|
+
<arguments>
|
|
136
|
+
<costs>data.costs</costs>
|
|
137
|
+
</arguments>
|
|
138
|
+
</parameters>
|
|
139
|
+
</call>
|
|
140
|
+
</alternative>
|
|
141
|
+
</choose>
|
|
142
|
+
</description>
|
|
143
|
+
</description>
|
|
144
|
+
<transformation>
|
|
145
|
+
<description type="copy"/>
|
|
146
|
+
<dataelements type="rest"/>
|
|
147
|
+
<endpoints type="rest"/>
|
|
148
|
+
</transformation>
|
|
149
|
+
</properties>
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
<theme>default</theme>
|
|
6
|
+
</attributes>
|
|
7
|
+
<state>ready</state>
|
|
8
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
9
|
+
<positions>
|
|
10
|
+
<a1>after</a1>
|
|
11
|
+
</positions>
|
|
12
|
+
<dataelements>
|
|
13
|
+
<x/>
|
|
14
|
+
</dataelements>
|
|
15
|
+
<endpoints>
|
|
16
|
+
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
|
17
|
+
</endpoints>
|
|
18
|
+
<dsl>call :a1, :timeout, parameters: { :method => :post, :arguments => {:timeout => 2} }, finalize: <<-END
|
|
19
|
+
data.x += "a1,"
|
|
20
|
+
END
|
|
21
|
+
call :a2, :timeout, parameters: { :method => :post, :arguments => {:timeout => 4} }, finalize: <<-END
|
|
22
|
+
data.x += "a2,"
|
|
23
|
+
END
|
|
24
|
+
call :a3, :timeout, parameters: { :method => :post, :arguments => {:timeout => 4} }, finalize: <<-END
|
|
25
|
+
data.x += "a3,"
|
|
26
|
+
END
|
|
27
|
+
</dsl>
|
|
28
|
+
<dslx>
|
|
29
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
30
|
+
<!--{{{-->
|
|
31
|
+
<call id="a1" endpoint="timeout">
|
|
32
|
+
<parameters>
|
|
33
|
+
<!--{{{-->
|
|
34
|
+
<method>:post</method>
|
|
35
|
+
<arguments>
|
|
36
|
+
<timeout>2</timeout>
|
|
37
|
+
</arguments>
|
|
38
|
+
</parameters>
|
|
39
|
+
<!--}}}-->
|
|
40
|
+
<finalize output="result"> data.x += "a1,"</finalize>
|
|
41
|
+
</call>
|
|
42
|
+
<call id="a2" endpoint="timeout">
|
|
43
|
+
<parameters>
|
|
44
|
+
<!--{{{-->
|
|
45
|
+
<method>:post</method>
|
|
46
|
+
<arguments>
|
|
47
|
+
<timeout>4</timeout>
|
|
48
|
+
</arguments>
|
|
49
|
+
</parameters>
|
|
50
|
+
<!--}}}-->
|
|
51
|
+
<finalize output="result"> data.x += "a2,"</finalize>
|
|
52
|
+
</call>
|
|
53
|
+
<call id="a3" endpoint="timeout">
|
|
54
|
+
<parameters>
|
|
55
|
+
<!--{{{-->
|
|
56
|
+
<method>:post</method>
|
|
57
|
+
<arguments>
|
|
58
|
+
<timeout>4</timeout>
|
|
59
|
+
</arguments>
|
|
60
|
+
</parameters>
|
|
61
|
+
<!--}}}-->
|
|
62
|
+
<finalize output="result"> data.x += "a3,"</finalize>
|
|
63
|
+
</call>
|
|
64
|
+
</description>
|
|
65
|
+
</dslx>
|
|
66
|
+
<status>
|
|
67
|
+
<id>0</id>
|
|
68
|
+
<message>undefined</message>
|
|
69
|
+
</status>
|
|
70
|
+
<description>
|
|
71
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
72
|
+
<!--{{{-->
|
|
73
|
+
<call id="a1" endpoint="timeout">
|
|
74
|
+
<parameters>
|
|
75
|
+
<!--{{{-->
|
|
76
|
+
<method>:post</method>
|
|
77
|
+
<arguments>
|
|
78
|
+
<timeout>2</timeout>
|
|
79
|
+
</arguments>
|
|
80
|
+
</parameters>
|
|
81
|
+
<!--}}}-->
|
|
82
|
+
<finalize output="result"> data.x += "a1,"</finalize>
|
|
83
|
+
</call>
|
|
84
|
+
<call id="a2" endpoint="timeout">
|
|
85
|
+
<parameters>
|
|
86
|
+
<!--{{{-->
|
|
87
|
+
<method>:post</method>
|
|
88
|
+
<arguments>
|
|
89
|
+
<timeout>4</timeout>
|
|
90
|
+
</arguments>
|
|
91
|
+
</parameters>
|
|
92
|
+
<!--}}}-->
|
|
93
|
+
<finalize output="result"> data.x += "a2,"</finalize>
|
|
94
|
+
</call>
|
|
95
|
+
<call id="a3" endpoint="timeout">
|
|
96
|
+
<parameters>
|
|
97
|
+
<!--{{{-->
|
|
98
|
+
<method>:post</method>
|
|
99
|
+
<arguments>
|
|
100
|
+
<timeout>4</timeout>
|
|
101
|
+
</arguments>
|
|
102
|
+
</parameters>
|
|
103
|
+
<!--}}}-->
|
|
104
|
+
<finalize output="result"> data.x += "a3,"</finalize>
|
|
105
|
+
</call>
|
|
106
|
+
</description>
|
|
107
|
+
</description>
|
|
108
|
+
<transformation>
|
|
109
|
+
<description type="copy"/>
|
|
110
|
+
<dataelements type="rest"/>
|
|
111
|
+
<endpoints type="rest"/>
|
|
112
|
+
</transformation>
|
|
113
|
+
</properties>
|
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
<theme>default</theme>
|
|
6
|
+
</attributes>
|
|
7
|
+
<state>ready</state>
|
|
8
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
9
|
+
<positions/>
|
|
10
|
+
<dataelements>
|
|
11
|
+
<persons>3</persons>
|
|
12
|
+
<card>Visa_12345</card>
|
|
13
|
+
<airline>null</airline>
|
|
14
|
+
<hotels>[]</hotels>
|
|
15
|
+
<from>Vienna</from>
|
|
16
|
+
<to>Prague</to>
|
|
17
|
+
<costs>0</costs>
|
|
18
|
+
</dataelements>
|
|
19
|
+
<endpoints>
|
|
20
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
21
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
22
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
23
|
+
</endpoints>
|
|
24
|
+
<dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
|
|
25
|
+
data.airline = result.value('id')
|
|
26
|
+
data.costs += result.value('costs').to_f
|
|
27
|
+
status.update 1, 'Hotel'
|
|
28
|
+
END
|
|
29
|
+
parallel do
|
|
30
|
+
loop pre_test{data.persons > 0} do
|
|
31
|
+
parallel_branch data.persons do |p|
|
|
32
|
+
call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
|
|
33
|
+
data.hotels << result.value('id')
|
|
34
|
+
data.costs += result.value('costs').to_f
|
|
35
|
+
END
|
|
36
|
+
end
|
|
37
|
+
manipulate :a3, <<-END
|
|
38
|
+
data.persons -= 1
|
|
39
|
+
END
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
choose :inclusive do
|
|
43
|
+
alternative "data.costs > 700" do
|
|
44
|
+
call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
</dsl>
|
|
48
|
+
<dslx>
|
|
49
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
50
|
+
<call id="a1" endpoint="bookAir">
|
|
51
|
+
<parameters>
|
|
52
|
+
<method>:post</method>
|
|
53
|
+
<arguments>
|
|
54
|
+
<from>data.from</from>
|
|
55
|
+
<to>data.to</to>
|
|
56
|
+
<persons>data.persons</persons>
|
|
57
|
+
</arguments>
|
|
58
|
+
</parameters>
|
|
59
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
60
|
+
data.costs += result.value('costs').to_f
|
|
61
|
+
status.update 1, 'Hotel'</finalize>
|
|
62
|
+
</call>
|
|
63
|
+
<parallel>
|
|
64
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
65
|
+
<parallel_branch pass="data.persons" local="p">
|
|
66
|
+
<call id="a2" endpoint="bookHotel">
|
|
67
|
+
<parameters>
|
|
68
|
+
<method>:post</method>
|
|
69
|
+
<arguments>
|
|
70
|
+
<to>data.to</to>
|
|
71
|
+
</arguments>
|
|
72
|
+
</parameters>
|
|
73
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
74
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
75
|
+
</call>
|
|
76
|
+
</parallel_branch>
|
|
77
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
78
|
+
</loop>
|
|
79
|
+
</parallel>
|
|
80
|
+
<choose>
|
|
81
|
+
<alternative condition="data.costs > 700">
|
|
82
|
+
<call id="a4" endpoint="approve">
|
|
83
|
+
<parameters>
|
|
84
|
+
<method>:post</method>
|
|
85
|
+
<arguments>
|
|
86
|
+
<costs>data.costs</costs>
|
|
87
|
+
</arguments>
|
|
88
|
+
</parameters>
|
|
89
|
+
</call>
|
|
90
|
+
</alternative>
|
|
91
|
+
</choose>
|
|
92
|
+
</description>
|
|
93
|
+
</dslx>
|
|
94
|
+
<status>
|
|
95
|
+
<id>0</id>
|
|
96
|
+
<message>undefined</message>
|
|
97
|
+
</status>
|
|
98
|
+
<description>
|
|
99
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
100
|
+
<call id="a1" endpoint="bookAir">
|
|
101
|
+
<parameters>
|
|
102
|
+
<method>:post</method>
|
|
103
|
+
<arguments>
|
|
104
|
+
<from>data.from</from>
|
|
105
|
+
<to>data.to</to>
|
|
106
|
+
<persons>data.persons</persons>
|
|
107
|
+
</arguments>
|
|
108
|
+
</parameters>
|
|
109
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
110
|
+
data.costs += result.value('costs').to_f
|
|
111
|
+
status.update 1, 'Hotel'</finalize>
|
|
112
|
+
</call>
|
|
113
|
+
<parallel>
|
|
114
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
115
|
+
<parallel_branch pass="data.persons" local="p">
|
|
116
|
+
<call id="a2" endpoint="bookHotel">
|
|
117
|
+
<parameters>
|
|
118
|
+
<method>:post</method>
|
|
119
|
+
<arguments>
|
|
120
|
+
<to>data.to</to>
|
|
121
|
+
</arguments>
|
|
122
|
+
</parameters>
|
|
123
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
124
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
125
|
+
</call>
|
|
126
|
+
</parallel_branch>
|
|
127
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
128
|
+
</loop>
|
|
129
|
+
</parallel>
|
|
130
|
+
<choose>
|
|
131
|
+
<alternative condition="data.costs > 700">
|
|
132
|
+
<call id="a4" endpoint="approve">
|
|
133
|
+
<parameters>
|
|
134
|
+
<method>:post</method>
|
|
135
|
+
<arguments>
|
|
136
|
+
<costs>data.costs</costs>
|
|
137
|
+
</arguments>
|
|
138
|
+
</parameters>
|
|
139
|
+
</call>
|
|
140
|
+
</alternative>
|
|
141
|
+
</choose>
|
|
142
|
+
</description>
|
|
143
|
+
</description>
|
|
144
|
+
<transformation>
|
|
145
|
+
<description type="copy"/>
|
|
146
|
+
<dataelements type="rest"/>
|
|
147
|
+
<endpoints type="rest"/>
|
|
148
|
+
</transformation>
|
|
149
|
+
</properties>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<!--
|
|
3
|
+
This file is part of CPEE.
|
|
4
|
+
|
|
5
|
+
CPEE is free software: you can redistribute it and/or modify it under the terms
|
|
6
|
+
of the GNU General Public License as published by the Free Software Foundation,
|
|
7
|
+
either version 3 of the License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
10
|
+
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
11
|
+
PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
12
|
+
|
|
13
|
+
You should have received a copy of the GNU General Public License along with
|
|
14
|
+
CPEE (file COPYING in the main directory). If not, see
|
|
15
|
+
<http://www.gnu.org/licenses/>.
|
|
16
|
+
-->
|
|
17
|
+
|
|
18
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
|
19
|
+
<attributes>
|
|
20
|
+
<info/>
|
|
21
|
+
<modeltype>CPEE</modeltype>
|
|
22
|
+
<theme>default</theme>
|
|
23
|
+
</attributes>
|
|
24
|
+
<state>ready</state>
|
|
25
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
26
|
+
<positions/>
|
|
27
|
+
<dataelements/>
|
|
28
|
+
<endpoints>
|
|
29
|
+
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
|
30
|
+
</endpoints>
|
|
31
|
+
<dsl/>
|
|
32
|
+
<dslx>
|
|
33
|
+
<description xmlns="http://cpee.org/ns/description/1.0"/>
|
|
34
|
+
</dslx>
|
|
35
|
+
<status>
|
|
36
|
+
<id>0</id>
|
|
37
|
+
<message>undefined</message>
|
|
38
|
+
</status>
|
|
39
|
+
<description>
|
|
40
|
+
<description xmlns="http://cpee.org/ns/description/1.0"/>
|
|
41
|
+
</description>
|
|
42
|
+
<transformation>
|
|
43
|
+
<description type='copy'/>
|
|
44
|
+
<dataelements type='none'/>
|
|
45
|
+
<endpoints type='none'/>
|
|
46
|
+
</transformation>
|
|
47
|
+
</properties>
|
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
<theme>default</theme>
|
|
6
|
+
</attributes>
|
|
7
|
+
<state>ready</state>
|
|
8
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
|
9
|
+
<positions/>
|
|
10
|
+
<dataelements>
|
|
11
|
+
<persons>3</persons>
|
|
12
|
+
<card>Visa_12345</card>
|
|
13
|
+
<airline>null</airline>
|
|
14
|
+
<hotels>[]</hotels>
|
|
15
|
+
<from>Vienna</from>
|
|
16
|
+
<to>Prague</to>
|
|
17
|
+
<costs>0</costs>
|
|
18
|
+
</dataelements>
|
|
19
|
+
<endpoints>
|
|
20
|
+
<bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
|
|
21
|
+
<bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
|
|
22
|
+
<approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
|
|
23
|
+
</endpoints>
|
|
24
|
+
<dsl>call :a1, :bookAir, parameters: { :method => :post, :arguments => {:from => data.from, :to => data.to, :persons => data.persons} }, finalize: <<-END
|
|
25
|
+
data.airline = result.value('id')
|
|
26
|
+
data.costs += result.value('costs').to_f
|
|
27
|
+
status.update 1, 'Hotel'
|
|
28
|
+
END
|
|
29
|
+
parallel do
|
|
30
|
+
loop pre_test{data.persons > 0} do
|
|
31
|
+
parallel_branch data.persons do |p|
|
|
32
|
+
call :a2, :bookHotel, parameters: { :method => :post, :arguments => {:to => data.to} }, finalize: <<-END
|
|
33
|
+
data.hotels << result.value('id')
|
|
34
|
+
data.costs += result.value('costs').to_f
|
|
35
|
+
END
|
|
36
|
+
end
|
|
37
|
+
manipulate :a3, <<-END
|
|
38
|
+
data.persons -= 1
|
|
39
|
+
END
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
choose :inclusive do
|
|
43
|
+
alternative "data.costs > 700" do
|
|
44
|
+
call :a4, :approve, parameters: { :method => :post, :arguments => {:costs => data.costs} }
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
</dsl>
|
|
48
|
+
<dslx>
|
|
49
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
50
|
+
<call id="a1" endpoint="bookAir">
|
|
51
|
+
<parameters>
|
|
52
|
+
<method>:post</method>
|
|
53
|
+
<arguments>
|
|
54
|
+
<from>data.from</from>
|
|
55
|
+
<to>data.to</to>
|
|
56
|
+
<persons>data.persons</persons>
|
|
57
|
+
</arguments>
|
|
58
|
+
</parameters>
|
|
59
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
60
|
+
data.costs += result.value('costs').to_f
|
|
61
|
+
status.update 1, 'Hotel'</finalize>
|
|
62
|
+
</call>
|
|
63
|
+
<parallel>
|
|
64
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
65
|
+
<parallel_branch pass="data.persons" local="p">
|
|
66
|
+
<call id="a2" endpoint="bookHotel">
|
|
67
|
+
<parameters>
|
|
68
|
+
<method>:post</method>
|
|
69
|
+
<arguments>
|
|
70
|
+
<to>data.to</to>
|
|
71
|
+
</arguments>
|
|
72
|
+
</parameters>
|
|
73
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
74
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
75
|
+
</call>
|
|
76
|
+
</parallel_branch>
|
|
77
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
78
|
+
</loop>
|
|
79
|
+
</parallel>
|
|
80
|
+
<choose>
|
|
81
|
+
<alternative condition="data.costs > 700">
|
|
82
|
+
<call id="a4" endpoint="approve">
|
|
83
|
+
<parameters>
|
|
84
|
+
<method>:post</method>
|
|
85
|
+
<arguments>
|
|
86
|
+
<costs>data.costs</costs>
|
|
87
|
+
</arguments>
|
|
88
|
+
</parameters>
|
|
89
|
+
</call>
|
|
90
|
+
</alternative>
|
|
91
|
+
</choose>
|
|
92
|
+
</description>
|
|
93
|
+
</dslx>
|
|
94
|
+
<status>
|
|
95
|
+
<id>0</id>
|
|
96
|
+
<message>undefined</message>
|
|
97
|
+
</status>
|
|
98
|
+
<description>
|
|
99
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
|
100
|
+
<call id="a1" endpoint="bookAir">
|
|
101
|
+
<parameters>
|
|
102
|
+
<method>:post</method>
|
|
103
|
+
<arguments>
|
|
104
|
+
<from>data.from</from>
|
|
105
|
+
<to>data.to</to>
|
|
106
|
+
<persons>data.persons</persons>
|
|
107
|
+
</arguments>
|
|
108
|
+
</parameters>
|
|
109
|
+
<finalize output="result"> data.airline = result.value('id')
|
|
110
|
+
data.costs += result.value('costs').to_f
|
|
111
|
+
status.update 1, 'Hotel'</finalize>
|
|
112
|
+
</call>
|
|
113
|
+
<parallel>
|
|
114
|
+
<loop mode="pre_test" condition="data.persons > 0">
|
|
115
|
+
<parallel_branch pass="data.persons" local="p">
|
|
116
|
+
<call id="a2" endpoint="bookHotel">
|
|
117
|
+
<parameters>
|
|
118
|
+
<method>:post</method>
|
|
119
|
+
<arguments>
|
|
120
|
+
<to>data.to</to>
|
|
121
|
+
</arguments>
|
|
122
|
+
</parameters>
|
|
123
|
+
<finalize output="result"> data.hotels << result.value('id')
|
|
124
|
+
data.costs += result.value('costs').to_f</finalize>
|
|
125
|
+
</call>
|
|
126
|
+
</parallel_branch>
|
|
127
|
+
<manipulate id="a3"> data.persons -= 1</manipulate>
|
|
128
|
+
</loop>
|
|
129
|
+
</parallel>
|
|
130
|
+
<choose>
|
|
131
|
+
<alternative condition="data.costs > 700">
|
|
132
|
+
<call id="a4" endpoint="approve">
|
|
133
|
+
<parameters>
|
|
134
|
+
<method>:post</method>
|
|
135
|
+
<arguments>
|
|
136
|
+
<costs>data.costs</costs>
|
|
137
|
+
</arguments>
|
|
138
|
+
</parameters>
|
|
139
|
+
</call>
|
|
140
|
+
</alternative>
|
|
141
|
+
</choose>
|
|
142
|
+
</description>
|
|
143
|
+
</description>
|
|
144
|
+
<transformation>
|
|
145
|
+
<description type="copy"/>
|
|
146
|
+
<dataelements type="rest"/>
|
|
147
|
+
<endpoints type="rest"/>
|
|
148
|
+
</transformation>
|
|
149
|
+
</properties>
|
data/server/server.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
26421
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cpee
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.184
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2016-11-
|
|
14
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: riddl
|
|
@@ -89,6 +89,7 @@ files:
|
|
|
89
89
|
- cockpit/contrib/transformation1.xsl
|
|
90
90
|
- cockpit/contrib/transformation2.xsl
|
|
91
91
|
- cockpit/contrib/tree_example.svg
|
|
92
|
+
- cockpit/css/filters.svg
|
|
92
93
|
- cockpit/css/ui.css
|
|
93
94
|
- cockpit/css/wfadaptor.css
|
|
94
95
|
- cockpit/index.html
|
|
@@ -295,7 +296,13 @@ files:
|
|
|
295
296
|
- server/instances/25/properties.xml
|
|
296
297
|
- server/instances/26/properties.xml
|
|
297
298
|
- server/instances/27/properties.xml
|
|
299
|
+
- server/instances/28/properties.xml
|
|
300
|
+
- server/instances/29/properties.xml
|
|
298
301
|
- server/instances/3/properties.xml
|
|
302
|
+
- server/instances/30/properties.xml
|
|
303
|
+
- server/instances/31/properties.xml
|
|
304
|
+
- server/instances/32/properties.xml
|
|
305
|
+
- server/instances/33/properties.xml
|
|
299
306
|
- server/instances/4/properties.xml
|
|
300
307
|
- server/instances/5/properties.xml
|
|
301
308
|
- server/instances/6/properties.xml
|