cpee 2.1.51 → 2.1.52
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/cockpit/css/resources.css +42 -0
- data/cockpit/css/ui.css +4 -0
- data/cockpit/index.html +3 -0
- data/cockpit/js/details.js +5 -0
- data/cockpit/js/instance.js +253 -62
- data/cockpit/js/modifiers.js +8 -1
- data/cockpit/js/resources.js +16 -0
- data/cockpit/js/wfadaptor.js +3 -3
- data/cockpit/templates/Coopis 2010.xml +7 -1
- data/cockpit/themes/compact/rngs/call.rng +3 -1
- data/cockpit/themes/compact/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/compact/theme.js +1 -1
- data/cockpit/themes/control/rngs/call.rng +3 -1
- data/cockpit/themes/control/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/control/theme.js +1 -1
- data/cockpit/themes/dataflow/rngs/alternative.rng +25 -0
- data/cockpit/themes/dataflow/rngs/call.rng +228 -0
- data/cockpit/themes/dataflow/rngs/callmanipulate.rng +257 -0
- data/cockpit/themes/dataflow/rngs/choose.rng +14 -0
- data/cockpit/themes/dataflow/rngs/closed_loop.rng +62 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_cancel.rng +5 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_control.rng +31 -0
- data/cockpit/themes/dataflow/rngs/closed_loop_measuring.rng +12 -0
- data/cockpit/themes/dataflow/rngs/critical.rng +5 -0
- data/cockpit/themes/dataflow/rngs/escape.rng +1 -0
- data/cockpit/themes/dataflow/rngs/group.rng +3 -0
- data/cockpit/themes/dataflow/rngs/loop.rng +22 -0
- data/cockpit/themes/dataflow/rngs/manipulate.rng +9 -0
- data/cockpit/themes/dataflow/rngs/otherwise.rng +22 -0
- data/cockpit/themes/dataflow/rngs/parallel.rng +27 -0
- data/cockpit/themes/dataflow/rngs/parallel_branch.rng +2 -0
- data/cockpit/themes/dataflow/rngs/scripts.rng +23 -0
- data/cockpit/themes/dataflow/rngs/start.rng +121 -0
- data/cockpit/themes/dataflow/rngs/stop.rng +5 -0
- data/cockpit/themes/dataflow/rngs/terminate.rng +1 -0
- data/cockpit/themes/dataflow/symbols/alternative.svg +5 -0
- data/cockpit/themes/dataflow/symbols/arrow.svg +3 -0
- data/cockpit/themes/dataflow/symbols/call.svg +6 -0
- data/cockpit/themes/dataflow/symbols/call_sensor.svg +9 -0
- data/cockpit/themes/dataflow/symbols/callmanipulate.svg +8 -0
- data/cockpit/themes/dataflow/symbols/callmanipulate_sensor.svg +11 -0
- data/cockpit/themes/dataflow/symbols/choose.svg +5 -0
- data/cockpit/themes/dataflow/symbols/choose_exclusive.svg +5 -0
- data/cockpit/themes/dataflow/symbols/choose_inclusive.svg +4 -0
- data/cockpit/themes/dataflow/symbols/closed_loop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_cancel.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_control.svg +5 -0
- data/cockpit/themes/dataflow/symbols/closed_loop_measuring.svg +6 -0
- data/cockpit/themes/dataflow/symbols/complex.svg +8 -0
- data/cockpit/themes/dataflow/symbols/critical.svg +4 -0
- data/cockpit/themes/dataflow/symbols/delete.svg +4 -0
- data/cockpit/themes/dataflow/symbols/end.svg +3 -0
- data/cockpit/themes/dataflow/symbols/escape.svg +5 -0
- data/cockpit/themes/dataflow/symbols/event_end.svg +3 -0
- data/cockpit/themes/dataflow/symbols/loop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/manipulate.svg +4 -0
- data/cockpit/themes/dataflow/symbols/otherwise.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_compact.svg +4 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_event.svg +14 -0
- data/cockpit/themes/dataflow/symbols/parallel_branch_normal.svg +5 -0
- data/cockpit/themes/dataflow/symbols/parallel_eventbased_exclusive.svg +9 -0
- data/cockpit/themes/dataflow/symbols/parallel_eventbased_parallel.svg +8 -0
- data/cockpit/themes/dataflow/symbols/scripts.svg +4 -0
- data/cockpit/themes/dataflow/symbols/start.svg +3 -0
- data/cockpit/themes/dataflow/symbols/start_event.svg +5 -0
- data/cockpit/themes/dataflow/symbols/stop.svg +5 -0
- data/cockpit/themes/dataflow/symbols/terminate.svg +4 -0
- data/cockpit/themes/dataflow/symbols/test.svg +74 -0
- data/cockpit/themes/dataflow/theme.js +1556 -0
- data/cockpit/themes/default/rngs/call.rng +3 -1
- data/cockpit/themes/default/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/default/theme.js +1 -1
- data/cockpit/themes/extended/rngs/call.rng +3 -1
- data/cockpit/themes/extended/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/extended/theme.js +1 -1
- data/cockpit/themes/model/theme.js +1 -1
- data/cockpit/themes/packed/rngs/call.rng +3 -1
- data/cockpit/themes/packed/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/packed/theme.js +1 -1
- data/cockpit/themes/preset/rngs/call.rng +3 -1
- data/cockpit/themes/preset/rngs/callmanipulate.rng +3 -1
- data/cockpit/themes/preset/theme.js +1 -1
- data/cpee.gemspec +2 -2
- data/lib/cpee/message.rb +20 -8
- data/lib/cpee/persistence.rb +12 -0
- data/lib/properties.xml +1 -1
- data/server/executionhandlers/ruby/connection.rb +31 -4
- data/tools/cpee +32 -1
- metadata +62 -8
- data/server/routing/end.pid +0 -1
- data/server/routing/forward-events-00.pid +0 -1
- data/server/routing/forward-votes.pid +0 -1
- 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/
|
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/
|
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/
|
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/
|
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/
|
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.
|
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
|
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
|
-
|
19
|
-
|
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
|
-
|
36
|
-
|
37
|
-
|
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[
|
45
|
-
payload[
|
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
|
-
|
70
|
+
@@who => cpee,
|
59
71
|
'topic' => topic,
|
60
72
|
'type' => type,
|
61
73
|
'name' => name,
|
data/lib/cpee/persistence.rb
CHANGED
@@ -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="
|
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['
|
69
|
+
if @controller.attributes['twin_engine']
|
70
70
|
@handler_endpoint_orig = @handler_endpoint
|
71
|
-
@handler_endpoint = @controller.attributes['
|
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
|
-
|
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['
|
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.
|
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:
|
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
|
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
|
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
|
data/server/routing/end.pid
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1105683
|
@@ -1 +0,0 @@
|
|
1
|
-
1105692
|
@@ -1 +0,0 @@
|
|
1
|
-
1105689
|
data/server/routing/persist.pid
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
1105686
|