cpee 1.4.24 → 1.4.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08f6653fda7afe6c8b24428c634d92056edcf4528c29b9824345bbcf0be3a942'
4
- data.tar.gz: e9d94336c0c9434185a49712a3bdd6781537ac161cffc1bc897dc41110fd5d7e
3
+ metadata.gz: ca2a44922e2de76c9cf66c26fa64d0e0c0083125f2f95871347282c606af0360
4
+ data.tar.gz: 2c369db3a8e67ec3fa5760365e151266ecbc185ef94c272984e67d14d6d7b919
5
5
  SHA512:
6
- metadata.gz: 81c4e4692923091514f6675ba6bd74f48edd7f167be906a7a7f186931d77e131c15d451a5448302a254124d6af59d99f3d985a5f5f07968fe131d9bad0f28e9f
7
- data.tar.gz: 773d660cdd071885f5dc4c04d621b2955d7654346306ded87e0fbc200698ac53431a101159985fb65447a8e0ff2ef7bc883679c5b15e926c14186fe51e841b90
6
+ metadata.gz: c64b33cc05bb31975974cd57d36fb2ef6ef84e61760aa62542c65a49e84c1fcf786428f19ac722970ffbe944c98a63ecf9767d632bb50eba7555923e7b06057e
7
+ data.tar.gz: c5963c5c45e8d3a329c14f1c8f2dacd36fc747fc5e9614a6715c83fcd713711fc60460b43fb2b113a51866daa1d0e1597cd04b70e6c1fd5760f95c84ee7209d7
@@ -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
- $("#predefinedtestsets div.menuitem").each(function(k,v){
94
- if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
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
- $("#predefinedtestsets div.menuitem").each(function(k,v){
100
- if ($(v).text() == q.load) { $(v).attr('data-selected','selected'); }
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
- $("#predefinedtestsets div.menuitem").each(function(k,v){
113
- if ($(v).text() == q.exec) { $(v).attr('data-selected','selected'); }
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
- $.ajax({
823
- cache: false,
824
- dataType: 'xml',
825
- url: $('body').attr('current-testsets') + name + ".xml",
826
- success: function(res){
827
- save['dsl'] = null; // reload dsl and position under all circumstances
828
- $('#main .tabbehind button').hide();
829
- $('#dat_details').empty();
830
-
831
- document.title = "Untitled";
832
- set_testset(res,exec);
833
- },
834
- complete: function() {
835
- loading = false;
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;
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "1.4.24"
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
- <testu>{"CPEE-INSTANCE":"95","CPEE-INSTANCE-URL":"http://localhost:8298/95","CPEE-INSTANCE-UUID":"83983b93-b7e3-4c9c-b688-d17855af6046","CPEE-BEHAVIOR":"wait_running"}</testu>
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 =&gt; "", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :id, :value =&gt; nil), ⭐(:name =&gt; :ttl, :value =&gt; "0")], :sensors =&gt; nil }
23
+ call :a2, :ipc_receive, parameters: { :label =&gt; "", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :id, :value =&gt; nil), ⭐(:name =&gt; :message, :value =&gt; "asdad
24
+
25
+
26
+ asdad
27
+
28
+
29
+ asdad
30
+
31
+
32
+ asdad"), ⭐(:name =&gt; :ttl, :value =&gt; "0")], :sensors =&gt; nil }
33
+ call :a3, :ipc_delete, parameters: { :label =&gt; "", :method =&gt; :post, :arguments =&gt; nil, :sensors =&gt; 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 =&gt; "Book Airline", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; "data.from"), ⭐(:name =&gt; :to, :value =&gt; "data.to"), ⭐(:name =&gt; :persons, :value =&gt; "data.persons")] }, finalize: &lt;&lt;-END
26
+ data.airline = result.value('id')
27
+ data.costs += result.value('costs').to_f
28
+ status.update 1, 'Hotel'
29
+ END
30
+ parallel do
31
+ loop pre_test("data.persons &gt; 0") do
32
+ parallel_branch data.persons do |p|
33
+ call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; "data.to")] }, finalize: &lt;&lt;-END
34
+ data.hotels &lt;&lt; result.value('id')
35
+ data.costs += result.value('costs').to_f
36
+ END
37
+ end
38
+ manipulate :a3, &lt;&lt;-END
39
+ data.persons -= 1
40
+ END
41
+ end
42
+ end
43
+ choose :inclusive do
44
+ alternative test("data.costs &gt; 700") do
45
+ call :a4, :approve, parameters: { :label =&gt; "Approve Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; "data.costs")] }
46
+ end
47
+ end
48
+ </dsl>
49
+ <dslx>
50
+ <description xmlns="http://cpee.org/ns/description/1.0">
51
+ <call id="a1" endpoint="bookAir">
52
+ <parameters>
53
+ <label>Book Airline</label>
54
+ <method>:post</method>
55
+ <arguments>
56
+ <from>data.from</from>
57
+ <to>data.to</to>
58
+ <persons>data.persons</persons>
59
+ </arguments>
60
+ </parameters>
61
+ <finalize output="result">data.airline = result.value('id')
62
+ data.costs += result.value('costs').to_f
63
+ status.update 1, 'Hotel'</finalize>
64
+ </call>
65
+ <parallel>
66
+ <loop mode="pre_test" condition="data.persons &gt; 0">
67
+ <parallel_branch pass="data.persons" local="p">
68
+ <call id="a2" endpoint="bookHotel">
69
+ <parameters>
70
+ <label>Book Hotel</label>
71
+ <method>:post</method>
72
+ <arguments>
73
+ <to>data.to</to>
74
+ </arguments>
75
+ </parameters>
76
+ <finalize output="result">data.hotels &lt;&lt; result.value('id')
77
+ data.costs += result.value('costs').to_f</finalize>
78
+ </call>
79
+ </parallel_branch>
80
+ <manipulate id="a3">data.persons -= 1</manipulate>
81
+ </loop>
82
+ </parallel>
83
+ <choose mode="inclusive">
84
+ <alternative condition="data.costs &gt; 700">
85
+ <call id="a4" endpoint="approve">
86
+ <parameters>
87
+ <label>Approve Hotel</label>
88
+ <method>:post</method>
89
+ <arguments>
90
+ <costs>data.costs</costs>
91
+ </arguments>
92
+ </parameters>
93
+ </call>
94
+ </alternative>
95
+ </choose>
96
+ </description>
97
+ </dslx>
98
+ <status>
99
+ <id>1</id>
100
+ <message>Hotel</message>
101
+ </status>
102
+ <description>
103
+ <description xmlns="http://cpee.org/ns/description/1.0">
104
+ <call id="a1" endpoint="bookAir">
105
+ <parameters>
106
+ <label>Book Airline</label>
107
+ <method>:post</method>
108
+ <arguments>
109
+ <from>data.from</from>
110
+ <to>data.to</to>
111
+ <persons>data.persons</persons>
112
+ </arguments>
113
+ </parameters>
114
+ <finalize output="result">data.airline = result.value('id')
115
+ data.costs += result.value('costs').to_f
116
+ status.update 1, 'Hotel'</finalize>
117
+ </call>
118
+ <parallel>
119
+ <loop mode="pre_test" condition="data.persons &gt; 0">
120
+ <parallel_branch pass="data.persons" local="p">
121
+ <call id="a2" endpoint="bookHotel">
122
+ <parameters>
123
+ <label>Book Hotel</label>
124
+ <method>:post</method>
125
+ <arguments>
126
+ <to>data.to</to>
127
+ </arguments>
128
+ </parameters>
129
+ <finalize output="result">data.hotels &lt;&lt; result.value('id')
130
+ data.costs += result.value('costs').to_f</finalize>
131
+ </call>
132
+ </parallel_branch>
133
+ <manipulate id="a3">data.persons -= 1</manipulate>
134
+ </loop>
135
+ </parallel>
136
+ <choose mode="inclusive">
137
+ <alternative condition="data.costs &gt; 700">
138
+ <call id="a4" endpoint="approve">
139
+ <parameters>
140
+ <label>Approve Hotel</label>
141
+ <method>:post</method>
142
+ <arguments>
143
+ <costs>data.costs</costs>
144
+ </arguments>
145
+ </parameters>
146
+ </call>
147
+ </alternative>
148
+ </choose>
149
+ </description>
150
+ </description>
151
+ <transformation>
152
+ <description type="copy"/>
153
+ <dataelements type="rest"/>
154
+ <endpoints type="rest"/>
155
+ </transformation>
156
+ </properties>
@@ -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 =&gt; "Book Airline", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; "data.from"), ⭐(:name =&gt; :to, :value =&gt; "data.to"), ⭐(:name =&gt; :persons, :value =&gt; "data.persons")] }, finalize: &lt;&lt;-END
26
+ data.airline = result.value('id')
27
+ data.costs += result.value('costs').to_f
28
+ status.update 1, 'Hotel'
29
+ END
30
+ parallel do
31
+ loop pre_test("data.persons &gt; 0") do
32
+ parallel_branch data.persons do |p|
33
+ call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; "data.to")] }, finalize: &lt;&lt;-END
34
+ data.hotels &lt;&lt; result.value('id')
35
+ data.costs += result.value('costs').to_f
36
+ END
37
+ end
38
+ manipulate :a3, &lt;&lt;-END
39
+ data.persons -= 1
40
+ END
41
+ end
42
+ end
43
+ choose :inclusive do
44
+ alternative test("data.costs &gt; 700") do
45
+ call :a4, :approve, parameters: { :label =&gt; "Approve Hotel", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; "data.costs")] }
46
+ end
47
+ end
48
+ </dsl>
49
+ <dslx>
50
+ <description xmlns="http://cpee.org/ns/description/1.0">
51
+ <call id="a1" endpoint="bookAir">
52
+ <parameters>
53
+ <label>Book Airline</label>
54
+ <method>:post</method>
55
+ <arguments>
56
+ <from>data.from</from>
57
+ <to>data.to</to>
58
+ <persons>data.persons</persons>
59
+ </arguments>
60
+ </parameters>
61
+ <finalize output="result">data.airline = result.value('id')
62
+ data.costs += result.value('costs').to_f
63
+ status.update 1, 'Hotel'</finalize>
64
+ </call>
65
+ <parallel>
66
+ <loop mode="pre_test" condition="data.persons &gt; 0">
67
+ <parallel_branch pass="data.persons" local="p">
68
+ <call id="a2" endpoint="bookHotel">
69
+ <parameters>
70
+ <label>Book Hotel</label>
71
+ <method>:post</method>
72
+ <arguments>
73
+ <to>data.to</to>
74
+ </arguments>
75
+ </parameters>
76
+ <finalize output="result">data.hotels &lt;&lt; result.value('id')
77
+ data.costs += result.value('costs').to_f</finalize>
78
+ </call>
79
+ </parallel_branch>
80
+ <manipulate id="a3">data.persons -= 1</manipulate>
81
+ </loop>
82
+ </parallel>
83
+ <choose mode="inclusive">
84
+ <alternative condition="data.costs &gt; 700">
85
+ <call id="a4" endpoint="approve">
86
+ <parameters>
87
+ <label>Approve Hotel</label>
88
+ <method>:post</method>
89
+ <arguments>
90
+ <costs>data.costs</costs>
91
+ </arguments>
92
+ </parameters>
93
+ </call>
94
+ </alternative>
95
+ </choose>
96
+ </description>
97
+ </dslx>
98
+ <status>
99
+ <id>1</id>
100
+ <message>Hotel</message>
101
+ </status>
102
+ <description>
103
+ <description xmlns="http://cpee.org/ns/description/1.0">
104
+ <call id="a1" endpoint="bookAir">
105
+ <parameters>
106
+ <label>Book Airline</label>
107
+ <method>:post</method>
108
+ <arguments>
109
+ <from>data.from</from>
110
+ <to>data.to</to>
111
+ <persons>data.persons</persons>
112
+ </arguments>
113
+ </parameters>
114
+ <finalize output="result">data.airline = result.value('id')
115
+ data.costs += result.value('costs').to_f
116
+ status.update 1, 'Hotel'</finalize>
117
+ </call>
118
+ <parallel>
119
+ <loop mode="pre_test" condition="data.persons &gt; 0">
120
+ <parallel_branch pass="data.persons" local="p">
121
+ <call id="a2" endpoint="bookHotel">
122
+ <parameters>
123
+ <label>Book Hotel</label>
124
+ <method>:post</method>
125
+ <arguments>
126
+ <to>data.to</to>
127
+ </arguments>
128
+ </parameters>
129
+ <finalize output="result">data.hotels &lt;&lt; result.value('id')
130
+ data.costs += result.value('costs').to_f</finalize>
131
+ </call>
132
+ </parallel_branch>
133
+ <manipulate id="a3">data.persons -= 1</manipulate>
134
+ </loop>
135
+ </parallel>
136
+ <choose mode="inclusive">
137
+ <alternative condition="data.costs &gt; 700">
138
+ <call id="a4" endpoint="approve">
139
+ <parameters>
140
+ <label>Approve Hotel</label>
141
+ <method>:post</method>
142
+ <arguments>
143
+ <costs>data.costs</costs>
144
+ </arguments>
145
+ </parameters>
146
+ </call>
147
+ </alternative>
148
+ </choose>
149
+ </description>
150
+ </description>
151
+ <transformation>
152
+ <description type="copy"/>
153
+ <dataelements type="rest"/>
154
+ <endpoints type="rest"/>
155
+ </transformation>
156
+ </properties>
@@ -1 +1 @@
1
- 27771
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.24
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-06 00:00:00.000000000 Z
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