cpee 2.1.121 → 2.1.122

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80d909f1d5117cf3439add6bcfb46571778c8c6c482bc7cd308eb3c2a9c4431f
4
- data.tar.gz: fc2d8deeb972a5a57b16b8ebdc2db982b284871386fedbd402dceb9429f8fc10
3
+ metadata.gz: 5d819e511b5c747cc2fc238f83e6c94aa9fc263e15906b4d62af4bbb7323f52e
4
+ data.tar.gz: bab3b37ada5e2739d779bda8b19ddf24a307ca95f154b32c0c91e7c3f292ca82
5
5
  SHA512:
6
- metadata.gz: a929aa173158993c2f96eacea72c1c5fd74302d820493e581f39a00f017303149357a3eedb19a1346d96b3050b29ddc3bacf7b2b873bac4c5fc3f1208dc5b99d
7
- data.tar.gz: cde8af038d7911aa40825f71cca4cdd22e8e04767c9840992453bc4cc0d6e297f8d9de94f6e7a6921d66cf3826b3435791384cade92639f62532bf6973e91f0e
6
+ metadata.gz: c674196d5cef21fa056cdfb64a2ef64ca9381cb68f424de9cddcf6a1d493fcc1e9c7eb618708d2994fd84d76aa6bb20ebb7264bed643b5c7fcdac9bca7486958
7
+ data.tar.gz: 3cfd5b3ca1df014bd09a2f826f4c80cc112a496fe5750762610c6935874c71a24edae18be0219633eb3348bb0f927717a637b3733e48a73d0eff773691bac00d
@@ -1172,25 +1172,6 @@ async function set_testset(testset,exec) {// {{{
1172
1172
  await Promise.all(promises);
1173
1173
 
1174
1174
  document.dispatchEvent(model_loaded);
1175
-
1176
- $.ajax({
1177
- type: "GET",
1178
- url: url + "/properties/state/",
1179
- dataType: "text",
1180
- success: function(res){
1181
- $.ajax({
1182
- type: "PUT",
1183
- url: url + "/properties/state/",
1184
- data: ({value: res}),
1185
- error: report_failure,
1186
- success: function(res){
1187
- if (exec) start_instance();
1188
- }
1189
- });
1190
- }
1191
- });
1192
-
1193
-
1194
1175
  }// }}}
1195
1176
 
1196
1177
  function load_testsetfile_after() { //{{{
@@ -143,10 +143,11 @@ function modifiers_select() {
143
143
  let top = $(r).attr('data-resource');
144
144
  let it = $(s).attr('value');
145
145
  $('select',r).val(it);
146
- modifiers_display_ui(rep + 'modifiers/',top,it,save['modifiers_active'][top] == it);
147
- if (save['modifiers_active'][top] != it) {
148
- modifiers_update({"target": $('select',r)});
146
+ if (typeof(save['modifiers_active'][top]) == "undefined") {
147
+ // set for page load
148
+ save['modifiers_active'][top] = it;
149
149
  }
150
+ modifiers_display_ui(rep + 'modifiers/',top,it,save['modifiers_active'][top] == it);
150
151
  save['modifiers_active'][top] = it;
151
152
  }
152
153
  });
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.121"
3
+ s.version = "2.1.122"
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."
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
32
32
  s.add_runtime_dependency 'mimemagic', '~>0'
33
33
  s.add_runtime_dependency 'get_process_mem', '~>0.2'
34
34
  s.add_runtime_dependency 'webrick', '~>1.7'
35
+ s.add_runtime_dependency 'msgpack', '~>1.8'
35
36
  s.add_runtime_dependency 'by', '~> 1.1', '>= 1.1.0'
36
37
  s.add_runtime_dependency 'concurrent-ruby', '~> 1.3', '>= 1.3.5'
37
38
  end
@@ -158,7 +158,11 @@ module CPEE
158
158
  CPEE::Properties::PutStatus::set id, opts, node.first.dump
159
159
  end
160
160
  if (node = doc.find('/p:properties/p:executionhandler')).any?
161
- CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text
161
+ if doc.find('/p:properties/p:description/*').any?
162
+ CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text, false
163
+ else
164
+ CPEE::Properties::PutExecutionHandler::set id, opts, node.first.text
165
+ end
162
166
  end
163
167
 
164
168
  %w{dataelements endpoints attributes}.each do |item|
@@ -424,10 +428,7 @@ module CPEE
424
428
  doc.find("/*/*").each do |ele|
425
429
  val[ele.qname.name] = ele.text unless val.has_key?(ele.qname.name)
426
430
  end
427
- oldkeys = CPEE::Persistence::extract_list(id,opts,item).to_h.keys
428
- newkeys = val.keys
429
- del = oldkeys - newkeys
430
- CPEE::Persistence::set_list(id,opts,item,val,del)
431
+ CPEE::Persistence::set_list(id,opts,item,val,true,true)
431
432
  end
432
433
 
433
434
  def response
@@ -514,7 +515,7 @@ module CPEE
514
515
  @status = 410
