cpee 2.1.70 → 2.1.73

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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/cockpit/css/wfadaptor.css +1 -1
  3. data/cockpit/js/instance.js +53 -23
  4. data/cockpit/js/modifiers.js +3 -0
  5. data/cockpit/templates/ML-pipe-multi.xml +635 -0
  6. data/cockpit/templates/Track Test Local.xml +19 -13
  7. data/cockpit/themes/base.js +14 -5
  8. data/cockpit/themes/reduced/rngs/alternative.rng +25 -0
  9. data/cockpit/themes/reduced/rngs/call.rng +228 -0
  10. data/cockpit/themes/reduced/rngs/callmanipulate.rng +257 -0
  11. data/cockpit/themes/reduced/rngs/choose.rng +14 -0
  12. data/cockpit/themes/reduced/rngs/closed_loop.rng +62 -0
  13. data/cockpit/themes/reduced/rngs/closed_loop_cancel.rng +5 -0
  14. data/cockpit/themes/reduced/rngs/closed_loop_control.rng +31 -0
  15. data/cockpit/themes/reduced/rngs/closed_loop_measuring.rng +12 -0
  16. data/cockpit/themes/reduced/rngs/critical.rng +5 -0
  17. data/cockpit/themes/reduced/rngs/escape.rng +1 -0
  18. data/cockpit/themes/reduced/rngs/group.rng +3 -0
  19. data/cockpit/themes/reduced/rngs/loop.rng +22 -0
  20. data/cockpit/themes/reduced/rngs/manipulate.rng +9 -0
  21. data/cockpit/themes/reduced/rngs/otherwise.rng +22 -0
  22. data/cockpit/themes/reduced/rngs/parallel.rng +27 -0
  23. data/cockpit/themes/reduced/rngs/parallel_branch.rng +2 -0
  24. data/cockpit/themes/reduced/rngs/scripts.rng +23 -0
  25. data/cockpit/themes/reduced/rngs/start.rng +131 -0
  26. data/cockpit/themes/reduced/rngs/stop.rng +5 -0
  27. data/cockpit/themes/reduced/rngs/terminate.rng +1 -0
  28. data/cockpit/themes/reduced/symbols/alternative.svg +5 -0
  29. data/cockpit/themes/reduced/symbols/arrow.svg +3 -0
  30. data/cockpit/themes/reduced/symbols/call.svg +6 -0
  31. data/cockpit/themes/reduced/symbols/call_sensor.svg +9 -0
  32. data/cockpit/themes/reduced/symbols/callmanipulate.svg +8 -0
  33. data/cockpit/themes/reduced/symbols/callmanipulate_sensor.svg +11 -0
  34. data/cockpit/themes/reduced/symbols/choose.svg +5 -0
  35. data/cockpit/themes/reduced/symbols/choose_exclusive.svg +5 -0
  36. data/cockpit/themes/reduced/symbols/choose_inclusive.svg +4 -0
  37. data/cockpit/themes/reduced/symbols/closed_loop.svg +5 -0
  38. data/cockpit/themes/reduced/symbols/closed_loop_cancel.svg +5 -0
  39. data/cockpit/themes/reduced/symbols/closed_loop_control.svg +5 -0
  40. data/cockpit/themes/reduced/symbols/closed_loop_measuring.svg +6 -0
  41. data/cockpit/themes/reduced/symbols/complex.svg +8 -0
  42. data/cockpit/themes/reduced/symbols/critical.svg +4 -0
  43. data/cockpit/themes/reduced/symbols/delete.svg +4 -0
  44. data/cockpit/themes/reduced/symbols/end.svg +3 -0
  45. data/cockpit/themes/reduced/symbols/escape.svg +5 -0
  46. data/cockpit/themes/reduced/symbols/event_end.svg +3 -0
  47. data/cockpit/themes/reduced/symbols/loop.svg +5 -0
  48. data/cockpit/themes/reduced/symbols/manipulate.svg +4 -0
  49. data/cockpit/themes/reduced/symbols/otherwise.svg +5 -0
  50. data/cockpit/themes/reduced/symbols/parallel.svg +5 -0
  51. data/cockpit/themes/reduced/symbols/parallel_branch.svg +5 -0
  52. data/cockpit/themes/reduced/symbols/parallel_branch_compact.svg +4 -0
  53. data/cockpit/themes/reduced/symbols/parallel_branch_event.svg +14 -0
  54. data/cockpit/themes/reduced/symbols/parallel_branch_normal.svg +5 -0
  55. data/cockpit/themes/reduced/symbols/parallel_eventbased_exclusive.svg +9 -0
  56. data/cockpit/themes/reduced/symbols/parallel_eventbased_parallel.svg +8 -0
  57. data/cockpit/themes/reduced/symbols/scripts.svg +4 -0
  58. data/cockpit/themes/reduced/symbols/start.svg +3 -0
  59. data/cockpit/themes/reduced/symbols/start_event.svg +5 -0
  60. data/cockpit/themes/reduced/symbols/stop.svg +5 -0
  61. data/cockpit/themes/reduced/symbols/terminate.svg +4 -0
  62. data/cockpit/themes/reduced/theme.js +11 -0
  63. data/cpee.gemspec +2 -2
  64. data/lib/cpee/implementation_callbacks.rb +15 -1
  65. data/lib/cpee/implementation_properties.rb +14 -1
  66. data/lib/cpee/message.rb +1 -1
  67. data/server/executionhandlers/{rust → eval}/backend/opts.yaml +1 -1
  68. data/server/executionhandlers/{rubyext → eval}/connection.rb +37 -106
  69. data/server/executionhandlers/{rubyext → eval}/controller.rb +11 -7
  70. data/server/executionhandlers/{rust → eval}/execution.rb +16 -18
  71. data/server/executionhandlers/ruby/backend/opts.yaml +2 -0
  72. data/server/executionhandlers/ruby/connection.rb +154 -57
  73. data/server/executionhandlers/ruby/controller.rb +17 -1
  74. data/server/executionhandlers/ruby/dsl_to_dslx.xsl +29 -29
  75. data/server/executionhandlers/ruby/execution.rb +14 -13
  76. data/server/routing/end.pid +1 -1
  77. data/server/routing/forward-events-00.pid +1 -1
  78. data/server/routing/forward-votes.pid +1 -1
  79. data/server/routing/persist.pid +1 -1
  80. metadata +67 -16
  81. data/cockpit/templates/Coopis 2010 Ext.xml +0 -193
  82. data/server/executionhandlers/rubyext/backend/opts.yaml +0 -8
  83. data/server/executionhandlers/rubyext/execution.rb +0 -84
  84. data/server/executionhandlers/rust/backend/README.md +0 -17
  85. data/server/executionhandlers/rust/backend/compile.sh +0 -5
  86. /data/server/executionhandlers/{rubyext → eval}/backend/README.md +0 -0
  87. /data/server/executionhandlers/{rubyext → eval}/backend/instance.template +0 -0
  88. /data/server/executionhandlers/{rubyext → eval}/backend/run +0 -0
  89. /data/server/executionhandlers/{rubyext → eval}/dsl_to_dslx.xsl +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41f311fdc70aec9386640a09a7331abdd3279d08e532de6a74f019a89d413cd8
