cpee 2.1.62 → 2.1.64

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: de80687b26430a0d4051fded9d255695cbe12bd5d3f5595bbaf370076d0bc7ef
4
- data.tar.gz: a97d8605202a279b884a7872f7045270b0600ca7ebd889aadd598222f4671992
3
+ metadata.gz: 6d5e5c7b5da8458c5a7e2101d018337ba353c6a5d5e3fe5e359456aba9693f02
4
+ data.tar.gz: f74517ec8299ce372750c0d4e6cce29d678ae328a96942cac80c3e86d73f9a1b
5
5
  SHA512:
6
- metadata.gz: 9f8223d762b0396e5bfe72bb5f3aa649ddcac18d9d69e3d4e009272f7acaef9119c5de0489110c795f46b3b9fa3e482b6754615da2c067ba8f981a00ebee3a03
7
- data.tar.gz: 731c82b38a6a493535becdf2389c57d0471e182442d86d7b198d79aa8b7470af8ffd0a4042847257eb9fbbee707adb2e88cb946b5f181e116ffe00c57bf547ea
6
+ metadata.gz: 2a382615beced6f3af27bee42068b8000d22bc1d9694351659d97b7013ac11b6c8ab34bcadb29789b3f8f46d29b1e19a9f380903f7a04bf19a03c10b70557a96
7
+ data.tar.gz: 003f97f1487e72749878bf00e34c1d557da3381b325879e3575f2b690584baf65a0b81c0e57490345e289a6c42108a319761bf5a5ec38ce796665ed273fdcc5d
@@ -0,0 +1,193 @@
1
+ <?xml version="1.0"?>
2
+ <testset xmlns="http://cpee.org/ns/properties/2.0">
3
+ <executionhandler>rubyext</executionhandler>
4
+ <dataelements>
5
+ <persons>3</persons>
6
+ <card>Visa_12345</card>
7
+ <airline/>
8
+ <hotels>[]</hotels>
9
+ <from>Vienna</from>
10
+ <to>Prague</to>
11
+ <costs>0</costs>
12
+ </dataelements>
13
+ <endpoints>
14
+ <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir>
15
+ <user>https-post://cpee.org/services/timeout-user.php</user>
16
+ <auto>https-post://cpee.org/services/timeout-auto.php</auto>
17
+ <timeout>https://cpee.org/services/timeout.php</timeout>
18
+ <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel>
19
+ <subprocess>https://cpee.org/flow/start/url/</subprocess>
20
+ <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve>
21
+ <send>https-post://cpee.org/ing/correlators/message/send/</send>
22
+ <receive>https-get://cpee.org/ing/correlators/message/receive/</receive>
23
+ </endpoints>
24
+ <attributes>
25
+ <theme>extended</theme>
26
+ <info>Coopis 2010 Ext</info>
27
+ <creator>Christine Ashcreek</creator>
28
+ <author>Christine Ashcreek</author>
29
+ <modeltype>CPEE</modeltype>
30
+ <design_stage>development</design_stage>
31
+ <guarded>none</guarded>
32
+ <design_dir>Templates.dir/</design_dir>
33
+ <guarded_id/>
34
+ <model_uuid>1cdc1bc1-6cf9-4f52-a227-8c87a7b9120a</model_uuid>
35
+ </attributes>
36
+ <description>
37
+ <description xmlns="http://cpee.org/ns/description/1.0">
38
+ <call id="a1" endpoint="bookAir">
39
+ <parameters>
40
+ <label>Book Airline 1</label>
41
+ <method>:post</method>
42
+ <arguments>
43
+ <from>!data.from</from>
44
+ <to>!data.to</to>
45
+ <persons>!data.persons</persons>
46
+ </arguments>
47
+ </parameters>
48
+ <code>
49
+ <prepare/>
50
+ <finalize output="result">data.airline = result.value('id')
51
+ data.costs += result.value('costs').to_f
52
+ status.update 1, 'Hotel'</finalize>
53
+ <update output="result"/>
54
+ <rescue output="result"/>
55
+ </code>
56
+ <annotations>
57
+ <_timing>
58
+ <_timing_weight/>
59
+ <_timing_avg/>
60
+ <explanations/>
61
+ </_timing>
62
+ <_shifting>
63
+ <_shifting_type>Duration</_shifting_type>
64
+ </_shifting>
65
+ <_context_data_analysis>
66
+ <probes/>
67
+ <ips/>
68
+ </_context_data_analysis>
69
+ <report>
70
+ <url/>
71
+ </report>
72
+ <_notes>
73
+ <_notes_general/>
74
+ </_notes>
75
+ </annotations>
76
+ <documentation>
77
+ <input/>
78
+ <output/>
79
+ <implementation>
80
+ <description/>
81
+ </implementation>
82
+ <code>
83
+ <description/>
84
+ </code>
85
+ </documentation>
86
+ </call>
87
+ <parallel wait="-1" cancel="last">
88
+ <loop mode="pre_test" condition="data.persons &gt; 0">
89
+ <parallel_branch>
90
+ <call id="a2" endpoint="bookHotel">
91
+ <parameters>
92
+ <label>Book Hotel</label>
93
+ <method>:post</method>
94
+ <arguments>
95
+ <to>!data.to</to>
96
+ </arguments>
97
+ </parameters>
98
+ <code>
99
+ <prepare/>
100
+ <finalize output="result">data.hotels &lt;&lt; result.value('id')
101
+ data.costs += result.value('costs').to_f</finalize>
102
+ <update output="result"/>
103
+ <rescue output="result"/>
104
+ </code>
105
+ <annotations>
106
+ <_timing>
107
+ <_timing_weight/>
108
+ <_timing_avg/>
109
+ <explanations/>
110
+ </_timing>
111
+ <_shifting>
112
+ <_shifting_type>Duration</_shifting_type>
113
+ </_shifting>
114
+ <_context_data_analysis>
115
+ <probes/>
116
+ <ips/>
117
+ </_context_data_analysis>
118
+ <report>
119
+ <url/>
120
+ </report>
121
+ <_notes>
122
+ <_notes_general/>
123
+ </_notes>
124
+ </annotations>
125
+ <documentation>
126
+ <input/>
127
+ <output/>
128
+ <implementation>
129
+ <description/>
130
+ </implementation>
131
+ <code>
132
+ <description/>
133
+ </code>
134
+ </documentation>
135
+ </call>
136
+ </parallel_branch>
137
+ <manipulate id="a3">data.persons -= 1</manipulate>
138
+ </loop>
139
+ </parallel>
140
+ <choose mode="exclusive">
141
+ <alternative condition="data.costs &gt; 700">
142
+ <_probability>
143
+ <_probability_min/>
144
+ <_probability_max/>
145
+ <_probability_avg/>
146
+ </_probability>
147
+ <call id="a4" endpoint="approve">
148
+ <parameters>
149
+ <label>Approve Hotel</label>
150
+ <method>:post</method>
151
+ <arguments>
152
+ <costs>!data.costs</costs>
153
+ </arguments>
154
+ </parameters>
155
+ <annotations>
156
+ <_timing>
157
+ <_timing_weight/>
158
+ <_timing_avg/>
159
+ <explanations/>
160
+ </_timing>
161
+ <_shifting>
162
+ <_shifting_type>Duration</_shifting_type>
163
+ </_shifting>
164
+ <_context_data_analysis>
165
+ <probes/>
166
+ <ips/>
167
+ </_context_data_analysis>
168
+ <report>
169
+ <url/>
170
+ </report>
171
+ <_notes>
172
+ <_notes_general/>
173
+ </_notes>
174
+ </annotations>
175
+ <documentation>
176
+ <input/>
177
+ <output/>
178
+ <implementation>
179
+ <description/>
180
+ </implementation>
181
+ </documentation>
182
+ </call>
183
+ </alternative>
184
+ <otherwise/>
185
+ </choose>
186
+ </description>
187
+ </description>
188
+ <transformation>
189
+ <description type="copy"/>
190
+ <dataelements type="none"/>
191
+ <endpoints type="none"/>
192
+ </transformation>
193
+ </testset>
data/cpee.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee"
3
- s.version = "2.1.62"
3
+ s.version = "2.1.64"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.homepage = 'http://cpee.org/'
23
23
 
