cpee 2.1.131 → 2.1.133
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/compliance-view.html +313 -0
- data/cockpit/compliance.html +1 -1
- data/cockpit/config.json.example +7 -6
- data/cockpit/css/llm.css +9 -1
- data/cockpit/css/llmmodel.css +3 -0
- data/cockpit/css/ui.css +9 -31
- data/cockpit/edit.html +1 -1
- data/cockpit/graph.html +1 -1
- data/cockpit/index.html +6 -1
- data/cockpit/js/compliance.js +148 -36
- data/cockpit/js/instance.js +15 -5
- data/cockpit/js/parameters.js +41 -9
- data/cockpit/js/ui.js +10 -40
- data/cockpit/llm.html +4 -4
- data/cockpit/llmmodel.html +15 -8
- data/cockpit/model.html +1 -1
- data/cockpit/only_llm.html +5 -5
- data/cockpit/rngs/attributes.rng +2 -2
- data/cockpit/rngs/dataelements.rng +2 -2
- data/cockpit/rngs/documents.rng +8 -0
- data/cockpit/rngs/endpoints.rng +2 -2
- data/cockpit/rngs/requirements.rng +2 -2
- data/cockpit/track.html +1 -1
- data/cpee.gemspec +2 -2
- data/lib/cpee/implementation.rb +3 -1
- data/lib/cpee/implementation_properties.rb +6 -5
- data/lib/cpee/persistence.rb +6 -7
- data/lib/properties/documents.rng +10 -0
- data/lib/properties/properties.rng +2 -0
- data/lib/properties/set-properties.rng +2 -0
- data/lib/properties/set-some-properties.rng +4 -0
- data/lib/properties/set-testset.rng +3 -0
- data/lib/properties/t_documents.rng +7 -0
- data/lib/properties.xml +22 -0
- data/server/executionhandlers/eval/connection.rb +1 -0
- data/server/executionhandlers/eval/execution.rb +2 -0
- data/server/executionhandlers/ruby/connection.rb +2 -1
- data/server/executionhandlers/ruby/controller.rb +4 -8
- data/server/executionhandlers/ruby/execution.rb +2 -0
- data/server/resources/properties.empty +1 -0
- data/server/resources/properties.init +1 -0
- data/server/routing/end.pid +1 -1
- data/server/routing/forward-events-00.pid +1 -1
- data/server/routing/forward-votes.pid +1 -1
- data/server/routing/persist.pid +1 -1
- data/server/routing/persist.rb +2 -1
- data/tools/cpee +1 -1
- metadata +8 -4
- data/lib/cpee/attributes_helper.rb +0 -41
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<element rngui:version="1.2" name="requirements" ns="http://cpee.org/ns/properties/2.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:rngui="http://rngui.org">
|
|
2
2
|
<zeroOrMore rngui:label="Create Requirement">
|
|
3
|
-
<element rngui:label='
|
|
4
|
-
<anyName/>
|
|
3
|
+
<element rngui:label='Name'>
|
|
4
|
+
<anyName rngui:unique="true"/>
|
|
5
5
|
<data type="string" rngui:label="value"/>
|
|
6
6
|
</element>
|
|
7
7
|
</zeroOrMore>
|
data/cockpit/track.html
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<link rel="stylesheet" href="css/extended_columns-svg.css" type="text/css" data-include-export="true"/>
|
|
64
64
|
<link rel="stylesheet" href="css/track.css" type="text/css"/>
|
|
65
65
|
</head>
|
|
66
|
-
<body data-base-port="8298" data-
|
|
66
|
+
<body data-base-port="8298" data-base-engine="engine/" data-base-themes="themes" is="x-ui-">
|
|
67
67
|
<div class='hidden' id='relaxngworker'></div>
|
|
68
68
|
<template id="label">
|
|
69
69
|
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg" style="position: absolute; top: 0; left: 0;" class="displaylabel">
|
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.133"
|
|
4
4
|
s.platform = Gem::Platform::RUBY
|
|
5
5
|
s.license = "LGPL-3.0-or-later"
|
|
6
6
|
s.summary = "The cloud process execution engine (cpee.org). If you just need workflow execution, without a rest service exposing it, then use WEEL."
|
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
|
22
22
|
s.homepage = 'http://cpee.org/'
|
|
23
23
|
|
|
24
24
|
s.add_runtime_dependency 'riddl', '~> 1.0'
|
|
25
|
-
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.
|
|
25
|
+
s.add_runtime_dependency 'weel', '~> 1.99', '>= 1.99.158'
|
|
26
26
|
s.add_runtime_dependency 'highline', '~> 2.0'
|
|
27
27
|
s.add_runtime_dependency 'redis', '~> 5.4'
|
|
28
28
|
s.add_runtime_dependency 'net-ssh', '~> 7.3'
|
data/lib/cpee/implementation.rb
CHANGED
|
@@ -35,6 +35,7 @@ module CPEE
|
|
|
35
35
|
/p:*/p:positions/p:*/@*
|
|
36
36
|
/p:*/p:attributes/p:*
|
|
37
37
|
/p:*/p:dataelements/p:*
|
|
38
|
+
/p:*/p:documents/p:*
|
|
38
39
|
/p:*/p:endpoints/p:*
|
|
39
40
|
/p:*/p:transformation/p:*
|
|
40
41
|
/p:*/p:transformation/p:*/@*
|
|
@@ -51,6 +52,7 @@ module CPEE
|
|
|
51
52
|
}
|
|
52
53
|
PROPERTIES_PATHS_INDEX_ORDERED = %w{
|
|
53
54
|
/p:*/p:dataelements/p:*
|
|
55
|
+
/p:*/p:documents/p:*
|
|
54
56
|
/p:*/p:endpoints/p:*
|
|
55
57
|
/p:*/p:attributes/p:*
|
|
56
58
|
}
|
|
@@ -91,7 +93,7 @@ module CPEE
|
|
|
91
93
|
opts[:redis_pid] ||= 'redis.pid' # use e.g. /var/run/redis.pid if you do global. Look it up in your redis config
|
|
92
94
|
opts[:redis_db_name] ||= 'redis.rdb' # use e.g. /var/lib/redis.rdb for global stuff. Look it up in your redis config
|
|
93
95
|
|
|
94
|
-
opts[:libs_preload] ||= ['weel', 'json', 'redis', 'securerandom', 'riddl/client', 'cpee/value_helper', 'cpee/
|
|
96
|
+
opts[:libs_preload] ||= ['weel', 'json', 'redis', 'securerandom', 'riddl/client', 'cpee/value_helper', 'cpee/message', 'cpee/redis', 'cpee/persistence', 'yaml', 'charlock_holmes', 'psych', 'xml/smart', 'ostruct', 'bigdecimal', 'mimemagic', 'cpee-eval-ruby/translation', 'get_process_mem']
|
|
95
97
|
opts[:libs_preloader] ||= '~/bin/by-server'
|
|
96
98
|
opts[:libs_preloaderrun] ||= '~/bin/by'
|
|
97
99
|
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
# CPEE (file COPYING in the main directory). If not, see
|
|
13
13
|
# <http://www.gnu.org/licenses/>.
|
|
14
14
|
|
|
15
|
-
require_relative 'attributes_helper'
|
|
16
15
|
require_relative 'fail'
|
|
17
16
|
require_relative 'value_helper'
|
|
18
17
|
require 'json'
|
|
@@ -66,7 +65,7 @@ module CPEE
|
|
|
66
65
|
end
|
|
67
66
|
end
|
|
68
67
|
end
|
|
69
|
-
%w{dataelements endpoints attributes}.each do |ele|
|
|
68
|
+
%w{dataelements documents endpoints attributes}.each do |ele|
|
|
70
69
|
on resource ele do
|
|
71
70
|
run CPEE::Properties::GetItems, ele, id, opts if get
|
|
72
71
|
run CPEE::Properties::PatchItems, ele, id, opts if patch ele
|
|
@@ -111,7 +110,7 @@ module CPEE
|
|
|
111
110
|
doc.find('/p:properties/p:status/p:id').first.text = CPEE::Persistence::extract_item(id,opts,'status/id')
|
|
112
111
|
doc.find('/p:properties/p:status/p:message').first.text = CPEE::Persistence::extract_item(id,opts,'status/message')
|
|
113
112
|
doc.find('/p:properties/p:executionhandler').first.text = CPEE::Persistence::extract_item(id,opts,'executionhandler')
|
|
114
|
-
%w{dataelements endpoints attributes}.each do |item|
|
|
113
|
+
%w{dataelements documents endpoints attributes}.each do |item|
|
|
115
114
|
des = doc.find("/p:properties/p:#{item}").first
|
|
116
115
|
CPEE::Persistence::extract_list(id,opts,item).each{ |de| des.add(*de) }
|
|
117
116
|
end
|
|
@@ -165,7 +164,7 @@ module CPEE
|
|
|
165
164
|
end
|
|
166
165
|
end
|
|
167
166
|
|
|
168
|
-
%w{dataelements endpoints
|
|
167
|
+
%w{dataelements documents endpoints documents}.each do |item|
|
|
169
168
|
if (node = doc.find('/p:properties/p:' + item)).any?
|
|
170
169
|
CPEE::Properties::PatchItems::set item, id, opts, node.first.dump
|
|
171
170
|
end
|
|
@@ -200,7 +199,7 @@ module CPEE
|
|
|
200
199
|
CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text, false
|
|
201
200
|
end
|
|
202
201
|
|
|
203
|
-
%w{dataelements endpoints attributes}.each do |item|
|
|
202
|
+
%w{dataelements documents endpoints attributes}.each do |item|
|
|
204
203
|
if (node = doc.find('/*/p:' + item)).any?
|
|
205
204
|
CPEE::Properties::PutItems::set item, id, opts, node.first.dump
|
|
206
205
|
end
|
|
@@ -828,6 +827,7 @@ module CPEE
|
|
|
828
827
|
)
|
|
829
828
|
end
|
|
830
829
|
attrs = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
|
|
830
|
+
dos = CPEE::Persistence::extract_list(id,opts,'documents').to_h
|
|
831
831
|
change_uuid = Digest::SHA1.hexdigest(dslx)
|
|
832
832
|
CPEE::Persistence::set_item(id,opts,'description',
|
|
833
833
|
:description => xml,
|
|
@@ -835,6 +835,7 @@ module CPEE
|
|
|
835
835
|
:change_uuid => change_uuid,
|
|
836
836
|
:dsl => dsl,
|
|
837
837
|
:dataelements => CPEE::Persistence::extract_list(id,opts,'dataelements').to_h,
|
|
838
|
+
:documents => dos,
|
|
838
839
|
:endpoints => CPEE::Persistence::extract_list(id,opts,'endpoints').to_h,
|
|
839
840
|
:attributes => attrs
|
|
840
841
|
)
|
data/lib/cpee/persistence.rb
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
# <http://www.gnu.org/licenses/>.
|
|
14
14
|
|
|
15
15
|
require 'msgpack'
|
|
16
|
-
require_relative 'attributes_helper'
|
|
17
16
|
require_relative 'message'
|
|
18
17
|
|
|
19
18
|
module CPEE
|
|
@@ -32,14 +31,15 @@ module CPEE
|
|
|
32
31
|
end
|
|
33
32
|
|
|
34
33
|
def self::set_list(id,opts,item,values,diff=false,delete=false,deletions=[]) #{{{
|
|
35
|
-
ah = AttributesHelper.new
|
|
36
34
|
attributes = Persistence::extract_list(id,opts,'attributes').to_h
|
|
37
35
|
dataelements = Persistence::extract_list(id,opts,'dataelements').to_h
|
|
36
|
+
documents = Persistence::extract_list(id,opts,'documents').to_h
|
|
38
37
|
endpoints = Persistence::extract_list(id,opts,'endpoints').to_h
|
|
39
38
|
oldvalues = case item
|
|
40
39
|
when 'attributes' then attributes
|
|
41
40
|
when 'endpoints' then endpoints
|
|
42
41
|
when 'dataelements' then dataelements
|
|
42
|
+
when 'documents' then documents
|
|
43
43
|
end
|
|
44
44
|
sort = []
|
|
45
45
|
if diff
|
|
@@ -53,7 +53,7 @@ module CPEE
|
|
|
53
53
|
end
|
|
54
54
|
payload = {
|
|
55
55
|
:values => oldvalues.merge(values).transform_values{|val| JSON::parse(val) rescue val },
|
|
56
|
-
:attributes =>
|
|
56
|
+
:attributes => attributes
|
|
57
57
|
}
|
|
58
58
|
CPEE::Message::send(
|
|
59
59
|
:event,
|
|
@@ -166,6 +166,8 @@ module CPEE
|
|
|
166
166
|
res = []
|
|
167
167
|
res += Persistence::keys_extract_zset(opts,id,'dataelements')
|
|
168
168
|
res += Persistence::keys_extract_name(opts,id,'dataelements')
|
|
169
|
+
res += Persistence::keys_extract_zset(opts,id,'documents')
|
|
170
|
+
res += Persistence::keys_extract_name(opts,id,'documents')
|
|
169
171
|
res += Persistence::keys_extract_zset(opts,id,'attributes')
|
|
170
172
|
res += Persistence::keys_extract_name(opts,id,'attributes')
|
|
171
173
|
res += Persistence::keys_extract_zset(opts,id,'endpoints')
|
|
@@ -217,10 +219,7 @@ module CPEE
|
|
|
217
219
|
return 405
|
|
218
220
|
end
|
|
219
221
|
|
|
220
|
-
ah = AttributesHelper.new
|
|
221
222
|
attributes = Persistence::extract_list(id,opts,'attributes').to_h
|
|
222
|
-
dataelements = Persistence::extract_list(id,opts,'dataelements').to_h
|
|
223
|
-
endpoints = Persistence::extract_list(id,opts,'endpoints').to_h
|
|
224
223
|
|
|
225
224
|
deleted = exis - values
|
|
226
225
|
|
|
@@ -236,7 +235,7 @@ module CPEE
|
|
|
236
235
|
:url => url,
|
|
237
236
|
:changed => values,
|
|
238
237
|
:deleted => deleted,
|
|
239
|
-
:attributes =>
|
|
238
|
+
:attributes => attributes
|
|
240
239
|
},
|
|
241
240
|
opts[:redis]
|
|
242
241
|
)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
|
2
|
+
<include href="simple.rng"/>
|
|
3
|
+
<define name="documents">
|
|
4
|
+
<element name="documents" ns="http://cpee.org/ns/properties/2.0">
|
|
5
|
+
<zeroOrMore>
|
|
6
|
+
<ref name="simple"/>
|
|
7
|
+
</zeroOrMore>
|
|
8
|
+
</element>
|
|
9
|
+
</define>
|
|
10
|
+
</grammar>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<include href="executionhandler.rng"/>
|
|
5
5
|
<include href="positions.rng"/>
|
|
6
6
|
<include href="dataelements.rng"/>
|
|
7
|
+
<include href="documents.rng"/>
|
|
7
8
|
<include href="endpoints.rng"/>
|
|
8
9
|
<include href="attributes.rng"/>
|
|
9
10
|
<include href="dsl.rng"/>
|
|
@@ -18,6 +19,7 @@
|
|
|
18
19
|
<ref name="executionhandler"/>
|
|
19
20
|
<ref name="positions"/>
|
|
20
21
|
<ref name="dataelements"/>
|
|
22
|
+
<ref name="documents"/>
|
|
21
23
|
<ref name="endpoints"/>
|
|
22
24
|
<ref name="attributes"/>
|
|
23
25
|
<ref name="dsl"/>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<include href="executionhandler.rng"/>
|
|
5
5
|
<include href="positions.rng"/>
|
|
6
6
|
<include href="dataelements.rng"/>
|
|
7
|
+
<include href="documents.rng"/>
|
|
7
8
|
<include href="endpoints.rng"/>
|
|
8
9
|
<include href="attributes.rng"/>
|
|
9
10
|
<include href="description.rng"/>
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
<ref name="executionhandler"/>
|
|
17
18
|
<ref name="positions"/>
|
|
18
19
|
<ref name="dataelements"/>
|
|
20
|
+
<ref name="documents"/>
|
|
19
21
|
<ref name="endpoints"/>
|
|
20
22
|
<ref name="attributes"/>
|
|
21
23
|
<ref name="description"/>
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
<include href="executionhandler.rng"/>
|
|
5
5
|
<include href="positions.rng"/>
|
|
6
6
|
<include href="dataelements.rng"/>
|
|
7
|
+
<include href="documents.rng"/>
|
|
7
8
|
<include href="endpoints.rng"/>
|
|
8
9
|
<include href="attributes.rng"/>
|
|
9
10
|
<include href="description.rng"/>
|
|
@@ -27,6 +28,9 @@
|
|
|
27
28
|
<optional>
|
|
28
29
|
<ref name="dataelements"/>
|
|
29
30
|
</optional>
|
|
31
|
+
<optional>
|
|
32
|
+
<ref name="documents"/>
|
|
33
|
+
</optional>
|
|
30
34
|
<optional>
|
|
31
35
|
<ref name="endpoints"/>
|
|
32
36
|
</optional>
|
data/lib/properties.xml
CHANGED
|
@@ -103,6 +103,17 @@
|
|
|
103
103
|
</parameter>
|
|
104
104
|
</message> <!--}}}-->
|
|
105
105
|
|
|
106
|
+
<message name="document"> <!--{{{-->
|
|
107
|
+
<parameter name="document" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
108
|
+
<xi:include href="properties/t_simple.rng"/>
|
|
109
|
+
</parameter>
|
|
110
|
+
</message> <!--}}}-->
|
|
111
|
+
<message name="documents"> <!--{{{-->
|
|
112
|
+
<parameter name="documents" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
113
|
+
<xi:include href="properties/t_documents.rng"/>
|
|
114
|
+
</parameter>
|
|
115
|
+
</message> <!--}}}-->
|
|
116
|
+
|
|
106
117
|
<message name="endpoint"> <!--{{{-->
|
|
107
118
|
<parameter name="endpoint" mimetype="*/xml" handler="http://riddl.org/ns/handlers/relaxng">
|
|
108
119
|
<xi:include href="properties/t_simple.rng"/>
|
|
@@ -199,6 +210,17 @@
|
|
|
199
210
|
<delete/>
|
|
200
211
|
</resource>
|
|
201
212
|
</resource> <!--}}}-->
|
|
213
|
+
<resource relative="documents"> <!--{{{-->
|
|
214
|
+
<get out="documents"/>
|
|
215
|
+
<post in="document" out="id"/>
|
|
216
|
+
<patch in="documents"/>
|
|
217
|
+
<put in="documents"/>
|
|
218
|
+
<resource>
|
|
219
|
+
<get out="string"/>
|
|
220
|
+
<put in="string"/>
|
|
221
|
+
<delete/>
|
|
222
|
+
</resource>
|
|
223
|
+
</resource> <!--}}}-->
|
|
202
224
|
<resource relative="endpoints"> <!--{{{-->
|
|
203
225
|
<get out="endpoints"/>
|
|
204
226
|
<post in="endpoint" out="id"/>
|
|
@@ -40,6 +40,7 @@ module CPEE
|
|
|
40
40
|
endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
|
|
41
41
|
dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
|
|
42
42
|
attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
|
|
43
|
+
documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
|
|
43
44
|
positions = CPEE::Persistence::extract_set(id,opts,'positions')
|
|
44
45
|
positions.map! do |k, v|
|
|
45
46
|
[ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
|
|
@@ -60,6 +61,7 @@ module CPEE
|
|
|
60
61
|
iopts[:global_executionhandlers] = opts[:global_executionhandlers]
|
|
61
62
|
end
|
|
62
63
|
iopts[:attributes] = attributes
|
|
64
|
+
iopts[:documents] = documents
|
|
63
65
|
iopts[:votes] = {}
|
|
64
66
|
CPEE::Persistence::extract_handlers(id,opts).each do |de|
|
|
65
67
|
if de[1] && de[1]&.empty?.!
|
|
@@ -85,6 +85,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
85
85
|
def additional #{{{
|
|
86
86
|
{
|
|
87
87
|
:attributes => @controller.attributes,
|
|
88
|
+
:documents => @controller.documents,
|
|
88
89
|
:cpee => {
|
|
89
90
|
'base' => @controller.base_url,
|
|
90
91
|
'instance' => @controller.instance_id,
|
|
@@ -385,7 +386,7 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
|
|
|
385
386
|
send = []
|
|
386
387
|
send.push Riddl::Parameter::Simple::new('code',__code)
|
|
387
388
|
send.push Riddl::Parameter::Complex::new('dataelements','application/json', JSON::generate(__struct.data))
|
|
388
|
-
send.push Riddl::Parameter::Complex::new('local','application/json', JSON::generate(__struct.local)) if __struct.local
|
|
389
|
+
send.push Riddl::Parameter::Complex::new('local','application/json', JSON::generate(__struct.local)) if __struct.local.any?
|
|
389
390
|
send.push Riddl::Parameter::Complex::new('endpoints','application/json', JSON::generate(__struct.endpoints))
|
|
390
391
|
send.push Riddl::Parameter::Complex::new('additional','application/json', JSON::generate(__struct.additional))
|
|
391
392
|
|
|
@@ -18,7 +18,6 @@ require 'redis'
|
|
|
18
18
|
require 'securerandom'
|
|
19
19
|
require 'riddl/client'
|
|
20
20
|
require 'cpee/value_helper'
|
|
21
|
-
require 'cpee/attributes_helper'
|
|
22
21
|
require 'cpee/message'
|
|
23
22
|
require 'cpee/redis'
|
|
24
23
|
require 'get_process_mem'
|
|
@@ -42,7 +41,7 @@ class Controller
|
|
|
42
41
|
@id = id
|
|
43
42
|
|
|
44
43
|
@attributes = opts[:attributes]
|
|
45
|
-
@
|
|
44
|
+
@documents = opts[:documents]
|
|
46
45
|
|
|
47
46
|
@thread = nil
|
|
48
47
|
@opts = opts
|
|
@@ -94,12 +93,9 @@ class Controller
|
|
|
94
93
|
|
|
95
94
|
attr_reader :id
|
|
96
95
|
attr_reader :attributes
|
|
96
|
+
attr_reader :documents
|
|
97
97
|
attr_reader :loop_guard
|
|
98
98
|
|
|
99
|
-
def attributes_translated
|
|
100
|
-
@attributes_translated || @attributes_translated = @attributes_helper.translate(attributes,dataelements,endpoints)
|
|
101
|
-
end
|
|
102
|
-
|
|
103
99
|
def uuid
|
|
104
100
|
@attributes['uuid']
|
|
105
101
|
end
|
|
@@ -170,7 +166,7 @@ class Controller
|
|
|
170
166
|
end
|
|
171
167
|
|
|
172
168
|
def notify(what,content={})
|
|
173
|
-
content[:attributes] =
|
|
169
|
+
content[:attributes] = attributes
|
|
174
170
|
CPEE::Message::send(:event,what,base,@id,uuid,info,content,@redis)
|
|
175
171
|
end
|
|
176
172
|
|
|
@@ -182,7 +178,7 @@ class Controller
|
|
|
182
178
|
@opts[:votes][handler]&.each do |client|
|
|
183
179
|
voteid = SecureRandom.hex(16)
|
|
184
180
|
content[:key] = voteid
|
|
185
|
-
content[:attributes] =
|
|
181
|
+
content[:attributes] = attributes
|
|
186
182
|
content[:subscription] = client
|
|
187
183
|
votes << voteid
|
|
188
184
|
CPEE::Message::send(:vote,what,base,@id,uuid,info,content,@redis)
|
|
@@ -40,6 +40,7 @@ module CPEE
|
|
|
40
40
|
endpoints = CPEE::Persistence::extract_list(id,opts,'endpoints')
|
|
41
41
|
dataelements = CPEE::Persistence::extract_list(id,opts,'dataelements')
|
|
42
42
|
attributes = CPEE::Persistence::extract_list(id,opts,'attributes').to_h
|
|
43
|
+
documents = CPEE::Persistence::extract_list(id,opts,'documents').to_h
|
|
43
44
|
positions = CPEE::Persistence::extract_set(id,opts,'positions')
|
|
44
45
|
positions.map! do |k, v|
|
|
45
46
|
[ k, v, CPEE::Persistence::extract_item(id,opts,File.join('positions',k,'@passthrough')) ]
|
|
@@ -60,6 +61,7 @@ module CPEE
|
|
|
60
61
|
iopts[:global_executionhandlers] = opts[:global_executionhandlers]
|
|
61
62
|
end
|
|
62
63
|
iopts[:attributes] = attributes
|
|
64
|
+
iopts[:documents] = documents
|
|
63
65
|
iopts[:votes] = {}
|
|
64
66
|
CPEE::Persistence::extract_handlers(id,opts).each do |de|
|
|
65
67
|
if de[1] && de[1]&.empty?.!
|
data/server/routing/end.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227262
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227280
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227274
|
data/server/routing/persist.pid
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1227268
|
data/server/routing/persist.rb
CHANGED
|
@@ -39,6 +39,7 @@ Daemonite.new do |opts|
|
|
|
39
39
|
'event:' + ('%02i' % w) + ':executionhandler/change',
|
|
40
40
|
'event:' + ('%02i' % w) + ':description/change',
|
|
41
41
|
'event:' + ('%02i' % w) + ':dataelements/change',
|
|
42
|
+
'event:' + ('%02i' % w) + ':documents/change',
|
|
42
43
|
'event:' + ('%02i' % w) + ':endpoints/change',
|
|
43
44
|
'event:' + ('%02i' % w) + ':attributes/change',
|
|
44
45
|
'event:' + ('%02i' % w) + ':transformation/change',
|
|
@@ -86,7 +87,7 @@ Daemonite.new do |opts|
|
|
|
86
87
|
multi.set("instance:#{instance}/dslx",mess.dig('content','dslx'))
|
|
87
88
|
multi.set("instance:#{instance}/dsl",mess.dig('content','dsl'))
|
|
88
89
|
end
|
|
89
|
-
when /event:\d+:dataelements\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
|
|
90
|
+
when /event:\d+:dataelements\/change/, /event:\d+:documents\/change/, /event:\d+:endpoints\/change/, /event:\d+:attributes\/change/
|
|
90
91
|
topic = mess.dig('topic')
|
|
91
92
|
max = opts[:redis].zrange("instance:#{instance}/#{topic}", -1, -1, :withscores => true)&.dig(0,1).to_i
|
|
92
93
|
if (eles = mess.dig('content','sort'))&.any?
|
data/tools/cpee
CHANGED
|
@@ -91,7 +91,7 @@ def js_libs(cockpit)
|
|
|
91
91
|
end
|
|
92
92
|
true
|
|
93
93
|
else
|
|
94
|
-
puts 'Internet access required to download javascript libs from "
|
|
94
|
+
puts 'Internet access required to download javascript libs from "https://cpee.org/js_libs/js_libs.zip".'
|
|
95
95
|
false
|
|
96
96
|
end
|
|
97
97
|
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.1.
|
|
4
|
+
version: 2.1.133
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juergen eTM Mangler
|
|
@@ -34,7 +34,7 @@ dependencies:
|
|
|
34
34
|
version: '1.99'
|
|
35
35
|
- - ">="
|
|
36
36
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: 1.99.
|
|
37
|
+
version: 1.99.158
|
|
38
38
|
type: :runtime
|
|
39
39
|
prerelease: false
|
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -44,7 +44,7 @@ dependencies:
|
|
|
44
44
|
version: '1.99'
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.99.
|
|
47
|
+
version: 1.99.158
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: highline
|
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -242,6 +242,7 @@ files:
|
|
|
242
242
|
- cockpit/CPEE.xml
|
|
243
243
|
- cockpit/README
|
|
244
244
|
- cockpit/Signavio.xml
|
|
245
|
+
- cockpit/compliance-view.html
|
|
245
246
|
- cockpit/compliance.html
|
|
246
247
|
- cockpit/config.json
|
|
247
248
|
- cockpit/config.json.example
|
|
@@ -258,6 +259,7 @@ files:
|
|
|
258
259
|
- cockpit/css/llm.css
|
|
259
260
|
- cockpit/css/llm_active.svg
|
|
260
261
|
- cockpit/css/llm_inactive.svg
|
|
262
|
+
- cockpit/css/llmmodel.css
|
|
261
263
|
- cockpit/css/mode_active.svg
|
|
262
264
|
- cockpit/css/mode_inactive.svg
|
|
263
265
|
- cockpit/css/model.css
|
|
@@ -285,6 +287,7 @@ files:
|
|
|
285
287
|
- cockpit/only_llm.html
|
|
286
288
|
- cockpit/rngs/attributes.rng
|
|
287
289
|
- cockpit/rngs/dataelements.rng
|
|
290
|
+
- cockpit/rngs/documents.rng
|
|
288
291
|
- cockpit/rngs/endpoints.rng
|
|
289
292
|
- cockpit/rngs/requirements.rng
|
|
290
293
|
- cockpit/templates.legacy/Async.xml
|
|
@@ -1105,7 +1108,6 @@ files:
|
|
|
1105
1108
|
- lib/callbacks.xml
|
|
1106
1109
|
- lib/callbacks/callbacks.rng
|
|
1107
1110
|
- lib/cpee.xml
|
|
1108
|
-
- lib/cpee/attributes_helper.rb
|
|
1109
1111
|
- lib/cpee/constants.rb
|
|
1110
1112
|
- lib/cpee/fail.rb
|
|
1111
1113
|
- lib/cpee/implementation.rb
|
|
@@ -1126,6 +1128,7 @@ files:
|
|
|
1126
1128
|
- lib/properties/attributes.rng
|
|
1127
1129
|
- lib/properties/dataelements.rng
|
|
1128
1130
|
- lib/properties/description.rng
|
|
1131
|
+
- lib/properties/documents.rng
|
|
1129
1132
|
- lib/properties/dsl.rng
|
|
1130
1133
|
- lib/properties/dslx.rng
|
|
1131
1134
|
- lib/properties/endpoints.rng
|
|
@@ -1142,6 +1145,7 @@ files:
|
|
|
1142
1145
|
- lib/properties/subscriptions.rng
|
|
1143
1146
|
- lib/properties/t_attributes.rng
|
|
1144
1147
|
- lib/properties/t_dataelements.rng
|
|
1148
|
+
- lib/properties/t_documents.rng
|
|
1145
1149
|
- lib/properties/t_endpoints.rng
|
|
1146
1150
|
- lib/properties/t_position.rng
|
|
1147
1151
|
- lib/properties/t_positions.rng
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# This file is part of CPEE.
|
|
2
|
-
#
|
|
3
|
-
# CPEE is free software: you can redistribute it and/or modify it under the terms
|
|
4
|
-
# of the GNU General Public License as published by the Free Software Foundation,
|
|
5
|
-
# either version 3 of the License, or (at your option) any later version.
|
|
6
|
-
#
|
|
7
|
-
# CPEE is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
8
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
9
|
-
# PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
10
|
-
#
|
|
11
|
-
# You should have received a copy of the GNU General Public License along with
|
|
12
|
-
# CPEE (file COPYING in the main directory). If not, see
|
|
13
|
-
# <http://www.gnu.org/licenses/>.
|
|
14
|
-
|
|
15
|
-
require 'weel'
|
|
16
|
-
|
|
17
|
-
class AttributesHelper
|
|
18
|
-
def translate(__attributes__,__dataelements__,__endpoints__)
|
|
19
|
-
@data = WEEL::ReadHash.new(__dataelements__)
|
|
20
|
-
@endpoints = WEEL::ReadHash.new(__endpoints__)
|
|
21
|
-
@attributes = WEEL::ReadHash.new(__attributes__)
|
|
22
|
-
__attributes__.transform_values do |v|
|
|
23
|
-
v.gsub(/(!(attributes|data|endpoints)\.[\w_]+)/) do |m|
|
|
24
|
-
eval(m[1..-1])
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def data
|
|
30
|
-
@data
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def endpoints
|
|
34
|
-
@endpoints
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def attributes
|
|
38
|
-
@attributes
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|