4
- data.tar.gz: 479b16db900e1270c2124d5b413d3623813bc4b37d8727a8bbce397ea1207953
3
+ metadata.gz: c21127d24cf9f2a171afb51a060e0ebe7670733f57b60ecc726a4680092c6968
4
+ data.tar.gz: 5c412f66e52ca5e982cb7e1c36c4ee7f3c92287d0d025445d5aa6f0f0a07c0d6
5
5
  SHA512:
6
- metadata.gz: 0c6f6a22e4e5d76474b160f780b99a4f4e6355259174cf31f99704512e88863dcc0ee9f17a3c037a0fc44a98730ae8f1f2eff8a749de774eb87f409ecb286b11
7
- data.tar.gz: 7b70f1adc92d339b829ef8285fafb7836946d73c6b51e6cf16f0a278ba84cae0a6191897dcdbf3caf61bcd2960643da2a7cbb1b36260ef19a29639659ea3f25b
6
+ metadata.gz: 77f4006dd5a11a5d7c84723544b9e10b0080c9e71af653914b0f2442d8996300c7612ba7f4f7289117fef5ee48241ed1b15a7d9d784d4c123805afe86934c1fd
7
+ data.tar.gz: 6ebd11566d148d05ccfdf3c02a0e404f6b76dbdda37d1ffc38b48feefb4b6ab8a7321a8e9c0750a08a371e865fa9290ba1c1a7db99875bc2c5a039adbb610f04
@@ -18,7 +18,7 @@
18
18
  --wfadaptor-exec-passive: #729fcf;
