cpee 2.1.51 → 2.1.52

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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/resources.css +42 -0
  3. data/cockpit/css/ui.css +4 -0
  4. data/cockpit/index.html +3 -0
  5. data/cockpit/js/details.js +5 -0
  6. data/cockpit/js/instance.js +253 -62
  7. data/cockpit/js/modifiers.js +8 -1
  8. data/cockpit/js/resources.js +16 -0
  9. data/cockpit/js/wfadaptor.js +3 -3
  10. data/cockpit/templates/Coopis 2010.xml +7 -1
  11. data/cockpit/themes/compact/rngs/call.rng +3 -1
  12. data/cockpit/themes/compact/rngs/callmanipulate.rng +3 -1
  13. data/cockpit/themes/compact/theme.js +1 -1
  14. data/cockpit/themes/control/rngs/call.rng +3 -1
  15. data/cockpit/themes/control/rngs/callmanipulate.rng +3 -1
  16. data/cockpit/themes/control/theme.js +1 -1
  17. data/cockpit/themes/dataflow/rngs/alternative.rng +25 -0
  18. data/cockpit/themes/dataflow/rngs/call.rng +228 -0
  19. data/cockpit/themes/dataflow/rngs/callmanipulate.rng +257 -0
  20. data/cockpit/themes/dataflow/rngs/choose.rng +14 -0
  21. data/cockpit/themes/dataflow/rngs/closed_loop.rng +62 -0
  22. data/cockpit/themes/dataflow/rngs/closed_loop_cancel.rng +5 -0
  23. data/cockpit/themes/dataflow/rngs/closed_loop_control.rng +31 -0
  24. data/cockpit/themes/dataflow/rngs/closed_loop_measuring.rng +12 -0
  25. data/cockpit/themes/dataflow/rngs/critical.rng +5 -0
  26. data/cockpit/themes/dataflow/rngs/escape.rng +1 -0
  27. data/cockpit/themes/dataflow/rngs/group.rng +3 -0
  28. data/cockpit/themes/dataflow/rngs/loop.rng +22 -0
  29. data/cockpit/themes/dataflow/rngs/manipulate.rng +9 -0
  30. data/cockpit/themes/dataflow/rngs/otherwise.rng +22 -0
  31. data/cockpit/themes/dataflow/rngs/parallel.rng +27 -0
  32. data/cockpit/themes/dataflow/rngs/parallel_branch.rng +2 -0
  33. data/cockpit/themes/dataflow/rngs/scripts.rng +23 -0
  34. data/cockpit/themes/dataflow/rngs/start.rng +121 -0
  35. data/cockpit/themes/dataflow/rngs/stop.rng +5 -0
  36. data/cockpit/themes/dataflow/rngs/terminate.rng +1 -0
  37. data/cockpit/themes/dataflow/symbols/alternative.svg +5 -0
  38. data/cockpit/themes/dataflow/symbols/arrow.svg +3 -0
  39. data/cockpit/themes/dataflow/symbols/call.svg +6 -0
  40. data/cockpit/themes/dataflow/symbols/call_sensor.svg +9 -0
  41. data/cockpit/themes/dataflow/symbols/callmanipulate.svg +8 -0
  42. data/cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg +11 -0
  43. data/cockpit/themes/dataflow/symbols/choose.svg +5 -0
  44. data/cockpit/themes/dataflow/symbols/choose_exclusive.svg +5 -0
  45. data/cockpit/themes/dataflow/symbols/choose_inclusive.svg +4 -0
  46. data/cockpit/themes/dataflow/symbols/closed_loop.svg +5 -0
  47. data/cockpit/themes/dataflow/symbols/closed_loop_cancel.svg +5 -0
  48. data/cockpit/themes/dataflow/symbols/closed_loop_control.svg +5 -0
  49. data/cockpit/themes/dataflow/symbols/closed_loop_measuring.svg +6 -0
  50. data/cockpit/themes/dataflow/symbols/complex.svg +8 -0
  51. data/cockpit/themes/dataflow/symbols/critical.svg +4 -0
  52. data/cockpit/themes/dataflow/symbols/delete.svg +4 -0
  53. data/cockpit/themes/dataflow/symbols/end.svg +3 -0
  54. data/cockpit/themes/dataflow/symbols/escape.svg +5 -0
  55. data/cockpit/themes/dataflow/symbols/event_end.svg +3 -0
  56. data/cockpit/themes/dataflow/symbols/loop.svg +5 -0
  57. data/cockpit/themes/dataflow/symbols/manipulate.svg +4 -0
  58. data/cockpit/themes/dataflow/symbols/otherwise.svg +5 -0
  59. data/cockpit/themes/dataflow/symbols/parallel.svg +5 -0
  60. data/cockpit/themes/dataflow/symbols/parallel_branch.svg +5 -0
  61. data/cockpit/themes/dataflow/symbols/parallel_branch_compact.svg +4 -0
  62. data/cockpit/themes/dataflow/symbols/parallel_branch_event.svg +14 -0
  63. data/cockpit/themes/dataflow/symbols/parallel_branch_normal.svg +5 -0
  64. data/cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg +9 -0
  65. data/cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg +8 -0
  66. data/cockpit/themes/dataflow/symbols/scripts.svg +4 -0
  67. data/cockpit/themes/dataflow/symbols/start.svg +3 -0
  68. data/cockpit/themes/dataflow/symbols/start_event.svg +5 -0
  69. data/cockpit/themes/dataflow/symbols/stop.svg +5 -0
  70. data/cockpit/themes/dataflow/symbols/terminate.svg +4 -0
  71. data/cockpit/themes/dataflow/symbols/test.svg +74 -0
  72. data/cockpit/themes/dataflow/theme.js +1556 -0
  73. data/cockpit/themes/default/rngs/call.rng +3 -1
  74. data/cockpit/themes/default/rngs/callmanipulate.rng +3 -1
  75. data/cockpit/themes/default/theme.js +1 -1
  76. data/cockpit/themes/extended/rngs/call.rng +3 -1
  77. data/cockpit/themes/extended/rngs/callmanipulate.rng +3 -1
  78. data/cockpit/themes/extended/theme.js +1 -1
  79. data/cockpit/themes/model/theme.js +1 -1
  80. data/cockpit/themes/packed/rngs/call.rng +3 -1
  81. data/cockpit/themes/packed/rngs/callmanipulate.rng +3 -1
  82. data/cockpit/themes/packed/theme.js +1 -1
  83. data/cockpit/themes/preset/rngs/call.rng +3 -1
  84. data/cockpit/themes/preset/rngs/callmanipulate.rng +3 -1
  85. data/cockpit/themes/preset/theme.js +1 -1
  86. data/cpee.gemspec +2 -2
  87. data/lib/cpee/message.rb +20 -8
  88. data/lib/cpee/persistence.rb +12 -0
  89. data/lib/properties.xml +1 -1
  90. data/server/executionhandlers/ruby/connection.rb +31 -4
  91. data/tools/cpee +32 -1
  92. metadata +62 -8
  93. data/server/routing/end.pid +0 -1
  94. data/server/routing/forward-events-00.pid +0 -1
  95. data/server/routing/forward-votes.pid +0 -1
  96. data/server/routing/persist.pid +0 -1
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -1444,7 +1444,7 @@ function WFAdaptorManifestation(adaptor) {
1444
1444
  this.elements.parallel_event_one = { /*{{{*/
1445
1445
  'parent': 'parallel_finish',
1446
1446
  'illustrator': {//{{{
1447
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1447
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1448
1448
  }//}}}
1449
1449
  }; /*}}}*/
1450
1450
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -1482,7 +1482,7 @@ function WFAdaptorManifestation(adaptor) {
1482
1482
  this.elements.parallel_event_one = { /*{{{*/
1483
1483
  'parent': 'parallel_finish',
1484
1484
  'illustrator': {//{{{
1485
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1485
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1486
1486
  }//}}}
1487
1487
  }; /*}}}*/
1488
1488
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -1375,7 +1375,7 @@ function WFAdaptorManifestation(adaptor) {
1375
1375
  this.elements.parallel_event_one = { /*{{{*/
1376
1376
  'parent': 'parallel_finish',
1377
1377
  'illustrator': {//{{{
1378
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1378
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1379
1379
  }//}}}
1380
1380
  }; /*}}}*/
1381
1381
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -1443,7 +1443,7 @@ function WFAdaptorManifestation(adaptor) {
1443
1443
  this.elements.parallel_event_one = { /*{{{*/
1444
1444
  'parent': 'parallel_finish',
1445
1445
  'illustrator': {//{{{
1446
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1446
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1447
1447
  }//}}}
1448
1448
  }; /*}}}*/
1449
1449
  this.elements.parallel_branch_normal = { /*{{{*/
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -3,7 +3,9 @@
3
3
  <data type="string" rngui:readonly="true"/>
4
4
  </attribute>
5
5
  <attribute name="endpoint" rngui:label="Endpoint">
6
- <data type="string"/>
6
+ <data type="string">
7
+ <param name="pattern">^[a-z_][a-zA-Z0-9_]*$</param>
8
+ </data>
7
9
  </attribute>
8
10
  <element name="parameters" rngui:header="Properties">
9
11
  <element name="label" rngui:label="Label">
@@ -1444,7 +1444,7 @@ function WFAdaptorManifestation(adaptor) {
1444
1444
  this.elements.parallel_event_one = { /*{{{*/
1445
1445
  'parent': 'parallel_finish',
1446
1446
  'illustrator': {//{{{
1447
- 'svg': self.adaptor.theme_dir + 'symbols/parallel_eventbased_exclusive.svg'
1447
+ 'svg': self.adaptor.theme_dir + 'symbols/choose_exclusive.svg'
1448
1448
  }//}}}
1449
1449
  }; /*}}}*/
1450
1450
  this.elements.parallel_branch_normal = { /*{{{*/
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.51"
3
+ s.version = "2.1.52"
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.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
21
21
  s.email = 'juergen.mangler@gmail.com'
22
22
  s.homepage = 'http://cpee.org/'
23
23
 
24
- s.add_runtime_dependency 'riddl', '~> 0.126'
24
+ s.add_runtime_dependency 'riddl', '~> 1.0'
25
25
  s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.111'
26
26
  s.add_runtime_dependency 'highline', '~> 2.0'
27
27
  s.add_runtime_dependency 'redis', '~> 5.0'
data/lib/cpee/message.rb CHANGED
@@ -15,8 +15,20 @@
15
15
  module CPEE
16
16
 
17
17
  module Message
18
- WHO = 'cpee'
19
- TYPE = 'instance'
18
+ @@who = 'cpee'
19
+ @@type = 'instance'
20
+ def self::who #{{{
21
+ @@who
22
+ end #}}}
23
+ def self::who=(it) #{{{
24
+ @@who = it
25
+ end #}}}
26
+ def self::type #{{{
27
+ @@type
28
+ end #}}}
29
+ def self::type=(it) #{{{
30
+ @@type = it
31
+ end #}}}
20
32
 
21
33
  def self::set_workers(workers)
22
34
  @@tworkers = (workers < 1 && workers > 99 ? 1 : workers).freeze
@@ -32,17 +44,17 @@ module CPEE
32
44
  topic = ::File::dirname(event)
33
45
  name = ::File::basename(event)
34
46
  payload = {
35
- WHO => cpee,
36
- TYPE + '-url' => File.join(cpee,instance.to_s),
37
- TYPE => instance,
47
+ @@who => cpee,
48
+ @@type + '-url' => File.join(cpee,instance.to_s),
49
+ @@type => instance,
38
50
  'topic' => topic,
39
51
  'type' => type,
40
52
  'name' => name,
41
53
  'timestamp' => Time.now.xmlschema(3),
42
54
  'content' => content
43
55
  }
44
- payload[TYPE + '-uuid'] = instance_uuid if instance_uuid
45
- payload[TYPE + '-name'] = instance_name if instance_name
56
+ payload[@@type + '-uuid'] = instance_uuid if instance_uuid
57
+ payload[@@type + '-name'] = instance_name if instance_name
46
58
 
47
59
  backend.publish(type.to_s + ':' + target + ':' + event.to_s,
48
60
  instance.to_s + ' ' +
@@ -55,7 +67,7 @@ module CPEE
55
67
  topic = ::File::dirname(event)
56
68
  name = ::File::basename(event)
57
69
  payload = {
58
- WHO => cpee,
70
+ @@who => cpee,
59
71
  'topic' => topic,
60
72
  'type' => type,
61
73
  'name' => name,
@@ -19,6 +19,9 @@ module CPEE
19
19
  def self::obj #{{{
20
20
  @@obj
21
21
  end #}}}
22
+ def self::obj=(it) #{{{
23
+ @@obj = it
24
+ end #}}}
22
25
 
23
26
  def self::set_list(id,opts,item,values,deleted=[]) #{{{
24
27
  ah = AttributesHelper.new
@@ -81,6 +84,15 @@ module CPEE
81
84
  end
82
85
  end
83
86
 
87
+ def self::new_object(opts)
88
+ id = opts[:redis].zrevrange(@@obj + 's', 0, 0).first.to_i + 1
89
+ opts[:redis].zadd(@@obj + 's',id,id)
90
+ id
91
+ end
92
+ def self::new_static_object(id,opts)
93
+ opts[:redis].set(File.join(@@obj + ":#{id}",'state'),'')
94
+ nil
95
+ end
84
96
  def self::new_object(opts)
85
97
  id = opts[:redis].zrevrange(@@obj + 's', 0, 0).first.to_i + 1
86
98
  opts[:redis].zadd(@@obj + 's',id,id)
data/lib/properties.xml CHANGED
@@ -133,7 +133,7 @@
133
133
  <parameter name="dslx" mimetype="*/xml"/>
134
134
  </message> <!--}}}-->
135
135
  <message name="description"> <!--{{{-->
136
- <parameter name="description" mimetype="*/xml"/>
136
+ <parameter name="description" mimetype="*"/>
137
137
  </message> <!--}}}-->
138
138
 
139
139
  <message name="transformation"> <!--{{{-->
@@ -66,9 +66,9 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
66
66
 
67
67
  def prepare(readonly, endpoints, parameters, replay=false) #{{{
68
68
  @handler_endpoint = endpoints.is_a?(Array) ? endpoints.map{ |ep| readonly.endpoints[ep] }.compact : readonly.endpoints[endpoints]
69
- if @controller.attributes['mock']
69
+ if @controller.attributes['twin_engine']
70
70
  @handler_endpoint_orig = @handler_endpoint
71
- @handler_endpoint = @controller.attributes['mock'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
71
+ @handler_endpoint = @controller.attributes['twin_engine'].to_s + '?original_endpoint=' + Riddl::Protocols::Utils::escape(@handler_endpoint)
72
72
  end
73
73
  params = parameters.dup
74
74
  params[:arguments] = params[:arguments].dup if params[:arguments]
@@ -146,15 +146,42 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
146
146
  @guard_files += result
147
147
 
148
148
  if status == 561
149
- @handler_endpoint = @handler_endpoint_orig
149
+ if @controller.attributes['twin_translate']
150
+ gettrans = Riddl::Client.new(@controller.attributes['twin_translate'])
151
+ gtstatus, gtresult, gtheaders = gettrans.get
152
+ if gtstatus >= 200 && gtstatus < 300
153
+ transwhat = case headers['CPEE-TWIN-TASKTYPE']
154
+ when 'i'; 'instantiation'
155
+ when 'ir'; 'ipc-receive'
156
+ when 'is'; 'ipc-send'
157
+ else
158
+ 'instantiation'
159
+ end
160
+ JSON::parse(gtresult.value.read).each do |e|
161
+ if e['type'] == transwhat
162
+ @handler_endpoint = e['endpoint'] if e['endpoint']
163
+ e['arguments']&.each do |k,a|
164
+ params.each do |p|
165
+ p.value = a if p.name == k
166
+ end
167
+ end
168
+ end
169
+ end
170
+ end
171
+ else
172
+ @handler_endpoint = @handler_endpoint_orig
173
+ end
150
174
  params.delete_if { |p| p.name == 'original_endpoint' }
151
175
  params.each do |p|
152
176
  if p.name == 'attributes'
153
177
  t = JSON::parse(p.value) rescue {}
154
- t['mock'] = @controller.attributes['mock']
178
+ t['twin_engine'] = @controller.attributes['twin_engine'] if @controller.attributes['twin_engine']
179
+ t['twin_target'] = @controller.attributes['twin_target'] if @controller.attributes['twin_target']
180
+ t['twin_translate'] = @controller.attributes['twin_engine'] if @controller.attributes['twin_translate']
155
181
  p.value = t.to_json
156
182
  end
157
183
  end
184
+ pp params
158
185
  end
159
186
  end while status == 561
160
187
 
data/tools/cpee CHANGED
@@ -40,6 +40,8 @@ ARGV.options { |opt|
40
40
  opt.on("")
41
41
  opt.on(wrap("[abandon URL] ready or stopped processes are abandoned. Examples:\ncpee abandon http://localhost:9298/1/\ncpee abandon http://localhost:9298/1-200\ncpee abandon http://localhost:9298/*"))
42
42
  opt.on("")
43
+ opt.on(wrap("[stopping URL] print all stopping proccess ids"))
44
+ opt.on("")
43
45
  opt.on(wrap("[a_by_name URL STRING] ready or stopped processes are abandoned by regex on attributes/info. Examples:\ncpee abandon http://localhost:9298/1/ \"aa.a\"\ncpee abandon http://localhost:9298/1-200 aaa"))
44
46
  opt.on("")
45
47
  opt.on(wrap("[start URL] stopped processes are started; all others are not touched. Examples:\ncpee start http://localhost:9298/1\ncpee start http://localhost:9298/1-200\ncpee start http://localhost:9298/*"))
@@ -57,7 +59,7 @@ ARGV.options { |opt|
57
59
  }
58
60
  if (ARGV.length == 0) ||
59
61
  (ARGV.length == 1 && !(%w(ui convert).include?(ARGV[0]))) ||
60
- (ARGV.length == 2 && !(%w(abandon abandon! start delete! cpui new).include?(ARGV[0]))) ||
62
+ (ARGV.length == 2 && !(%w(abandon abandon! stopping start delete! cpui new).include?(ARGV[0]))) ||
61
63
  (ARGV.length == 3 && !(%w(archive a_by_name).include?(ARGV[0]))) ||
62
64
  (ARGV.length > 3)
63
65
  puts ARGV.options
@@ -284,6 +286,35 @@ elsif command == 'abandon!'
284
286
  end
285
287
  end
286
288
  end
289
+ elsif command == 'stopping'
290
+ p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
291
+ base = File.dirname(p1)
292
+ names = []
293
+ if File.basename(p1) =~ /(\d+)-(\d+)/
294
+ names = ($1.to_i..$2.to_i).to_a
295
+ elsif File.basename(p1) == '*'
296
+ res = Typhoeus.get(File.join(base,'/'), headers: { 'see-instances' => 'true' })
297
+ if res.success?
298
+ XML::Smart.string(res.response_body) do |doc|
299
+ doc.find('//instance/@id').each do |ele|
300
+ names << ele.value
301
+ end
302
+ end
303
+ names.reverse!
304
+ else
305
+ exit
306
+ end
307
+ else
308
+ names << File.basename(p1).to_i
309
+ end
310
+ names.each do |name|
311
+ res1 = Typhoeus.get(File.join(base,name.to_s,'properties','state','/'))
312
+ if res1.success?
313
+ if res1.response_body == 'stopping'
314
+ puts name
315
+ end
316
+ end
317
+ end
287
318
  elsif command == 'abandon'
288
319
  p1 = File.join(p1,'*') if p1 =~ /([a-zA-Z]|\/)$/
289
320
  base = File.dirname(p1)
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.51
4
+ version: 2.1.52
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: 2023-10-10 00:00:00.000000000 Z
13
+ date: 2024-02-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: riddl
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: '0.126'
21
+ version: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: '0.126'
28
+ version: '1.0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: weel
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +172,7 @@ files:
172
172
  - cockpit/css/graph.css
173
173
  - cockpit/css/model.css
174
174
  - cockpit/css/replay.css
175
+ - cockpit/css/resources.css
175
176
  - cockpit/css/track.css
176
177
  - cockpit/css/ui.css
177
178
  - cockpit/css/wfadaptor.css
@@ -185,6 +186,7 @@ files:
185
186
  - cockpit/js/modifiers.js
186
187
  - cockpit/js/parameters.js
187
188
  - cockpit/js/replay.js
189
+ - cockpit/js/resources.js
188
190
  - cockpit/js/track.js
189
191
  - cockpit/js/ui.js
190
192
  - cockpit/js/wfadaptor.js
@@ -369,6 +371,62 @@ files:
369
371
  - cockpit/themes/control/symbols/terminate.svg
370
372
  - cockpit/themes/control/symbols/test.svg
371
373
  - cockpit/themes/control/theme.js
374
+ - cockpit/themes/dataflow/rngs/alternative.rng
375
+ - cockpit/themes/dataflow/rngs/call.rng
376
+ - cockpit/themes/dataflow/rngs/callmanipulate.rng
377
+ - cockpit/themes/dataflow/rngs/choose.rng
378
+ - cockpit/themes/dataflow/rngs/closed_loop.rng
379
+ - cockpit/themes/dataflow/rngs/closed_loop_cancel.rng
380
+ - cockpit/themes/dataflow/rngs/closed_loop_control.rng
381
+ - cockpit/themes/dataflow/rngs/closed_loop_measuring.rng
382
+ - cockpit/themes/dataflow/rngs/critical.rng
383
+ - cockpit/themes/dataflow/rngs/escape.rng
384
+ - cockpit/themes/dataflow/rngs/group.rng
385
+ - cockpit/themes/dataflow/rngs/loop.rng
386
+ - cockpit/themes/dataflow/rngs/manipulate.rng
387
+ - cockpit/themes/dataflow/rngs/otherwise.rng
388
+ - cockpit/themes/dataflow/rngs/parallel.rng
389
+ - cockpit/themes/dataflow/rngs/parallel_branch.rng
390
+ - cockpit/themes/dataflow/rngs/scripts.rng
391
+ - cockpit/themes/dataflow/rngs/start.rng
392
+ - cockpit/themes/dataflow/rngs/stop.rng
393
+ - cockpit/themes/dataflow/rngs/terminate.rng
394
+ - cockpit/themes/dataflow/symbols/alternative.svg
395
+ - cockpit/themes/dataflow/symbols/arrow.svg
396
+ - cockpit/themes/dataflow/symbols/call.svg
397
+ - cockpit/themes/dataflow/symbols/call_sensor.svg
398
+ - cockpit/themes/dataflow/symbols/callmanipulate.svg
399
+ - cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg
400
+ - cockpit/themes/dataflow/symbols/choose.svg
401
+ - cockpit/themes/dataflow/symbols/choose_exclusive.svg
402
+ - cockpit/themes/dataflow/symbols/choose_inclusive.svg
403
+ - cockpit/themes/dataflow/symbols/closed_loop.svg
404
+ - cockpit/themes/dataflow/symbols/closed_loop_cancel.svg
405
+ - cockpit/themes/dataflow/symbols/closed_loop_control.svg
406
+ - cockpit/themes/dataflow/symbols/closed_loop_measuring.svg
407
+ - cockpit/themes/dataflow/symbols/complex.svg
408
+ - cockpit/themes/dataflow/symbols/critical.svg
409
+ - cockpit/themes/dataflow/symbols/delete.svg
410
+ - cockpit/themes/dataflow/symbols/end.svg
411
+ - cockpit/themes/dataflow/symbols/escape.svg
412
+ - cockpit/themes/dataflow/symbols/event_end.svg
413
+ - cockpit/themes/dataflow/symbols/loop.svg
414
+ - cockpit/themes/dataflow/symbols/manipulate.svg
415
+ - cockpit/themes/dataflow/symbols/otherwise.svg
416
+ - cockpit/themes/dataflow/symbols/parallel.svg
417
+ - cockpit/themes/dataflow/symbols/parallel_branch.svg
418
+ - cockpit/themes/dataflow/symbols/parallel_branch_compact.svg
419
+ - cockpit/themes/dataflow/symbols/parallel_branch_event.svg
420
+ - cockpit/themes/dataflow/symbols/parallel_branch_normal.svg
421
+ - cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg
422
+ - cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg
423
+ - cockpit/themes/dataflow/symbols/scripts.svg
424
+ - cockpit/themes/dataflow/symbols/start.svg
425
+ - cockpit/themes/dataflow/symbols/start_event.svg
426
+ - cockpit/themes/dataflow/symbols/stop.svg
427
+ - cockpit/themes/dataflow/symbols/terminate.svg
428
+ - cockpit/themes/dataflow/symbols/test.svg
429
+ - cockpit/themes/dataflow/theme.js
372
430
  - cockpit/themes/default/rngs/alternative.rng
373
431
  - cockpit/themes/default/rngs/call.rng
374
432
  - cockpit/themes/default/rngs/callmanipulate.rng
@@ -715,13 +773,9 @@ files:
715
773
  - server/resources/test.pdf
716
774
  - server/resources/topics.xml
717
775
  - server/resources/transformation.xml
718
- - server/routing/end.pid
719
776
  - server/routing/end.rb
720
- - server/routing/forward-events-00.pid
721
777
  - server/routing/forward-events.rb
722
- - server/routing/forward-votes.pid
723
778
  - server/routing/forward-votes.rb
724
- - server/routing/persist.pid
725
779
  - server/routing/persist.rb
726
780
  - server/server.conf
727
781
  - server/server.pid
@@ -1 +0,0 @@
1
- 1105683
@@ -1 +0,0 @@
1
- 1105692
@@ -1 +0,0 @@
1
- 1105689
@@ -1 +0,0 @@
1
- 1105686