cpee 1.4.24 → 1.4.25
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/js/instance.js +55 -26
- data/cpee.gemspec +1 -1
- data/server/instances/94/properties.xml +1 -2
- data/server/instances/96/notifications/logging/consumer-secret +1 -0
- data/server/instances/96/notifications/logging/producer-secret +1 -0
- data/server/instances/96/notifications/logging/subscription.xml +19 -0
- data/server/instances/96/properties.xml +198 -0
- data/server/instances/97/notifications/logging/consumer-secret +1 -0
- data/server/instances/97/notifications/logging/producer-secret +1 -0
- data/server/instances/97/notifications/logging/subscription.xml +19 -0
- data/server/instances/97/properties.xml +156 -0
- data/server/instances/98/notifications/logging/consumer-secret +1 -0
- data/server/instances/98/notifications/logging/producer-secret +1 -0
- data/server/instances/98/notifications/logging/subscription.xml +19 -0
- data/server/instances/98/properties.xml +156 -0
- data/server/server.pid +1 -1
- metadata +14 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca2a44922e2de76c9cf66c26fa64d0e0c0083125f2f95871347282c606af0360
|
4
|
+
data.tar.gz: 2c369db3a8e67ec3fa5760365e151266ecbc185ef94c272984e67d14d6d7b919
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c64b33cc05bb31975974cd57d36fb2ef6ef84e61760aa62542c65a49e84c1fcf786428f19ac722970ffbe944c98a63ecf9767d632bb50eba7555923e7b06057e
|
7
|
+
data.tar.gz: c5963c5c45e8d3a329c14f1c8f2dacd36fc747fc5e9614a6715c83fcd713711fc60460b43fb2b113a51866daa1d0e1597cd04b70e6c1fd5760f95c84ee7209d7
|
data/cockpit/js/instance.js
CHANGED
@@ -90,15 +90,23 @@ function cockpit() { //{{{
|
|
90
90
|
}
|
91
91
|
if (q.monitor && q.load) {
|
92
92
|
$("input[name=instance-url]").val(q.monitor);
|
93
|
-
|
94
|
-
|
95
|
-
}
|
93
|
+
if (q.load.match(/https?:\/\//)) {
|
94
|
+
$("#predefinedtestsets").attr('data-other',q.load);
|
95
|
+
} else {
|
96
|
+
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
97
|
+
if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
|
98
|
+
});
|
99
|
+
}
|
96
100
|
ui_activate_tab("#tabexecution");
|
97
101
|
monitor_instance(true,false);
|
98
102
|
} else if (q.load) {
|
99
|
-
|
100
|
-
|
101
|
-
}
|
103
|
+
if (q.load.match(/https?:\/\//)) {
|
104
|
+
$("#predefinedtestsets").attr('data-other',q.load);
|
105
|
+
} else {
|
106
|
+
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
107
|
+
if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
|
108
|
+
});
|
109
|
+
}
|
102
110
|
ui_activate_tab("#tabexecution");
|
103
111
|
create_instance(q.load,false);
|
104
112
|
} else if (q.new || q.new == "" || q.load == "") {
|
@@ -109,9 +117,13 @@ function cockpit() { //{{{
|
|
109
117
|
ui_activate_tab("#tabexecution");
|
110
118
|
monitor_instance(false,false);
|
111
119
|
} else if (q.exec) {
|
112
|
-
|
113
|
-
|
114
|
-
}
|
120
|
+
if (q.exec.match(/https?:\/\//)) {
|
121
|
+
$("#predefinedtestsets").attr('data-other',q.load);
|
122
|
+
} else {
|
123
|
+
$("#predefinedtestsets div.menuitem").each(function(k,v){
|
124
|
+
if ($(v).text() == q.exec) { $(v).attr('data-selected','selected'); }
|
125
|
+
});
|
126
|
+
}
|
115
127
|
ui_activate_tab("#tabexecution");
|
116
128
|
create_instance(q.exec,true);
|
117
129
|
}
|
@@ -682,7 +694,6 @@ function save_testset() {// {{{
|
|
682
694
|
}// }}}
|
683
695
|
function save_svg() {// {{{
|
684
696
|
var url = $('body').attr('current-instance');
|
685
|
-
var params = { mimetype: 'image/svg+xml' };
|
686
697
|
|
687
698
|
var gc = $('#graphcanvas').clone();
|
688
699
|
$.ajax({
|
@@ -690,6 +701,16 @@ function save_svg() {// {{{
|
|
690
701
|
url: "css/wfadaptor.css",
|
691
702
|
success: function(res){
|
692
703
|
gc.prepend($X('<style xmlns="http://www.w3.org/2000/svg" type="text/css"><![CDATA[' + res + ']]></style>'));
|
704
|
+
$(window.document.styleSheets).each(function(i,x){
|
705
|
+
if (x && x.href && x.href.match(/wfadaptor\.css$/)) {
|
706
|
+
$(x.cssRules).each(function(j,y){
|
707
|
+
var loc = $(gc).find(y.selectorText.replace(/^svg /,''));
|
708
|
+
loc.attr('style',y.style.cssText);
|
709
|
+
});
|
710
|
+
var loc = $(gc).find('text.super');
|
711
|
+
loc.attr('style',loc.attr('style') + ' display: none');
|
712
|
+
}
|
713
|
+
});
|
693
714
|
$.ajax({
|
694
715
|
type: "GET",
|
695
716
|
url: url + "/properties/values/attributes/info/",
|
@@ -819,22 +840,30 @@ function load_testset(exec) {// {{{
|
|
819
840
|
loading = true;
|
820
841
|
|
821
842
|
var name = $("#predefinedtestsets div.menuitem[data-selected=selected]").text();
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
843
|
+
var url;
|
844
|
+
if (name) {
|
845
|
+
url = $('body').attr('current-testsets') + name + ".xml";
|
846
|
+
} else {
|
847
|
+
url = $("#predefinedtestsets").attr('data-other');
|
848
|
+
}
|
849
|
+
if (url) {
|
850
|
+
$.ajax({
|
851
|
+
cache: false,
|
852
|
+
dataType: 'xml',
|
853
|
+
url: url,
|
854
|
+
success: function(res){
|
855
|
+
save['dsl'] = null; // reload dsl and position under all circumstances
|
856
|
+
$('#main .tabbehind button').hide();
|
857
|
+
$('#dat_details').empty();
|
858
|
+
|
859
|
+
document.title = "Untitled";
|
860
|
+
set_testset(res,exec);
|
861
|
+
},
|
862
|
+
complete: function() {
|
863
|
+
loading = false;
|
864
|
+
}
|
865
|
+
});
|
866
|
+
}
|
838
867
|
}// }}}
|
839
868
|
function load_modeltype() {// {{{
|
840
869
|
if (loading) return;
|
data/cpee.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee"
|
3
|
-
s.version = "1.4.
|
3
|
+
s.version = "1.4.25"
|
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"
|
@@ -9,8 +9,7 @@
|
|
9
9
|
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
10
10
|
<positions/>
|
11
11
|
<dataelements>
|
12
|
-
<
|
13
|
-
<testf>{"CPEE-INSTANCE":"95","CPEE-INSTANCE-URL":"http://localhost:8298/95","CPEE-INSTANCE-UUID":"83983b93-b7e3-4c9c-b688-d17855af6046","CPEE-STATE":"finished","x":"a2,a3,","a":12}</testf>
|
12
|
+
<x/>
|
14
13
|
</dataelements>
|
15
14
|
<endpoints>
|
16
15
|
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
@@ -0,0 +1 @@
|
|
1
|
+
f7c77861ac613eeac8fb9829c9a545a2
|
@@ -0,0 +1 @@
|
|
1
|
+
2a24d172b1aeb05fe94fdc5e095dec32
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0" url="http://localhost:9299/">
|
2
|
+
<topic id="activity">
|
3
|
+
<event>calling</event>
|
4
|
+
<event>receiving</event>
|
5
|
+
<event>done</event>
|
6
|
+
</topic>
|
7
|
+
<topic id="dataelements">
|
8
|
+
<event>change</event>
|
9
|
+
</topic>
|
10
|
+
<topic id="endpoints">
|
11
|
+
<event>change</event>
|
12
|
+
</topic>
|
13
|
+
<topic id="attributes">
|
14
|
+
<event>change</event>
|
15
|
+
</topic>
|
16
|
+
<topic id="task">
|
17
|
+
<event>instantiation</event>
|
18
|
+
</topic>
|
19
|
+
</subscription>
|
@@ -0,0 +1,198 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>868eb4b8-ad8e-4956-9b85-c67e4efa1c14</uuid>
|
4
|
+
<info>receive</info>
|
5
|
+
<modeltype>CPEE</modeltype>
|
6
|
+
<theme>default</theme>
|
7
|
+
<customer>pilotfabrik</customer>
|
8
|
+
<status>development</status>
|
9
|
+
</attributes>
|
10
|
+
<state changed="2019-03-07T15:26:36+01:00">ready</state>
|
11
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
12
|
+
<positions/>
|
13
|
+
<dataelements/>
|
14
|
+
<endpoints>
|
15
|
+
<timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
|
16
|
+
<start_instance>https://centurio.work/flow/start/instance/</start_instance>
|
17
|
+
<start_url>https://centurio.work/flow/start/url/</start_url>
|
18
|
+
<ipc_send>https://centurio.work/ing/correlators/message/send/</ipc_send>
|
19
|
+
<ipc_receive>https-get://centurio.work/ing/correlators/message/receive/</ipc_receive>
|
20
|
+
<ipc_delete>https-delete://centurio.work/ing/correlators/message/receive/</ipc_delete>
|
21
|
+
</endpoints>
|
22
|
+
<dsl>call :a1, :ipc_send, parameters: { :label => "", :method => :post, :arguments => [⭐(:name => :id, :value => nil), ⭐(:name => :ttl, :value => "0")], :sensors => nil }
|
23
|
+
call :a2, :ipc_receive, parameters: { :label => "", :method => :post, :arguments => [⭐(:name => :id, :value => nil), ⭐(:name => :message, :value => "asdad
|
24
|
+
|
25
|
+
|
26
|
+
asdad
|
27
|
+
|
28
|
+
|
29
|
+
asdad
|
30
|
+
|
31
|
+
|
32
|
+
asdad"), ⭐(:name => :ttl, :value => "0")], :sensors => nil }
|
33
|
+
call :a3, :ipc_delete, parameters: { :label => "", :method => :post, :arguments => nil, :sensors => nil }
|
34
|
+
</dsl>
|
35
|
+
<dslx>
|
36
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
37
|
+
<call id="a1" endpoint="ipc_send">
|
38
|
+
<parameters>
|
39
|
+
<label/>
|
40
|
+
<method>:post</method>
|
41
|
+
<arguments>
|
42
|
+
<id/>
|
43
|
+
<ttl>0</ttl>
|
44
|
+
</arguments>
|
45
|
+
<sensors/>
|
46
|
+
</parameters>
|
47
|
+
<finalize output="result"/>
|
48
|
+
<update output="result"/>
|
49
|
+
<_timing>
|
50
|
+
<_timing_min/>
|
51
|
+
<_timing_max/>
|
52
|
+
<_timing_avg/>
|
53
|
+
</_timing>
|
54
|
+
<_notes>
|
55
|
+
<_notes_general/>
|
56
|
+
<_notes_output/>
|
57
|
+
<_attachments/>
|
58
|
+
</_notes>
|
59
|
+
</call>
|
60
|
+
<call id="a2" endpoint="ipc_receive">
|
61
|
+
<parameters>
|
62
|
+
<label/>
|
63
|
+
<method>:post</method>
|
64
|
+
<arguments>
|
65
|
+
<id/>
|
66
|
+
<message>asdad
|
67
|
+
|
68
|
+
|
69
|
+
asdad
|
70
|
+
|
71
|
+
|
72
|
+
asdad
|
73
|
+
|
74
|
+
|
75
|
+
asdad</message>
|
76
|
+
<ttl>0</ttl>
|
77
|
+
</arguments>
|
78
|
+
<sensors/>
|
79
|
+
</parameters>
|
80
|
+
<finalize output="result"/>
|
81
|
+
<update output="result"/>
|
82
|
+
<_timing>
|
83
|
+
<_timing_min/>
|
84
|
+
<_timing_max/>
|
85
|
+
<_timing_avg/>
|
86
|
+
</_timing>
|
87
|
+
<_notes>
|
88
|
+
<_notes_general/>
|
89
|
+
<_notes_output/>
|
90
|
+
<_attachments/>
|
91
|
+
</_notes>
|
92
|
+
</call>
|
93
|
+
<call id="a3" endpoint="ipc_delete">
|
94
|
+
<parameters>
|
95
|
+
<label/>
|
96
|
+
<method>:post</method>
|
97
|
+
<arguments/>
|
98
|
+
<sensors/>
|
99
|
+
</parameters>
|
100
|
+
<_timing>
|
101
|
+
<_timing_min/>
|
102
|
+
<_timing_max/>
|
103
|
+
<_timing_avg/>
|
104
|
+
</_timing>
|
105
|
+
<_notes>
|
106
|
+
<_notes_general/>
|
107
|
+
<_attachments/>
|
108
|
+
</_notes>
|
109
|
+
</call>
|
110
|
+
</description>
|
111
|
+
</dslx>
|
112
|
+
<status>
|
113
|
+
<id>0</id>
|
114
|
+
<message>undefined</message>
|
115
|
+
</status>
|
116
|
+
<description>
|
117
|
+
<description xmlns="http://cpee.org/ns/description/1.0">
|
118
|
+
<call id="a1" endpoint="ipc_send">
|
119
|
+
<parameters>
|
120
|
+
<label/>
|
121
|
+
<method>:post</method>
|
122
|
+
<arguments>
|
123
|
+
<id/>
|
124
|
+
<ttl>0</ttl>
|
125
|
+
</arguments>
|
126
|
+
<sensors/>
|
127
|
+
</parameters>
|
128
|
+
<finalize output="result"/>
|
129
|
+
<update output="result"/>
|
130
|
+
<_timing>
|
131
|
+
<_timing_min/>
|
132
|
+
<_timing_max/>
|
133
|
+
<_timing_avg/>
|
134
|
+
</_timing>
|
135
|
+
<_notes>
|
136
|
+
<_notes_general/>
|
137
|
+
<_notes_output/>
|
138
|
+
<_attachments/>
|
139
|
+
</_notes>
|
140
|
+
</call>
|
141
|
+
<call id="a2" endpoint="ipc_receive">
|
142
|
+
<parameters>
|
143
|
+
<label/>
|
144
|
+
<method>:post</method>
|
145
|
+
<arguments>
|
146
|
+
<id/>
|
147
|
+
<message>asdad
|
148
|
+
|
149
|
+
|
150
|
+
asdad
|
151
|
+
|
152
|
+
|
153
|
+
asdad
|
154
|
+
|
155
|
+
|
156
|
+
asdad</message>
|
157
|
+
<ttl>0</ttl>
|
158
|
+
</arguments>
|
159
|
+
<sensors/>
|
160
|
+
</parameters>
|
161
|
+
<finalize output="result"/>
|
162
|
+
<update output="result"/>
|
163
|
+
<_timing>
|
164
|
+
<_timing_min/>
|
165
|
+
<_timing_max/>
|
166
|
+
<_timing_avg/>
|
167
|
+
</_timing>
|
168
|
+
<_notes>
|
169
|
+
<_notes_general/>
|
170
|
+
<_notes_output/>
|
171
|
+
<_attachments/>
|
172
|
+
</_notes>
|
173
|
+
</call>
|
174
|
+
<call id="a3" endpoint="ipc_delete">
|
175
|
+
<parameters>
|
176
|
+
<label/>
|
177
|
+
<method>:post</method>
|
178
|
+
<arguments/>
|
179
|
+
<sensors/>
|
180
|
+
</parameters>
|
181
|
+
<_timing>
|
182
|
+
<_timing_min/>
|
183
|
+
<_timing_max/>
|
184
|
+
<_timing_avg/>
|
185
|
+
</_timing>
|
186
|
+
<_notes>
|
187
|
+
<_notes_general/>
|
188
|
+
<_attachments/>
|
189
|
+
</_notes>
|
190
|
+
</call>
|
191
|
+
</description>
|
192
|
+
</description>
|
193
|
+
<transformation>
|
194
|
+
<description type="copy"/>
|
195
|
+
<dataelements type="none"/>
|
196
|
+
<endpoints type="none"/>
|
197
|
+
</transformation>
|
198
|
+
</properties>
|
@@ -0,0 +1 @@
|
|
1
|
+
f7c77861ac613eeac8fb9829c9a545a2
|
@@ -0,0 +1 @@
|
|
1
|
+
2a24d172b1aeb05fe94fdc5e095dec32
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0" url="http://localhost:9299/">
|
2
|
+
<topic id="activity">
|
3
|
+
<event>calling</event>
|
4
|
+
<event>receiving</event>
|
5
|
+
<event>done</event>
|
6
|
+
</topic>
|
7
|
+
<topic id="dataelements">
|
8
|
+
<event>change</event>
|
9
|
+
</topic>
|
10
|
+
<topic id="endpoints">
|
11
|
+
<event>change</event>
|
12
|
+
</topic>
|
13
|
+
<topic id="attributes">
|
14
|
+
<event>change</event>
|
15
|
+
</topic>
|
16
|
+
<topic id="task">
|
17
|
+
<event>instantiation</event>
|
18
|
+
</topic>
|
19
|
+
</subscription>
|
@@ -0,0 +1,156 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>75c94403-73bf-4e68-90d1-757f00737bbf</uuid>
|
4
|
+
<info>Plain Instance</info>
|
5
|
+
<modeltype>CPEE</modeltype>
|
6
|
+
<theme>default</theme>
|
7
|
+
</attributes>
|
8
|
+
<state changed="2019-03-22T00:23:11+01:00">finished</state>
|
9
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
10
|
+
<positions/>
|
11
|
+
<dataelements>
|
12
|
+
<persons>0</persons>
|
13
|
+
<card>Visa_12345</card>
|
14
|
+
<airline>AUA</airline>
|
15
|
+
<hotels>["Rathaus","Mariott","Ibis"]</hotels>
|
16
|
+
<from>Vienna</from>
|
17
|
+
<to>Prague</to>
|
18
|
+
<costs>1062.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 => "Book Airline", :method => :post, :arguments => [⭐(:name => :from, :value => "data.from"), ⭐(:name => :to, :value => "data.to"), ⭐(:name => :persons, :value => "data.persons")] }, finalize: <<-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 > 0") do
|
32
|
+
parallel_branch data.persons do |p|
|
33
|
+
call :a2, :bookHotel, parameters: { :label => "Book Hotel", :method => :post, :arguments => [⭐(:name => :to, :value => "data.to")] }, finalize: <<-END
|
34
|
+
data.hotels << result.value('id')
|
35
|
+
data.costs += result.value('costs').to_f
|
36
|
+
END
|
37
|
+
end
|
38
|
+
manipulate :a3, <<-END
|
39
|
+
data.persons -= 1
|
40
|
+
END
|
41
|
+
end
|
42
|
+
end
|
43
|
+
choose :inclusive do
|
44
|
+
alternative test("data.costs > 700") do
|
45
|
+
call :a4, :approve, parameters: { :label => "Approve Hotel", :method => :post, :arguments => [⭐(:name => :costs, :value => "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 > 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 << 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 > 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 > 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 << 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 > 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>
|
@@ -0,0 +1 @@
|
|
1
|
+
f7c77861ac613eeac8fb9829c9a545a2
|
@@ -0,0 +1 @@
|
|
1
|
+
2a24d172b1aeb05fe94fdc5e095dec32
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0" url="http://localhost:9299/">
|
2
|
+
<topic id="activity">
|
3
|
+
<event>calling</event>
|
4
|
+
<event>receiving</event>
|
5
|
+
<event>done</event>
|
6
|
+
</topic>
|
7
|
+
<topic id="dataelements">
|
8
|
+
<event>change</event>
|
9
|
+
</topic>
|
10
|
+
<topic id="endpoints">
|
11
|
+
<event>change</event>
|
12
|
+
</topic>
|
13
|
+
<topic id="attributes">
|
14
|
+
<event>change</event>
|
15
|
+
</topic>
|
16
|
+
<topic id="task">
|
17
|
+
<event>instantiation</event>
|
18
|
+
</topic>
|
19
|
+
</subscription>
|
@@ -0,0 +1,156 @@
|
|
1
|
+
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
|
2
|
+
<attributes>
|
3
|
+
<uuid>e5b82a08-d6bc-4043-aafc-a81691abea87</uuid>
|
4
|
+
<info>Plain Instance</info>
|
5
|
+
<modeltype>CPEE</modeltype>
|
6
|
+
<theme>default</theme>
|
7
|
+
</attributes>
|
8
|
+
<state changed="2019-03-22T00:37:54+01:00">finished</state>
|
9
|
+
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
|
10
|
+
<positions/>
|
11
|
+
<dataelements>
|
12
|
+
<persons>0</persons>
|
13
|
+
<card>Visa_12345</card>
|
14
|
+
<airline>American Airlines</airline>
|
15
|
+
<hotels>["Rathaus","Mariott","Rathaus"]</hotels>
|
16
|
+
<from>Vienna</from>
|
17
|
+
<to>Prague</to>
|
18
|
+
<costs>1072.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 => "Book Airline", :method => :post, :arguments => [⭐(:name => :from, :value => "data.from"), ⭐(:name => :to, :value => "data.to"), ⭐(:name => :persons, :value => "data.persons")] }, finalize: <<-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 > 0") do
|
32
|
+
parallel_branch data.persons do |p|
|
33
|
+
call :a2, :bookHotel, parameters: { :label => "Book Hotel", :method => :post, :arguments => [⭐(:name => :to, :value => "data.to")] }, finalize: <<-END
|
34
|
+
data.hotels << result.value('id')
|
35
|
+
data.costs += result.value('costs').to_f
|
36
|
+
END
|
37
|
+
end
|
38
|
+
manipulate :a3, <<-END
|
39
|
+
data.persons -= 1
|
40
|
+
END
|
41
|
+
end
|
42
|
+
end
|
43
|
+
choose :inclusive do
|
44
|
+
alternative test("data.costs > 700") do
|
45
|
+
call :a4, :approve, parameters: { :label => "Approve Hotel", :method => :post, :arguments => [⭐(:name => :costs, :value => "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 > 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 << 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 > 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 > 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 << 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 > 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>
|
data/server/server.pid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
9783
|
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.4.
|
4
|
+
version: 1.4.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: tools
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-03-
|
14
|
+
date: 2019-03-21 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: riddl
|
@@ -850,6 +850,18 @@ files:
|
|
850
850
|
- server/instances/95/notifications/logging/producer-secret
|
851
851
|
- server/instances/95/notifications/logging/subscription.xml
|
852
852
|
- server/instances/95/properties.xml
|
853
|
+
- server/instances/96/notifications/logging/consumer-secret
|
854
|
+
- server/instances/96/notifications/logging/producer-secret
|
855
|
+
- server/instances/96/notifications/logging/subscription.xml
|
856
|
+
- server/instances/96/properties.xml
|
857
|
+
- server/instances/97/notifications/logging/consumer-secret
|
858
|
+
- server/instances/97/notifications/logging/producer-secret
|
859
|
+
- server/instances/97/notifications/logging/subscription.xml
|
860
|
+
- server/instances/97/properties.xml
|
861
|
+
- server/instances/98/notifications/logging/consumer-secret
|
862
|
+
- server/instances/98/notifications/logging/producer-secret
|
863
|
+
- server/instances/98/notifications/logging/subscription.xml
|
864
|
+
- server/instances/98/properties.xml
|
853
865
|
- server/resources/empty_dslx.xml
|
854
866
|
- server/resources/notifications/logging/consumer-secret
|
855
867
|
- server/resources/notifications/logging/producer-secret
|