24
24
  s.add_runtime_dependency 'riddl', '~> 1.0'
25
- s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.121'
25
+ s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.123'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
27
  s.add_runtime_dependency 'redis', '~> 5.0'
28
28
  s.add_runtime_dependency 'rubyzip', '~>2'
@@ -31,5 +31,5 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency 'get_process_mem', '~>0.2'
32
32
  s.add_runtime_dependency 'webrick', '~>1.7'
33
33
  s.add_runtime_dependency 'rbtrace', '~>0.4'
34
- s.add_runtime_dependency 'cpee-eval-ruby', '~> 1.0'
34
+ s.add_runtime_dependency 'cpee-eval-ruby', '~> 1.0', '>= 1.0.1'
35
35
  end
@@ -68,24 +68,6 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
68
68
  @guard_items = []
69
69
  end # }}}
70
70
 
71
- def prepare(readonly, endpoints, parameters) #{{{
72
- @handler_endpoint = endpoints.is_a?(Array) ? endpoints.map{ |ep| readonly.endpoints[ep] }.compact : readonly.endpoints[endpoints]
73
- if @controller.attributes['twin_engine']
74
- @handler_endpoint_orig = @handler_endpoint
75
- @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
76
- end
77
- params = parameters.dup
78
- params[:arguments] = params[:arguments].dup if params[:arguments]
79
- params[:arguments]&.map! do |ele|
80
- t = ele.dup
81
- if t.value.is_a?(Proc)
82
- t.value = readonly.instance_exec &t.value
83
- end
84
- t
85
- end
86
- params
87
- end #}}}
88
-
89
71
  def additional #{{{