19
19
  --wfadaptor-exec-active: #ef2929;
20
20
  --wfadaptor-exec-active-text: #cc0000;
21
- --wfadaptor-exec-vote: #8ae234;
21
+ --wfadaptor-exec-vote: #8de5bcff;
22
22
  --wfadaptor-exec-vote-text: #73d216;
23
23
  --wfadaptor-highlight: #0081c7;
24
24
  --wfadaptor-base: #000000;
@@ -7,6 +7,11 @@ var loading = false;
7
7
  var subscription;
8
8
  var subscription_state = 'less';
9
9
  var graph_changed = new Event("graph:changed", {"bubbles":true, "cancelable":false});
10
+ var graph_theme = null;
11
+ var graph_position = null;
12
+ var graph_highlight = null;
13
+ var graph_highlight_tasks = []
14
+ var graph_highlight_color = null;
10
15
  var model_loaded = new Event("model:loaded", {"bubbles":true, "cancelable":false});
11
16
  var save = {};
12
17
  save['endpoints'] = undefined;
@@ -23,7 +28,6 @@ function global_init() {
23
28
  save['state']= undefined;
24
29
  save['dsl'] = undefined;
25
30
  save['activity_red_states'] = {}
26
- save['activity_blue_states'] = {}
27
31
  save['graph'] = undefined;
28
32
  save['graph_theme'] = undefined;
29
33
  save['graph_adaptor'] = undefined;
@@ -125,6 +129,17 @@ function cockpit() { //{{{
125
129
  uidash_toggle_vis_tab($('#instance'));
126
130
  uidash_toggle_vis_tab($('#parameters'));
127
131
  }
132
+ if (q.theme) { graph_theme = q.theme; }
133
+ if (q.position) { graph_position = q.position == 'false' ? 'false' : 'true'; }
134
+ if (q.highlight) {
135
+ graph_highlight = q.highlight.match(/((a\d+,)+)([a-z0-9]{6,8})$/);
136
+ if (graph_highlight.length > 0) {
137
+ graph_highlight_color = graph_highlight[3];
138
+ graph_highlight_tasks = graph_highlight[1].split(',');
139
+ graph_highlight_tasks.pop();
140
+ graph_highlight = graph_highlight[0];
141
+ }
142
+ }
128
143
  if (q.monitor && q.load) {
129
144
  if (q.load.match(/https?:\/\//)) {
130
145
  $('body').attr('load-testset',q.load);
@@ -291,7 +306,7 @@ async function sse() { //{{{
291
306
  } else {
292
307
  monitor_instance_values("attributes");
293
308
  }
294
- if (save['graph_theme'] != data.content.values.theme) {
309
+ if (typeof data.content.values.theme !== "undefined" && save['graph_theme'] != data.content.values.theme) {
295
310
  monitor_graph_change(true);
296
311
  }
297
312
  break;
@@ -344,6 +359,8 @@ function monitor_instance(cin,rep,load,exec) {// {{{
344
359
  $('#parameters ui-content ui-area > button').attr('disabled','disabled');
345
360
  $('#dat_details').empty();
346
361
 
362
+ $('#modifiers > div').remove();
363
+
347
364
  url = $("body").attr('current-instance');
348
365
 
349
366
  $.ajax({
@@ -371,7 +388,7 @@ function monitor_instance(cin,rep,load,exec) {// {{{
371
388
  $("#current-track").show();
372
389
  $("#current-track").attr('href','track.html?monitor=' + url);
373
390
  var q = $.parseQuerySimple();
374
- history.replaceState({}, '', '?' + (q.min || q.min=="" ? "min&" : "") + 'monitor='+url);
391
+ history.replaceState({}, '', '?' + (graph_position ? "position=" + graph_position + "&" : "") + (graph_highlight ? "highlight=" + graph_highlight + "&" : "") + (graph_theme ? "theme=" + graph_theme + "&" : "") + (q.min || q.min=="" ? "min&" : "") + 'monitor='+url);
375
392
 
376
393
  // Change url to return to current instance when reloading (because new subscription is made)
377
394
  $("input[name=votecontinue]").prop( "checked", false );
@@ -552,6 +569,7 @@ function adaptor_update() { //{{{
552
569
  function adaptor_init(url,theme,dslx) { //{{{
553
570
  // while inside and svgs are reloaded, do nothing here
554
571
  if (suspended_redrawing) { return; }
572
+ if (graph_theme) { theme = graph_theme; }
555
573
  if (save['graph_theme'] != theme) {
556
574
  // while inside and svgs are reloaded, do nothing here
557
575
  suspended_redrawing = true;
@@ -559,6 +577,18 @@ function adaptor_init(url,theme,dslx) { //{{{
559
577
  save['graph_adaptor'] = new WfAdaptor($('body').data('theme-base') + '/' + theme + '/theme.js',function(graphrealization){
560
578
  manifestation.endpoints = save.endpoints_list;
561
579
  graphrealization.draw_labels = function(max,labels,dimensions,striped) {
580
+ // highlight
581
+
582
+ if (graph_highlight) {
583
+ graph_highlight_tasks.forEach((ele) => {
584
+ let er = $('g[element-id=' + ele + ']').attr('element-row');
585
+ styletext = 'svg rect[element-row="'+ er + '"], div.graphlast[element-row="'+ er + '"] { fill: #' + graph_highlight_color + ' !important; background-color: #' + graph_highlight_color + ' !important; } ';
586
+ $('head').append('<style type="text/css">' + styletext + '</style>');
587
+ scroll_into_view(ele);
588
+ })
589
+ }
590
+
591
+ // labels
562
592
  $('#graphcanvas').css('grid-row', '1/span ' + (max.row + 2));
563
593
  if (striped == true) {
564
594
  if (!$('#graphgrid').hasClass('striped')) {
@@ -782,6 +812,7 @@ function adaptor_init(url,theme,dslx) { //{{{
782
812
  }
783
813
  };
784
814
  adaptor_update();
815
+
785
816
  monitor_instance_pos();
786
817
  $('#dat_details').empty();
787
818
 
@@ -857,6 +888,12 @@ function monitor_instance_state() {// {{{
857
888
  }// }}}
858
889
 
859
890
  function monitor_instance_pos() {// {{{
891
+ if (graph_position && graph_position == 'false') {
892
+ save['instance_pos'] = [];
893
+ format_visual_clear();
894
+ format_instance_pos();
895
+ return;
896
+ };
860
897
  var url = $('body').attr('current-instance');
861
898
  $.ajax({
862
899
  type: "GET",
@@ -885,33 +922,24 @@ function monitor_instance_running(content,event) {// {{{
885
922
  format_visual_remove(content.activity,"active");
886
923
  }
887
924
  save['activity_red_states'][content['activity-uuid']] = true
888
- setTimeout(() => {delete save['activity_red_states'][content['activity-uuid']]},5000);
925
+ setTimeout(() => {delete save['activity_red_states'][content['activity-uuid']]},1);
889
926
  }
890
927
  } // }}}
891
928
  function monitor_instance_pos_change(content) {// {{{
929
+ if (graph_position && graph_position == 'false') { return; }
892
930
  if (content['at']) {
893
931
  $.each(content['at'],function(a,b){
894
- if (!save['activity_blue_states'][b.uuid]) {
895
- save['activity_blue_states'][b.uuid] = true
896
- format_visual_add(b.position,"passive");
897
- }
932
+ format_visual_add(b.position,"passive",false);
898
933
  });
899
934
  }
900
935
  if (content['after']) {
901
936
  $.each(content['after'],function(a,b){
902
- if (!save['activity_blue_states'][b.uuid]) {
903
- save['activity_blue_states'][b.uuid] = true
904
- format_visual_add(b.position,"passive");
905
- }
937
+ format_visual_add(b.position,"passive",false);
906
938
  });
907
939
  }
908
940
  if (content['unmark']) {
909
941
  $.each(content['unmark'],function(a,b){
910
- if (save['activity_blue_states'][b.uuid]) {
911
- format_visual_remove(b.position,"passive")
912
- }
913
- save['activity_blue_states'][b.uuid] = true
914
- setTimeout(() => {delete save['activity_blue_states'][b.uuid]},5000);
942
+ format_visual_remove(b.position,"passive",false)
915
943
  });
916
944
  }
917
945
  if (!content['at'] && !content['unmark'] && !content['after'] && !content['wait']) {
@@ -944,15 +972,11 @@ function monitor_instance_state_change(notification) { //{{{
944
972
  monitor_instance_pos();
945
973
  }
946
974
  if (notification == "running") {
947
- // // we cant do that, because the events might not be ordered. so jus remove all the blue ones.
948
- // format_visual_clear();
949
-
950
975
  for (const [key, ele] of Object.entries(node_state)) {
951
976
  for (i=0; i<ele.passive; i++) {
952
977
  format_visual_remove(key,'passive');
953
978
  }
954
979
  }
955
- // save_blue_states has to be left alone, because we dont know the uuid
956
980
  }
957
981
 
958
982
  var but = "";
@@ -1424,15 +1448,18 @@ async function load_testset_handlers(url,testset,vals) {// {{{
1424
1448
  return Promise.all(promises);
1425
1449
  }// }}}
1426
1450
 
1427
- function format_visual_add(what,cls) {//{{{
1451
+ function format_visual_add(what,cls,sum=true) {//{{{
1428
1452
  if (node_state[what] == undefined)
1429
1453
  node_state[what] = {};
1430
1454
  if (node_state[what][cls] == undefined)
1431
1455
  node_state[what][cls] = 0;
1432
1456
  node_state[what][cls] += 1;
1457
+ if (sum == false && node_state[what][cls] > 1) {
1458
+ node_state[what][cls] = 1;
1459
+ }
1433
1460
  format_visual_set(what);
1434
1461
  }//}}}
1435
- function format_visual_remove(what,cls) {//{{{
1462
+ function format_visual_remove(what,cls,sum=true) {//{{{
1436
1463
  if (node_state[what] == undefined)
1437
1464
  node_state[what] = {};
1438
1465
  if (node_state[what][cls] == undefined)
@@ -1440,6 +1467,9 @@ function format_visual_remove(what,cls) {//{{{
1440
1467
  node_state[what][cls] -= 1;
1441
1468
  if (node_state[what][cls] < 0)
1442
1469
  node_state[what][cls] = 0;
1470
+ if (sum == false && node_state[what][cls] < 0) {
1471
+ node_state[what][cls] = 0;
1472
+ }
1443
1473
  format_visual_set(what);
1444
1474
  }//}}}
1445
1475
 
@@ -144,6 +144,9 @@ function modifiers_select() {
144
144
  let it = $(s).attr('value');
145
145
  $('select',r).val(it);
146
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)});
149
+ }
147
150
  save['modifiers_active'][top] = it;
148
151
  }
149
152
  });