cpee 2.0.6 → 2.0.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|