cpee 2.0.1 → 2.0.2
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/js/instance.js +6 -1
- data/cockpit/model.html +1 -0
- data/cpee.gemspec +1 -1
- data/lib/cpee/implementation.rb +3 -2
- data/lib/cpee/implementation_properties.rb +4 -1
- data/tools/cpee +29 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b71f98dc26ff6f1cfed69fc184651d7fd01175bee56c77df2f92df10a8db1a3e
|
4
|
+
data.tar.gz: 6b023b74f885fc91e81b1ad27040998eea19e7098cb899f3555e5c1c3e11cf38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd458b2163ef367cde6ac05fa4e178b93f0ad06d5a01cbfc44bf32d921e7675e667a13fd7956e19eac89b064b47908beb815f23d127201d3bf6ac5e7a081c7cd
|
7
|
+
data.tar.gz: f003121ae2244ba0e0608d56cc628f99a05a57e101fb806d1adce44225cc762fc7bb7354c51e3f2bee3bcabb46cfe6200fb7f6a0a3599b16c0a75ffd1f83c7d4
|
data/cockpit/js/instance.js
CHANGED
@@ -784,7 +784,7 @@ function save_testsetfile() {// {{{
|
|
784
784
|
var def = new $.Deferred();
|
785
785
|
def.done(function(name,testset) {
|
786
786
|
var ct = new Date();
|
787
|
-
$('#savetestsetfile').attr('download',name + '
|
787
|
+
$('#savetestsetfile').attr('download',name + '.xml');
|
788
788
|
$('#savetestsetfile').attr('href','data:application/xml;charset=utf-8;base64,' + $B64(testset.serializePrettyXML()));
|
789
789
|
document.getElementById('savetestsetfile').click();
|
790
790
|
});
|
@@ -811,6 +811,11 @@ function get_testset(deferred) {// {{{
|
|
811
811
|
$('testset > dslx',testset).remove();
|
812
812
|
testset.append($X('<transformation xmlns="http://cpee.org/ns/properties/2.0"><description type="copy"/><dataelements type="none"/><endpoints type="none"/></transformation>'));
|
813
813
|
var name = $('testset > attributes > info',testset).text();
|
814
|
+
$('[xmlns]',testset).each((idx,ele) => {
|
815
|
+
if (ele.parentNode.namespaceURI == ele.getAttribute('xmlns')) {
|
816
|
+
ele.removeAttribute('xmlns');
|
817
|
+
}
|
818
|
+
});
|
814
819
|
deferred.resolve(name,testset);
|
815
820
|
},
|
816
821
|
error: function() { deferred.reject(); report_failure(); }
|
data/cockpit/model.html
CHANGED
@@ -33,6 +33,7 @@
|
|
33
33
|
<script type="text/javascript" src="/js_libs/underscore.min.js"></script>
|
34
34
|
<script type="text/javascript" src="/js_libs/jquery.caret.min.js"></script>
|
35
35
|
<script type="text/javascript" src="/js_libs/jquery.cookie.js"></script>
|
36
|
+
|
36
37
|
<script type="text/javascript" src="/js_libs/relaxngui.js"></script>
|
37
38
|
|
38
39
|
<script type="text/javascript" src="/js_libs/ui.js"></script>
|
data/cpee.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "cpee"
|
3
|
-
s.version = "2.0.
|
3
|
+
s.version = "2.0.2"
|
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."
|
data/lib/cpee/implementation.rb
CHANGED
@@ -259,12 +259,13 @@ module CPEE
|
|
259
259
|
opts = @a[0]
|
260
260
|
redis = opts[:redis]
|
261
261
|
id = @r[0].to_i
|
262
|
-
unless redis.exists("instance:#{id}/state")
|
262
|
+
unless redis.exists?("instance:#{id}/state")
|
263
263
|
@status = 404
|
264
264
|
return
|
265
265
|
end
|
266
|
+
empt = redis.keys("instance:#{id}/*").to_a
|
266
267
|
redis.multi do |multi|
|
267
|
-
multi.del
|
268
|
+
multi.del empt
|
268
269
|
multi.zrem 'instances', id
|
269
270
|
end
|
270
271
|
end
|
@@ -220,8 +220,11 @@ module CPEE
|
|
220
220
|
Process.detach pid
|
221
221
|
when 'stopping'
|
222
222
|
pid = File.read(exe + '.pid') rescue nil
|
223
|
-
if pid
|
223
|
+
if pid && (Process.kill(0, pid) rescue false)
|
224
224
|
Process.kill('HUP', pid.to_i) rescue nil
|
225
|
+
else
|
226
|
+
File.unlink(exe + '.pid') rescue nil
|
227
|
+
PutState::set id, opts, 'stopped'
|
225
228
|
end
|
226
229
|
else
|
227
230
|
### Most probably this is never needed. Lets see.
|
data/tools/cpee
CHANGED
@@ -30,7 +30,7 @@ end
|
|
30
30
|
ARGV.options { |opt|
|
31
31
|
opt.summary_indent = ' ' * 2
|
32
32
|
opt.summary_width = 15
|
33
|
-
opt.banner = "Usage:\n#{opt.summary_indent}#{File.basename($0)} [options] ui | cpui DIR | new DIR | archive DIR URL | start URL | delete! URL | abandon URL\n"
|
33
|
+
opt.banner = "Usage:\n#{opt.summary_indent}#{File.basename($0)} [options] convert | ui | cpui DIR | new DIR | archive DIR URL | start URL | delete! URL | abandon URL\n"
|
34
34
|
opt.on("Options:")
|
35
35
|
opt.on("--help", "-h", "This text") { puts opt; exit }
|
36
36
|
opt.on("")
|
@@ -47,10 +47,13 @@ ARGV.options { |opt|
|
|
47
47
|
opt.on(wrap("[cpui DIR] scaffolds a sample html client. New versions might require manual merging if you changed something."))
|
48
48
|
opt.on("")
|
49
49
|
opt.on(wrap("[ui] starts a simple static web server with the ui on http://localhost:8080. Use [cpui DIR] if you want stuff in apache or nginx."))
|
50
|
+
opt.on("")
|
51
|
+
opt.on(wrap("[convert] converts all testsets in the current directory to cpee2."))
|
50
52
|
opt.parse!
|
51
53
|
}
|
52
54
|
if (ARGV.length == 0) ||
|
53
55
|
(ARGV.length == 1 && ARGV[0] != 'ui') ||
|
56
|
+
(ARGV.length == 1 && ARGV[0] != 'convert') ||
|
54
57
|
(ARGV.length == 2 && !(%w(abandon start delete! cpui new).include?(ARGV[0]))) ||
|
55
58
|
(ARGV.length == 3 && ARGV[0] != 'archive') ||
|
56
59
|
(ARGV.length > 3)
|
@@ -99,6 +102,29 @@ elsif command == 'cpui'
|
|
99
102
|
puts "Directory already exists."
|
100
103
|
end
|
101
104
|
end
|
105
|
+
elsif command == 'convert'
|
106
|
+
Dir['*.xml'].each do |f|
|
107
|
+
XML::Smart.modify(f) do |doc|
|
108
|
+
doc.register_namespace 'd', 'http://cpee.org/ns/description/1.0'
|
109
|
+
doc.register_namespace 'p', 'http://riddl.org/ns/common-patterns/properties/1.0'
|
110
|
+
doc.register_namespace 'x', 'http://cpee.org/ns/properties/2.0'
|
111
|
+
if doc.root.qname.name == 'testset'
|
112
|
+
doc.root.namespaces[nil] = 'http://cpee.org/ns/properties/2.0'
|
113
|
+
doc.root.namespace = nil
|
114
|
+
|
115
|
+
doc.find('//x:start_url').each do |e|
|
116
|
+
e.text = 'https://centurio.work/flow-test/start/url/'
|
117
|
+
end rescue nil
|
118
|
+
doc.find('//x:start_git').each do |e|
|
119
|
+
e.text = 'https://centurio.work/flow-test/start/git/'
|
120
|
+
end rescue nil
|
121
|
+
|
122
|
+
doc.find('//p:*').each do |e|
|
123
|
+
e.namespaces.delete_all!
|
124
|
+
end rescue nil
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
102
128
|
elsif command == 'archive'
|
103
129
|
p2 = File.join(p2,'*') if p2 =~ /([a-zA-Z]|\/)$/
|
104
130
|
base = File.dirname(p2)
|
@@ -139,11 +165,12 @@ elsif command == 'archive'
|
|
139
165
|
prop = Typhoeus.get(File.join(base,name.to_s,'properties','/'))
|
140
166
|
if prop.success?
|
141
167
|
xprop = XML::Smart::string(prop.response_body)
|
142
|
-
xprop.register_namespace 'p', 'http://
|
168
|
+
xprop.register_namespace 'p', 'http://cpee.org/ns/properties/2.0'
|
143
169
|
if ["finished","abandoned"].include?(xprop.find("string(/p:properties/p:state)"))
|
144
170
|
uuid = xprop.find("string(/p:properties/p:attributes/p:uuid)")
|
145
171
|
id = name.to_s
|
146
172
|
File.write(File.join(p1,uuid + '.xml'),prop.response_body) if prop.headers['Content-Type'] =~ /^(text|application)\/xml/
|
173
|
+
p File.join(base,name.to_s,'/')
|
147
174
|
Typhoeus.delete(File.join(base,name.to_s,'/'))
|
148
175
|
end
|
149
176
|
end
|
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.0.
|
4
|
+
version: 2.0.2
|
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: 2020-10-
|
13
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: riddl
|