cpee 2.0.6 → 2.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cockpit/config.json +3 -0
- data/cockpit/css/track.css +17 -6
- data/cockpit/css/ui.css +6 -2
- data/cockpit/css/wfadaptor.css +1 -1
- data/cockpit/edit.html +1 -0
- data/cockpit/index.html +2 -2
- data/cockpit/js/instance.js +75 -55
- data/cockpit/js/track.js +10 -0
- data/cockpit/js/ui.js +47 -16
- data/cockpit/templates/Track Test Local.xml +82 -0
- data/cockpit/templates/Track Test.xml +82 -0
- data/cockpit/templates/instantiate.local/Take_Sub.xml +59 -0
- data/cockpit/templates/instantiate/Take_Perf.xml +46 -0
- data/cockpit/templates/instantiate/Take_Sub.xml +58 -0
- data/cockpit/templates/instantiate/Take_X.xml +48 -0
- data/cockpit/themes/compact/rngs/call.rng +5 -0
- data/cockpit/themes/compact/rngs/callmanipulate.rng +6 -1
- data/cockpit/themes/compact/rngs/loop.rng +1 -1
- data/cockpit/themes/compact/rngs/parallel.rng +1 -1
- data/cockpit/themes/default/rngs/call.rng +5 -0
- data/cockpit/themes/default/rngs/callmanipulate.rng +6 -1
- data/cockpit/themes/default/rngs/loop.rng +1 -1
- data/cockpit/themes/default/rngs/parallel.rng +1 -1
- data/cockpit/themes/extended/rngs/call.rng +5 -0
- data/cockpit/themes/extended/rngs/callmanipulate.rng +6 -1
- data/cockpit/themes/extended/rngs/loop.rng +1 -1
- data/cockpit/themes/extended/rngs/parallel.rng +1 -1
- data/cockpit/themes/extended/theme.js +4 -0
- data/cockpit/themes/model/theme.js +1 -1
- data/cockpit/themes/packed/rngs/call.rng +5 -0
- data/cockpit/themes/packed/rngs/callmanipulate.rng +6 -1
- data/cockpit/themes/packed/rngs/loop.rng +1 -1
- data/cockpit/themes/packed/rngs/parallel.rng +1 -1
- data/cockpit/themes/preset/rngs/call.rng +5 -0
- data/cockpit/themes/preset/rngs/callmanipulate.rng +6 -1
- data/cockpit/themes/preset/rngs/loop.rng +1 -1
- data/cockpit/themes/preset/rngs/parallel.rng +1 -1
- data/cockpit/track.html +37 -8
- data/cpee.gemspec +3 -3
- data/lib/cpee/implementation.rb +15 -6
- data/lib/cpee/implementation_notifications.rb +80 -51
- data/lib/cpee/implementation_properties.rb +5 -2
- data/lib/cpee/persistence.rb +3 -0
- data/server/handlerwrappers/default.rb +3 -0
- data/server/routing/forward-events.rb +2 -1
- data/server/routing/forward-votes.rb +1 -1
- data/server/server.conf +4 -0
- data/tools/cpee +17 -9
- metadata +17 -10
- data/cockpit/templates/convert_cpee2.rb +0 -15
- data/cockpit/themes/convert_cpee2.rb +0 -8
@@ -126,6 +126,9 @@ class DefaultHandlerWrapper < WEEL::HandlerWrapperBase
|
|
126
126
|
if headers['CPEE_INSTANTIATION']
|
127
127
|
@controller.notify("task/instantiation", :activity_uuid => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint, :received => CPEE::ValueHelper.parse(headers['CPEE_INSTANTIATION']))
|
128
128
|
end
|
129
|
+
if headers['CPEE_EVENT']
|
130
|
+
@controller.notify("task/#{headers['CPEE_EVENT'].gsub(/[^\w_-]/,'')}", :activity_uuid => @handler_activity_uuid, :label => @label, :activity => @handler_position, :endpoint => @handler_endpoint)
|
131
|
+
end
|
129
132
|
if headers['CPEE_CALLBACK'] && headers['CPEE_CALLBACK'] == 'true' && result.any?
|
130
133
|
headers['CPEE_UPDATE'] = true
|
131
134
|
callback result, headers
|
@@ -39,7 +39,8 @@ Daemonite.new do |opts|
|
|
39
39
|
if url.nil? || url == ""
|
40
40
|
redis.publish("forward:#{instance}/#{key}",mess)
|
41
41
|
else
|
42
|
-
|
42
|
+
p "#{type}/#{topic}/#{event}-#{url}"
|
43
|
+
client = Riddl::Client.new(url)
|
43
44
|
client.post [
|
44
45
|
Riddl::Parameter::Simple::new('type',type),
|
45
46
|
Riddl::Parameter::Simple::new('topic',topic),
|
@@ -70,7 +70,7 @@ Daemonite.new do |opts|
|
|
70
70
|
persist_handler instance, callback_key, m, redis
|
71
71
|
redis.publish("forward:#{instance}/#{subscription_key}",mess)
|
72
72
|
else
|
73
|
-
client = Riddl::Client.new(url
|
73
|
+
client = Riddl::Client.new(url)
|
74
74
|
callback = m['instance-url'] + '/callbacks/' + subscription_key
|
75
75
|
status, result, headers = (client.post [
|
76
76
|
Riddl::Header.new("CPEE-BASE",m['cpee']),
|
data/server/server.conf
ADDED
data/tools/cpee
CHANGED
@@ -117,6 +117,16 @@ elsif command == 'convert'
|
|
117
117
|
doc.find('//x:start_git').each do |e|
|
118
118
|
e.text = 'https://centurio.work/flow-test/start/git/'
|
119
119
|
end rescue nil
|
120
|
+
doc.find('//d:finalize | //d:update | //d:prepare | //d:rescue').each do |e|
|
121
|
+
if e.parent.qname.name != 'code'
|
122
|
+
n = e.parent
|
123
|
+
if (x = n.find('d:code')).any?
|
124
|
+
x.first.add(e)
|
125
|
+
else
|
126
|
+
n.add('d:code').add(e)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end rescue nil
|
120
130
|
|
121
131
|
doc.find('//p:*').each do |e|
|
122
132
|
e.namespaces.delete_all!
|
@@ -152,7 +162,7 @@ elsif command == 'archive'
|
|
152
162
|
XML::Smart.string(res.response_body) do |doc|
|
153
163
|
if doc.root.qname.to_s == "instances"
|
154
164
|
doc.root.children.each do |i|
|
155
|
-
if ["finished","abandoned"].include?(i.attributes['state'])
|
165
|
+
if ["finished","abandoned"].include?(i.attributes['state']) || (["ready"].include?(i.attributes['state']) && Time.parse(i.attributes['changed']).to_i < Time.now-(60*60*24))
|
156
166
|
prop = Typhoeus.get(File.join(base,name.to_s,i.attributes['id'],'properties','/'))
|
157
167
|
if prop.success?
|
158
168
|
File.write(File.join(p1,i.attributes['uuid'] + '.xml'),prop.response_body) if prop.headers['Content-Type'] =~ /^(text|application)\/xml/
|
@@ -165,11 +175,10 @@ elsif command == 'archive'
|
|
165
175
|
if prop.success?
|
166
176
|
xprop = XML::Smart::string(prop.response_body)
|
167
177
|
xprop.register_namespace 'p', 'http://cpee.org/ns/properties/2.0'
|
168
|
-
if ["finished","abandoned"].include?(xprop.find("string(/p:properties/p:state)"))
|
178
|
+
if ["finished","abandoned"].include?(xprop.find("string(/p:properties/p:state)")) || (["ready"].include?(xprop.find("string(/p:properties/p:state)")) && Time.parse(xprop.find("string(/p:properties/p:state/@changed)")) < Time.now-(60*60*12))
|
169
179
|
uuid = xprop.find("string(/p:properties/p:attributes/p:uuid)")
|
170
180
|
id = name.to_s
|
171
181
|
File.write(File.join(p1,uuid + '.xml'),prop.response_body) if prop.headers['Content-Type'] =~ /^(text|application)\/xml/
|
172
|
-
p File.join(base,name.to_s,'/')
|
173
182
|
Typhoeus.delete(File.join(base,name.to_s,'/'))
|
174
183
|
end
|
175
184
|
end
|
@@ -200,11 +209,10 @@ elsif command == 'abandon'
|
|
200
209
|
names << File.basename(p1)
|
201
210
|
end
|
202
211
|
names.each do |name|
|
203
|
-
|
204
|
-
if
|
205
|
-
|
206
|
-
|
207
|
-
Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=abandoned")
|
212
|
+
res1 = Typhoeus.get(File.join(base,name.to_s,'properties','state','/'))
|
213
|
+
if res1.success?
|
214
|
+
if res1.response_body == 'ready' || res1.response_body == 'stopped'
|
215
|
+
Typhoeus.put(File.join(base,name.to_s,'properties','state','/'), headers: {'Content-Type' => 'application/x-www-form-urlencoded'}, body: "value=abandoned")
|
208
216
|
end
|
209
217
|
end
|
210
218
|
end
|
@@ -246,7 +254,7 @@ elsif command == 'delete!'
|
|
246
254
|
elsif command == 'new'
|
247
255
|
if !File.exists?(p1)
|
248
256
|
FileUtils.cp_r("#{curpath}/server/",p1)
|
249
|
-
FileUtils.
|
257
|
+
FileUtils.mkdir("#{p1}/archive") rescue nil
|
250
258
|
FileUtils.mkdir("#{p1}/instances") rescue nil
|
251
259
|
FileUtils.mkdir("#{p1}/resources") rescue nil
|
252
260
|
FileUtils.mkdir("#{p1}/handlerwrappers") rescue nil
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cpee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
- Ralph Vigne
|
9
9
|
- Gerhard Stuermer
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: tools
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-11-04 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.
|
21
|
+
version: '0.108'
|
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.
|
28
|
+
version: '0.108'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: weel
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,6 +117,7 @@ files:
|
|
117
117
|
- README.md
|
118
118
|
- Rakefile
|
119
119
|
- cockpit/README
|
120
|
+
- cockpit/config.json
|
120
121
|
- cockpit/contrib/graph_example.svg
|
121
122
|
- cockpit/contrib/legend.svg
|
122
123
|
- cockpit/contrib/symbols.svg
|
@@ -127,6 +128,7 @@ files:
|
|
127
128
|
- cockpit/css/track.css
|
128
129
|
- cockpit/css/ui.css
|
129
130
|
- cockpit/css/wfadaptor.css
|
131
|
+
- cockpit/edit.html
|
130
132
|
- cockpit/graph.html
|
131
133
|
- cockpit/index.html
|
132
134
|
- cockpit/js/details.js
|
@@ -192,8 +194,13 @@ files:
|
|
192
194
|
- cockpit/templates/IUPC arXiv:1104.3609 P34 1.xml
|
193
195
|
- cockpit/templates/IUPC arXiv:1104.3609 P34 2.xml
|
194
196
|
- cockpit/templates/IUPC arXiv:1104.3609 P34 3.xml
|
197
|
+
- cockpit/templates/Track Test Local.xml
|
198
|
+
- cockpit/templates/Track Test.xml
|
195
199
|
- cockpit/templates/Worklist.xml
|
196
|
-
- cockpit/templates/
|
200
|
+
- cockpit/templates/instantiate.local/Take_Sub.xml
|
201
|
+
- cockpit/templates/instantiate/Take_Perf.xml
|
202
|
+
- cockpit/templates/instantiate/Take_Sub.xml
|
203
|
+
- cockpit/templates/instantiate/Take_X.xml
|
197
204
|
- cockpit/themes/compact/rngs/alternative.rng
|
198
205
|
- cockpit/themes/compact/rngs/call.rng
|
199
206
|
- cockpit/themes/compact/rngs/callmanipulate.rng
|
@@ -234,7 +241,6 @@ files:
|
|
234
241
|
- cockpit/themes/compact/symbols/stop.svg
|
235
242
|
- cockpit/themes/compact/symbols/terminate.svg
|
236
243
|
- cockpit/themes/compact/theme.js
|
237
|
-
- cockpit/themes/convert_cpee2.rb
|
238
244
|
- cockpit/themes/default/rngs/alternative.rng
|
239
245
|
- cockpit/themes/default/rngs/call.rng
|
240
246
|
- cockpit/themes/default/rngs/callmanipulate.rng
|
@@ -506,6 +512,7 @@ files:
|
|
506
512
|
- server/routing/forward-events.rb
|
507
513
|
- server/routing/forward-votes.rb
|
508
514
|
- server/routing/persist.rb
|
515
|
+
- server/server.conf
|
509
516
|
- server/server.rb
|
510
517
|
- tools/cpee
|
511
518
|
- tools/server/resources/notifications/logging/subscription.xml
|
@@ -515,7 +522,7 @@ homepage: http://cpee.org/
|
|
515
522
|
licenses:
|
516
523
|
- LGPL-3.0
|
517
524
|
metadata: {}
|
518
|
-
post_install_message:
|
525
|
+
post_install_message:
|
519
526
|
rdoc_options: []
|
520
527
|
require_paths:
|
521
528
|
- lib
|
@@ -530,8 +537,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
530
537
|
- !ruby/object:Gem::Version
|
531
538
|
version: '0'
|
532
539
|
requirements: []
|
533
|
-
rubygems_version: 3.1.
|
534
|
-
signing_key:
|
540
|
+
rubygems_version: 3.1.4
|
541
|
+
signing_key:
|
535
542
|
specification_version: 4
|
536
543
|
summary: Preliminary release of cloud process execution engine (cpee.org). If you
|
537
544
|
just need workflow execution, without a rest service exposing it, then use WEEL.
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
require 'xml/smart'
|
3
|
-
|
4
|
-
Dir['*.xml'].each do |f|
|
5
|
-
XML::Smart.modify(f) do |doc|
|
6
|
-
doc.register_namespace 'd', 'http://cpee.org/ns/description/1.0'
|
7
|
-
doc.register_namespace 'p', 'http://riddl.org/ns/common-patterns/properties/1.0'
|
8
|
-
if doc.root.qname.name == 'testset'
|
9
|
-
doc.find('//attributes | //endpoints | //dataelements | //positions | //transformation | //handlerwrapper | //description').each do |e|
|
10
|
-
e.namespaces[nil] = 'http://cpee.org/ns/properties/2.0'
|
11
|
-
e.namespace = nil
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|