515
516
  else
516
517
  if CPEE::Persistence::extract_item(id,opts,@r.join('/'))
517
- CPEE::Persistence::set_list(id,opts,item,val,val.keys)
518
+ CPEE::Persistence::set_list(id,opts,item,val,false,true,val.keys)
518
519
  else
519
520
  @status = 404
520
521
  end
@@ -12,6 +12,7 @@
12
12
  # CPEE (file COPYING in the main directory). If not, see
13
13
  # <http://www.gnu.org/licenses/>.
14
14
 
15
+ require 'msgpack'
15
16
  require_relative 'attributes_helper'
16
17
  require_relative 'message'
17
18
 
@@ -30,11 +31,41 @@ module CPEE
30
31
  CPEE::Message::wait(opts[:redis],opts[:redis_dyn].call('Temporary Storage Transaction Subscriber'))
31
32
  end
32
33
 
33
- def self::set_list(id,opts,item,values,deleted=[]) #{{{
34
+ def self::set_list(id,opts,item,values,diff=false,delete=false,deletions=[]) #{{{
34
35
  ah = AttributesHelper.new
35
36
  attributes = Persistence::extract_list(id,opts,'attributes').to_h
36
37
  dataelements = Persistence::extract_list(id,opts,'dataelements').to_h
37
38
  endpoints = Persistence::extract_list(id,opts,'endpoints').to_h
39
+ oldvalues = case item
40
+ when 'attributes' then attributes
41
+ when 'endpoints' then endpoints
42
+ when 'dataelements' then dataelements
43
+ end
44
+ if diff
45
+ deletions = oldvalues.keys - values.keys
46
+ values.delete_if do |k,v|
47
+ oldvalues[k] && oldvalues[k] == v
48
+ end
49
+ end
50
+ payload = {
51
+ :values => oldvalues.merge(values).transform_values{|val| JSON::parse(val) rescue val },
52
+ :attributes => ah.translate(attributes,dataelements,endpoints),
53
+ }
54
+ CPEE::Message::send(
55
+ :event,
56
+ File.join(item,'modify'),
57
+ opts[:url],
58
+ id,
59
+ Persistence::extract_item(id,opts,'attributes/uuid'),
60
+ Persistence::extract_item(id,opts,'attributes/info'),
61
+ payload,
62
+ opts[:redis]
63
+ )
64
+ payload[:values] = values.transform_values{|val| JSON::parse(val) rescue val }
65
+ payload[:changed] = values.keys
66
+ if delete
67
+ payload[:deleted] = deletions
68
+ end
38
69
  CPEE::Message::send(
39
70
  :event,
40
71
  File.join(item,'change'),
@@ -42,12 +73,7 @@ module CPEE
42
73
  id,
43
74
  Persistence::extract_item(id,opts,'attributes/uuid'),
44
75
  Persistence::extract_item(id,opts,'attributes/info'),
45
- {
46
- :changed => values.keys,
47
- :deleted => deleted,
48
- :values => values.transform_values{|val| JSON::parse(val) rescue val },
49
- :attributes => ah.translate(attributes,dataelements,endpoints),
50
- },
76
+ payload,
51
77
  opts[:redis]
52
78
  )
53
79
  end #}}}
@@ -29,9 +29,12 @@ class ConnectionWrapper < WEEL::ConnectionWrapperBase
29
29
  tso + 2 > tsn && count > 100
30
30
  end # }}}
31
31
 
32
- def self::inform_state_change(arguments,newstate) # {{{
32
+ def self::inform_state_change(arguments,newstate,data) # {{{
33
33
  controller = arguments[0]
34
- controller.notify("state/change", :state => newstate)
34
+ controller.notify('state/change', :state => newstate)
35
+ if newstate == :stopped || newstate == :finished
36
+ controller.notify('dataelements/modify', :eid => 'ex-post', :values => data)
37
+ end
35
38
  end # }}}
36
39
  def self::inform_syntax_error(arguments,err,code)# {{{
37
40
  # TODO extract spot (code) where error happened for better error handling (ruby 3.1 only)
@@ -50,6 +50,7 @@
50
50
  </topic>
51
51
  <topic id='dataelements'>
52
52
  <event>change</event>
53
+ <event>modify</event>
53
54
  </topic>
54
55
  <topic id='endpoints'>
55
56
  <event>change</event>
@@ -1 +1 @@
1
- 26491
1
+ 741834
@@ -1 +1 @@
1
- 26511
1
+ 741857
@@ -1 +1 @@
1
- 26505
1
+ 741846
@@ -1 +1 @@
1
- 26499
1
+ 741840
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.121
4
+ version: 2.1.122
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -171,6 +171,20 @@ dependencies:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
173
  version: '1.7'
174
+ - !ruby/object:Gem::Dependency
175
+ name: msgpack
176
+ requirement: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.8'
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '1.8'
174
188
  - !ruby/object:Gem::Dependency
175
189
  name: by
176
190
  requirement: !ruby/object:Gem::Requirement