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 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