90
72
  {
91
73
  :attributes => @controller.attributes,
@@ -256,9 +238,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
256
238
  true
257
239
  end # }}}
258
240
 
259
- def activity_uuid
241
+ def activity_uuid #{{{
260
242
  @handler_activity_uuid
261
- end
243
+ end #}}}
262
244
 
263
245
  def inform_activity_done # {{{
264
246
  @controller.notify("activity/done", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
@@ -292,7 +274,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
292
274
  @controller.vote("activity/syncing_before", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :activity => @handler_position, :label => @label, :parameters => parameters)
293
275
  end # }}}
294
276
 
295
- def callback(result=nil,options={})
277
+ def callback(result=nil,options={}) #{{{
296
278
  recv = CPEE::EvalRuby::Translation::structurize_result(result)
297
279
  @controller.notify("activity/receiving", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => recv, :annotations => @anno)
298
280
 
@@ -311,7 +293,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
311
293
  @controller.notify("activity/status", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_STATUS'])
312
294
  end
313
295
  if options['CPEE_UPDATE']
314
- @handler_continue.continue WEEL::Signal::Again
296
+ @handler_continue.continue WEEL::Signal::UpdateAgain
315
297
  else
316
298
  @controller.cancel_callback(@handler_passthrough)
317
299
  @handler_passthrough = nil
@@ -323,7 +305,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
323
305
  @handler_continue.continue
324
306
  end
325
307
  end
326
- end
308
+ end #}}}
327
309
 
328
310
  def mem_guard() #{{{
329
311
  @guard_files.delete_if do |p|
@@ -337,39 +319,43 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
337
319
  GC.start
338
320
  end #}}}
339
321
 
340
- def test_condition(dataelements,endpoints,local,additional,code,args={})
341
- res = WEEL::ReadStructure.new(dataelements,endpoints,local,additional).instance_eval(code,'Condition',1)
342
- @controller.notify("gateway/decide", :instance_uuid => @controller.uuid, :code => code, :condition => (res ? "true" : "false"))
343
- res
344
- end
345
- def eval_expression(dataelements,endpoints,local,additional,code)
346
- WEEL::ReadStructure.new(dataelements,endpoints,local,additional).instance_eval(code)
347
- end
348
- def manipulate(readonly,lock,dataelements,endpoints,status,local,additional,code,where,result=nil,options=nil)
349
- result = CPEE::EvalRuby::Translation::simplify_structurized_result(result)
350
- struct = if readonly
351
- WEEL::ReadStructure.new(dataelements,endpoints,local,additional)
322
+ def prepare(__struct, __endpoints, __parameters) #{{{
323
+ @handler_endpoint = __endpoints.is_a?(Array) ? __endpoints.map{ |ep| __struct.endpoints[ep] }.compact : __struct.endpoints[__endpoints]
324
+ if @controller.attributes['twin_engine']
325
+ @handler_endpoint_orig = @handler_endpoint
326
+ @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
327
+ end
328
+ __params = __parameters.dup
329
+ __params[:arguments] = __params[:arguments].dup if __params[:arguments]
330
+ __params[:arguments]&.map! do |__ele|
331
+ __tmp = __ele.dup
332
+ if __tmp.value.is_a?(WEEL::ProcString)
333
+ __tmp.value = __struct.instance_eval __tmp.value.code, 'Parameter', 1
334
+ end
335
+ __tmp
336
+ end
337
+ __params
338
+ end #}}}
339
+ def test_condition(__dataelements,__endpoints,__local,__additional,__code,__args={}) #{{{
340
+ __struct = WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional).instance_eval(__code,'Condition',1)
341
+ @controller.notify("gateway/decide", :instance_uuid => @controller.uuid, :code => code, :condition => (__struct ? "true" : "false"))
342
+ __struct
343
+ end #}}}
344
+ def manipulate(__readonly,__lock,__dataelements,__endpoints,__status,__local,__additional,__code,__where,__result=nil,__options=nil) #{{{
345
+ result = CPEE::EvalRuby::Translation::simplify_structurized_result(__result)
346
+ __struct = if __readonly
347
+ WEEL::ReadStructure.new(__dataelements,__endpoints,__local,__additional)
352
348
  else
353
- WEEL::ManipulateStructure.new(dataelements,endpoints,status,local,additional)
349
+ WEEL::ManipulateStructure.new(__dataelements,__endpoints,__status,__local,__additional)
354
350
  end
355
- struct.instance_eval(code,where,1)
356
- struct
357
- end
351
+ __struct.instance_eval(__code,__where,1)
352
+ __struct
353
+ end #}}}
358
354
 
359
- def join_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]
355
+ def split_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]{{{
356
+ @controller.notify("gateway/split", :instance_uuid => @controller.uuid, :branches => branches)
357
+ end #}}}
358
+ def join_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]{{{
360
359
  @controller.notify("gateway/join", :instance_uuid => @controller.uuid, :branches => branches)
361
- end
362
-
363
- def simulate(type,nesting,tid,parent,parameters={}) #{{{
364
- @controller.vote("simulating/step",
365
- :'activity-uuid' => @handler_activity_uuid,
366
- :label => @label,
367
- :activity => tid,
368
- :endpoint => @handler_endpoint,
369
- :type => type,
370
- :nesting => nesting,
371
- :parent => parent,
372
- :parameters => parameters
373
- )
374
360
  end #}}}
375
361
  end
@@ -68,24 +68,6 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
68
68
  @guard_items = []
69
69
  end # }}}
70
70
 
71
- def prepare(readonly, endpoints, parameters) #{{{
72
- @handler_endpoint = endpoints.is_a?(Array) ? endpoints.map{ |ep| readonly.endpoints[ep] }.compact : readonly.endpoints[endpoints]
73
- if @controller.attributes['twin_engine']
74
- @handler_endpoint_orig = @handler_endpoint
75
- @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
76
- end
77
- params = parameters.dup
78
- params[:arguments] = params[:arguments].dup if params[:arguments]
79
- params[:arguments]&.map! do |ele|
80
- t = ele.dup
81
- if t.value.is_a?(Proc)
82
- t.value = readonly.instance_exec &t.value
83
- end
84
- t
85
- end
86
- params
87
- end #}}}
88
-
89
71
  def additional #{{{
90
72
  {
91
73
  :attributes => @controller.attributes,
@@ -256,9 +238,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
256
238
  true
257
239
  end # }}}
258
240
 
259
- def activity_uuid
241
+ def activity_uuid #{{{
260
242
  @handler_activity_uuid
261
- end
243
+ end #}}}
262
244
 
263
245
  def inform_activity_done # {{{
264
246
  @controller.notify("activity/done", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :label => @label, :activity => @handler_position)
@@ -292,7 +274,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
292
274
  @controller.vote("activity/syncing_before", :'activity-uuid' => @handler_activity_uuid, :endpoint => @handler_endpoint, :activity => @handler_position, :label => @label, :parameters => parameters)
293
275
  end # }}}
294
276
 
295
- def callback(result=nil,options={})
277
+ def callback(result=nil,options={}) #{{{
296
278
  status, ret, headers = Riddl::Client.new(@controller.url_result_transformation).request 'put' => result
297
279
  recv = if status >= 200 && status < 300
298
280
  JSON::parse(ret[0].value.read)
@@ -318,7 +300,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
318
300
  @controller.notify("activity/status", :'activity-uuid' => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :status => options['CPEE_STATUS'])
319
301
  end
320
302
  if options['CPEE_UPDATE']
321
- @handler_continue.continue WEEL::Signal::Again
303
+ @handler_continue.continue WEEL::Signal::UpdateAgain
322
304
  else
323
305
  @controller.cancel_callback(@handler_passthrough)
324
306
  @handler_passthrough = nil
@@ -330,7 +312,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
330
312
  @handler_continue.continue
331
313
  end
332
314
  end
333
- end
315
+ end #}}}
334
316
 
335
317
  def mem_guard() #{{{
336
318
  @guard_files.delete_if do |p|
@@ -344,23 +326,37 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
344
326
  GC.start
345
327
  end #}}}
346
328
 
347
- def test_condition(dataelements,endpoints,local,additional,code,args={})
348
- send = []
349
- send.push Riddl::Parameter::Simple::new('code',code)
350
- send.push Riddl::Parameter::Complex::new('dataelements','application/json', JSON::generate(dataelements))
351
- send.push Riddl::Parameter::Complex::new('local','application/json', JSON::generate(local)) if local
352
- send.push Riddl::Parameter::Complex::new('endpoints','application/json', JSON::generate(endpoints))
353
- send.push Riddl::Parameter::Complex::new('additional','application/json', JSON::generate(additional))
354
-
355
- status, ret, headers = Riddl::Client.new(@controller.url_code).request 'put' => send
356
- recv = if status >= 200 && status < 300
357
- ret[0].value
358
- else
359
- nil
329
+ def prepare(struct, endpoints, parameters) #{{{
330
+ @handler_endpoint = endpoints.is_a?(Array) ? endpoints.map{ |ep| struct.endpoints[ep] }.compact : struct.endpoints[endpoints]
331
+ if @controller.attributes['twin_engine']
332
+ @handler_endpoint_orig = @handler_endpoint
333
+ @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
334
+ end
335
+ params = parameters.dup
336
+ params[:arguments] = params[:arguments].dup if params[:arguments]
337
+ params[:arguments]&.map! do |ele|
338
+ t = ele.dup
339
+ if t.value.is_a?(WEEL::ProcString)
340
+ send = []
341
+ send.push Riddl::Parameter::Simple::new('code',t.value.code)
342
+ send.push Riddl::Parameter::Complex::new('dataelements','application/json', JSON::generate(struct.data))
343
+ send.push Riddl::Parameter::Complex::new('local','application/json', JSON::generate(struct.local)) if struct.local
344
+ send.push Riddl::Parameter::Complex::new('endpoints','application/json', JSON::generate(struct.endpoints))
345
+ send.push Riddl::Parameter::Complex::new('additional','application/json', JSON::generate(struct.additional))
346
+
347
+ status, ret, headers = Riddl::Client.new(@controller.url_code).request 'put' => send
348
+ recv = if status >= 200 && status < 300
349
+ ret[0].value
350
+ else
351
+ nil
352
+ end
353
+ t.value = recv
354
+ end
355
+ t
360
356
  end
361
- recv && recv == "true" ? true : false
362
- end
363
- def eval_expression(dataelements,endpoints,local,additional,code)
357
+ params
358
+ end #}}}
359
+ def test_condition(dataelements,endpoints,local,additional,code,args={}) #{{{
364
360
  send = []
365
361
  send.push Riddl::Parameter::Simple::new('code',code)
366
362
  send.push Riddl::Parameter::Complex::new('dataelements','application/json', JSON::generate(dataelements))
@@ -374,9 +370,12 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
374
370
  else
375
371
  nil
376
372
  end
373
+ recv = 'false' unless receive
374
+ recv = (recv == 'false' || recv == 'null' || recv == 'nil' ? false : true)
375
+ @controller.notify("gateway/decide", :instance_uuid => @controller.uuid, :code => code, :condition => recv)
377
376
  recv
378
- end
379
- def manipulate(readonly,lock,dataelements,endpoints,status,local,additional,code,where,result=nil,options=nil)
377
+ end #}}}
378
+ def manipulate(readonly,lock,dataelements,endpoints,status,local,additional,code,where,result=nil,options=nil) #{{{
380
379
  lock.synchronize do
381
380
  send = []
382
381
  send.push Riddl::Parameter::Simple::new('code',code)
@@ -410,22 +409,12 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
410
409
  nil
411
410
  end
412
411
  end
413
- end
412
+ end #}}}
414
413
 
415
- def join_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]
414
+ def split_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]{{{
415
+ @controller.notify("gateway/split", :instance_uuid => @controller.uuid, :branches => branches)
416
+ end #}}}
417
+ def join_branches(branches) # factual, so for inclusive or [[a],[b],[c,d,e]]{{{
416
418
  @controller.notify("gateway/join", :instance_uuid => @controller.uuid, :branches => branches)
417
- end
418
-
419
- def simulate(type,nesting,tid,parent,parameters={}) #{{{
420
- @controller.vote("simulating/step",
421
- :'activity-uuid' => @handler_activity_uuid,
422
- :label => @label,
423
- :activity => tid,
424
- :endpoint => @handler_endpoint,
425
- :type => type,
426
- :nesting => nesting,
427
- :parent => parent,
428
- :parameters => parameters
429
- )
430
419
  end #}}}
431
420
  end
@@ -27,6 +27,7 @@
27
27
  </topic>
28
28
  <topic id='gateway'>
29
29
  <event>decide</event>
30
+ <event>split</event>
30
31
  <event>join</event>
31
32
  </topic>
32
33
  <topic id='position'>
@@ -1 +1 @@
1
- 1814250
1
+ 2750515
@@ -1 +1 @@
1
- 1814272
1
+ 2750534
@@ -1 +1 @@
1
- 1814263
1
+ 2750527
@@ -1 +1 @@
1
- 1814257
1
+ 2750521
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: 2.1.62
4
+ version: 2.1.64
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: tools
12
12
  cert_chain: []
13
- date: 2024-09-13 00:00:00.000000000 Z
13
+ date: 2024-09-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: '1.99'
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
- version: 1.99.121
38
+ version: 1.99.123
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: '1.99'
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
- version: 1.99.121
48
+ version: 1.99.123
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: highline
51
51
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +165,9 @@ dependencies:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
167
  version: '1.0'
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 1.0.1
168
171
  type: :runtime
169
172
  prerelease: false
170
173
  version_requirements: !ruby/object:Gem::Requirement
@@ -172,6 +175,9 @@ dependencies:
172
175
  - - "~>"
173
176
  - !ruby/object:Gem::Version
174
177
  version: '1.0'
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 1.0.1
175
181
  description: see http://cpee.org
176
182
  email: juergen.mangler@gmail.com
177
183
  executables:
@@ -264,6 +270,7 @@ files:
264
270
  - cockpit/templates.legacy/convert_preset.rb
265
271
  - cockpit/templates.legacy/testsets.xml
266
272
  - cockpit/templates.legacy/transformations.xml
273
+ - cockpit/templates/Coopis 2010 Ext.xml
267
274
  - cockpit/templates/Coopis 2010.xml
268
275
  - cockpit/templates/Frames.xml
269
276
  - cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml